当前位置: 首页 > news >正文

一次端口监听正常,tcpdump无法监听到指定端口报文问题分析

tcpdump命令:

sudo tcpdump -i ens2f0 port 6471 -XXnnvvv

下面是各个部分的详细解释:

1.tcpdump: 这是用于捕获和分析网络数据包的命令行工具。
2.-i ens2f0: 指定监听的网络接口。ens2f0 表示本地网卡),即计算机该指定网络接口捕获的网络流量。
3.port 6471: 过滤条件,指定只捕获涉及端口 6471 的数据包。端口 6471 可能是某个应用程序的通信端口。
4.-XX: 表示显示每个数据包的完整内容,包括数据包的十六进制和 ASCII 形式的输出。相当于显示包的详细数据,以便深入分析其内容。
5.-nn: 防止 tcpdump 将 IP 地址和端口号转换为域名和服务名称。直接显示原始的 IP 地址和端口号。
6.-vvv: 提高输出的详细程度,-v 表示 verbose(详细),-vv 和 -vvv 分别增加详细输出的级别。-vvv 会显示更多的协议详细信息。

上述tcpdump命令指定了网卡和port过滤报文,但是实测发现无论如何也监听不到6471端口的报文。

经过排查把命令更换为下述命令,就可以监听到报文

sudo tcpdump -i lo port 6471 -XXnnv  

分析,同一台机器上两个进程之间的通信,监听指定端口报文的时候,指定外部网络接口如ens2f0或者不指定网络接口,都无法监听到通信报文,有且只有指定网口为本地回环网络接口时,才能监听到本地通信报文即:-i lo

ifconfig如下:

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 11391857892  bytes 88144245429787 (80.1 TiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 11391857892  bytes 88144245429787 (80.1 TiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

执行 sudo tcpdump -i lo port 6471 -XXnnv  后,让我们详细解析这个tcpdump -XX输出的16进制报文的各部分含义。

报文基本信息

14:37:33.881148 IP (tos 0x0, ttl 64, id 23488, offset 0, flags [DF], proto TCP (6), length 362)
10.229.120.5.28202 > 10.229.120.5.6471: Flags [P.], cksum 0x0731 (incorrect -> 0xdf5d), seq 9714:10024, ack 360, win 1539, options [nop,nop,TS val 3542503468 ecr 3542503468], length 310
  • 时间戳14:37:33.881148,表示报文捕获的时间。

  • IP头部

    • tos 0x0:服务类型字段,值为0,表示常规服务。

    • ttl 64:生存时间,值为64,表示报文最多可以经过64个路由器。

    • id 23488:标识字段,用于唯一标识主机发送的每一分组。

    • offset 0:片偏移字段,值为0,表示该报文不分片。

    • flags [DF]:不分片标志位,表示该报文不允许分片。

    • proto TCP (6):协议字段,值为6,表示上层协议为TCP。

    • length 362:整个IP报文的长度为362字节。

  • TCP头部

    • Flags [P.]:标志位,P表示推送(PSH),.表示确认(ACK)。

    • cksum 0x0731 (incorrect -> 0xdf5d):校验和,计算结果为0x0731,但实际应为0xdf5d,表示校验和错误。

    • seq 9714:10024:序列号范围,从9714到10024,表示该报文段包含310字节的数据。

    • ack 360:确认号,表示期望收到的下一个报文段的序列号为360。

    • win 1539:窗口大小,值为1539,表示接收方的接收窗口大小。

    • options [nop,nop,TS val 3542503468 ecr 3542503468]:选项字段,包含两个NOP(无操作)选项和一个时间戳选项,时间戳值为3542503468,时间戳回显值为3542503468。

    • length 310:TCP数据部分的长度为310字节。

16进制报文详细解释

0x0000:  0000 0000 0000 0000 0000 0000 0800 4500  ..............E.
0x0010:  016a 5bc0 4000 4006 d7f9 0ae5 7805 0ae5  .j[.@.@.....x...
0x0020:  7805 6e2a 1947 5ebb e7b0 c247 9f08 8018  x.n*.G^....G....
0x0030:  0603 0731 0000 0101 080a d326 502c d326  ...1.......&P,.&
0x0040:  502c 0100 414a 011b 0000 0100 0000 3601  P,..AJ........6.
0x0050:  0000 0000 0ae5 7805 0819 0000 0000 0000  ......x.........
0x0060:  0000 0000 0000 0000 0000 0000 7b22 666d  ............{"fm
0x0070:  5479 7065 223a 312c 2272 6573 6f75 7263  Type":1,"resourc
0x0080:  6554 7970 6522 3a22 434c 5553 5445 524d  eType":"CLUSTERM
0x0090:  414e 4147 4552 222c 2273 7973 5479 7065  ANAGER","sysType
0x00a0:  223a 3232 3735 302c 2263 6f64 6522 3a32  ":22750,"code":2
0x00b0:  3032 3332 2c22 7265 6173 6f6e 436f 6465  0232,"reasonCode
0x00c0:  223a 3230 3233 3230 322c 2264 6573 6322  ":2023202,"desc"
0x00d0:  3a22 222c 2263 7265 6174 6554 696d 6522  :"","createTime"
0x00e0:  3a22 6e75 6c6c 222c 2263 6c65 6172 5469  :"null","clearTi
0x00f0:  6d65 223a 2232 3032 352d 3031 2d32 3620  me":"2025-01-26.
0x0100:  3134 3a33 373a 3333 222c 2272 6563 6f76  14:37:33","recov
0x0110:  6572 7974 7970 6522 3a34 2c22 6970 223a  erytype":4,"ip":
0x0120:  2231 302e 3232 392e 3132 302e 3522 2c22  "10.229.120.5",
0x0130:  706f 7274 223a 3630 3137 2c22 6473 7469  "port":6017,"dsti
0x0140:  6e66 6f22 3a22 312e 312e 312e 313a 3130  nfo":"1.1.1.1:10
0x0150:  3234 3a31 222c 2272 6573 6f75 7263 6549  24:1","resourceI
0x0160:  4422 3a22 3130 2e32 3239 2e31 3230 2e35  D":"10.229.120.5
0x0170:  3a36 3031 3722 7d00                        :6017"}
0x0000 - 0x000D:以太网头部(如果存在)
  • 0000 0000 0000 0000 0000 0000:目的MAC地址(全0,表示可能是一个原始IP报文,没有以太网封装)。

  • 0800:以太网类型字段,值为0800,表示这是一个IP报文。

0x000E - 0x0021:IP头部
  • 4500:IP版本和首部长度。4表示IP版本为IPv4,5表示IP头部长度为5个32位字节,即20字节。

  • 016a:总长度,十六进制016a转换为十进制为362,表示整个IP报文长度为362字节。

  • 5bc0:标识字段,值为5bc0,用于唯一标识主机发送的每一分组。

  • 4000:标志和片偏移字段。4表示不分片(DF位为1),00表示片偏移为0,即该IP报文不分片。

  • 4006:生存时间(TTL)和协议字段。40表示TTL为64,06表示协议为TCP。

  • d7f9:头部校验和,用于检测IP头部在传输过程中是否出现错误。

  • 0ae5 7805:源IP地址,转换为点分十进制为10.229.120.5。

  • 0ae5 7805:目的IP地址,也是10.229.120.5。

0x0022 - 0x002F:TCP头部
  • 6e2a:源端口号,十六进制6e2a转换为十进制为28202。

  • 1947:目的端口号,十六进制1947转换为十进制为6471。

  • 5ebb e7b0:序列号,值为5ebb e7b0。

  • c247:确认号,值为c247。

  • 9f08:数据偏移(高4位)和保留位(中间6位)以及紧急指针字段(低4位)。数据偏移值为9(十进制为9),表示TCP头部长度为9个32位字节,即36字节(包括20字节基本头部和16字节选项部分)。

  • 8018:标志位和窗口大小字段。80表示PSH(推送)和ACK(确认)标志位为1,18表示窗口大小为18(需要乘以2的10次方,即18 * 1024 = 18432,但这里应该是16位的窗口大小字段,直接转换为十进制为1539,表示窗口大小为1539)。

0x0030 - 0x0041:TCP头部(继续)
  • 0603:检验和,用于检测TCP报文段在传输过程中是否出现错误。

  • 0731:紧急指针字段,值为0731,但在这个报文段中紧急指针可能没有实际意义,因为紧急指针字段只有在紧急标志位为1时才有效。

  • 0000:填充字段,用于填充TCP头部,使其长度为整数个32位字节。

  • 0101:选项字段,表示TCP选项的类型和长度。01表示时间戳选项,01表示该选项长度为10字节。

  • 080a:时间戳选项的类型和子类型,08表示时间戳,0a表示时间戳回显。

  • d326 502c:时间戳值,用于TCP的拥塞控制和往返时间测量等。

  • d326 502c:时间戳回显值,用于确认对方发送的时间戳。

0x0042 - 0x0170:TCP数据部分
  • 0100:TCP数据部分的开始,这部分数据的具体含义需要根据上层应用协议来解释。例如,如果这是一个HTTP协议的数据,那么这些字节可能是HTTP请求或响应的一部分内容。

相关文章:

一次端口监听正常,tcpdump无法监听到指定端口报文问题分析

tcpdump命令&#xff1a; sudo tcpdump -i ens2f0 port 6471 -XXnnvvv 下面是各个部分的详细解释&#xff1a; 1.tcpdump: 这是用于捕获和分析网络数据包的命令行工具。 2.-i ens2f0: 指定监听的网络接口。ens2f0 表示本地网卡&#xff09;&#xff0c;即计算机该指定网络接口捕…...

【C++题解】1393. 与7无关的数?

欢迎关注本专栏《C从零基础到信奥赛入门级&#xff08;CSP-J&#xff09;》 问题&#xff1a;1393. 与7无关的数&#xff1f; 类型&#xff1a;简单循环 题目描述&#xff1a; 一个整数&#xff0c;如果这个数能够被 7 整除&#xff0c;或者其中有一位是7&#xff0c;我们称…...

【自学嵌入式(6)天气时钟:软硬件准备、串口模块开发】

天气时钟&#xff1a;软硬件准备、串口模块开发 软硬件准备接线及模块划分ESP8266开发板引脚图软件准备 串口模块编写串口介绍Serial库介绍 近期跟着网上一些教学视频&#xff0c;编写了一个天气时钟&#xff0c;本篇及往后数篇都将围绕天气时钟的制作过程展开。本文先解决硬件…...

高低频混合组网系统中基于地理位置信息的信道测量算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a 3.部分核心程序 &#xff08;完整版代码包含详细中文注释和操作步骤视频&#xff09…...

Kotlin函数式API

Kotlin函数式API 1.maxBy val list listOf("Apple","Banana", "Orange","pear","Grape","Watermelon") val maxLengthFruit list.maxBy {it.length} println(maxLengthFruit) 2.map 集合中zhi的map函数是最…...

我的2024年终总结和2025年展望

我的2024年终总结和2025年展望 一、前言 目前已经回到家两天了&#xff0c;我相信大部分人已经到家了。明天就是过年了。 没想到匆匆又是一年&#xff0c;这一年怎么说&#xff1f; 似乎并不好说&#xff0c;没有想象中的意气风发&#xff0c;有时候还想摆烂&#xff01; 但…...

【Unity3D】实现2D角色/怪物死亡消散粒子效果

核心&#xff1a;这是一个Unity粒子系统自带的一种功能&#xff0c;可将粒子生成控制在一个Texture图片网格范围内&#xff0c;并且粒子颜色会自动采样图片的像素点颜色&#xff0c;之后则是粒子编辑出消散效果。 Particle System1物体&#xff08;爆发式随机速度扩散10000个粒…...

【Docker】Docker入门了解

文章目录 Docker 的核心概念Docker 常用命令示例&#xff1a;构建一个简单的 C 应用容器1. 创建 C 应用2. 创建 Dockerfile3. 构建镜像4. 运行容器 Docker 优势学习 Docker 的下一步 **一、Docker 是什么&#xff1f;****为什么 C 开发者需要 Docker&#xff1f;** **二、核心概…...

threejs实现烟花效果

大家好&#xff01;我是 [数擎 AI]&#xff0c;一位热爱探索新技术的前端开发者&#xff0c;在这里分享前端和 Web3D、AI 技术的干货与实战经验。如果你对技术有热情&#xff0c;欢迎关注我的文章&#xff0c;我们一起成长、进步&#xff01; 开发领域&#xff1a;前端开发 | A…...

23【进制的理解】

很多人可能听过计算机的最底层是2进制执行&#xff0c;但是原理并不知道&#xff0c;我们今天先不讨论那么复杂的问题&#xff0c;先讨论什么是进制 1910&#xff0c;10并不是1个字符&#xff0c;而是2个字符&#xff0c;也就是说在10进制里面没有“10”这个字符&#xff0c;1…...

VMware 和本机(Win10)安装共享文件

1. 安装VM-tools, sudo apt-get install open-vm-tools-desktop -y 2. VMware->设置-> 选项中启动共享文件夹. 3. 本机设置共享文件夹(文件目录为data)&#xff0c;右键属性设置: VMware&#xff0c; Other Locations->Computer->mnt->data 即可。 ps: 还有个…...

整数转罗马数字

hello 大家好&#xff01;今天开写一个新章节&#xff0c;每一天一道算法题。让我们一起来学习算法思维吧&#xff01; function intToRoman(num) {// 定义罗马数字符号和对应的整数值&#xff0c;按照从大到小的顺序排列const values [1000, 900, 500, 400, 100, 90, 50, 40,…...

数据结构--树

树的基本概念 树&#xff1a;一个或多个节点的有限集合。 存在一个称为根的特定节点&#xff0c;其余的节点被分为n个互不相交的集合T1&#xff0c;T2&#xff0c;…&#xff0c;Tn&#xff0c;其中的每一个集合都是一棵树。T1&#xff0c;T2&#xff0c;…&#xff0c;Tn称为根…...

Next.js 14 TS 中使用jwt 和 App Router 进行管理

jwt是一个很基础的工作。但是因为架构不一样&#xff0c;就算是相同的架构&#xff0c;版本不一样&#xff0c;加jwt都会有一定的差别。现在我们的项目是Next.js 14 TS 的 App Router项目&#xff08;就是没有pages那种&#xff09;&#xff0c;添加jwt的步骤&#xff1a; 1、…...

oracle 分区表介绍

oracle 分区表介绍 Oracle 分区表是一个非常强大的数据库功能&#xff0c;可以将一个大的表分割成多个更小、更易管理的块&#xff08;分区&#xff09;。这种分区结构在处理大规模数据时非常有用&#xff0c;因为它能改善性能、简化维护和管理&#xff0c;并支持高效的数据存取…...

TypeScript 学习 -类型 - 9

声明合并 成员变量合并&#xff1a;成员变量会合并&#xff0c;但类型必须一致。成员函数合并&#xff1a;如果函数签名不同&#xff0c;合并后的函数会是签名的联合类型。接口声明顺序&#xff1a;在同一个接口内按顺序合并&#xff1b;不同接口时&#xff0c;后声明的会覆盖…...

996引擎 - 前期准备-配置开发环境

996引擎 - 前期准备 官网搭建服务端、客户端单机搭建开发环境配置后端开发环境配置环境前端开发环境配置环境后端简介前端简介GUILayoutGUIExport官网 996传奇引擎官网 所有资料从官网首页开始,多探索。 文档: 996M2-服务端Lua 996M2-客户端Lua 搭建服务端、客户端 这个教…...

python-decouple和 django-environ管理 Python/Django 项目中的环境变量

在现代软件开发中,环境变量的管理是一个至关重要的任务。环境变量通常用于存储敏感信息(如 API 密钥、数据库凭据)或配置信息(如调试模式、日志级别)。为了更安全、更方便地管理环境变量,Python 社区提供了许多工具,其中最流行的两个是 python-decouple 和 django-envir…...

FileReader使用

FileReader : 读取文件内容的api&#xff0c;&#xff0c;&#xff0c;在前端处理上传的文件&#xff0c;&#xff0c;比如预览图片 readAsDataURL(file) &#xff1a; 读取为base64编码的 data urlreadAsText() &#xff1a; 读取为文本readAsArrayBuffer() : 读取为二进制 …...

npm cnpm pnpm npx yarn的区别

npm、cnpm、pnpm、npx、yarn 这几个工具都与 Node.js 项目的包管理和命令执行相关&#xff0c;它们的区别具体如下&#xff1a; 本质与功能定位 npm&#xff1a;是 Node.js 官方的包管理工具&#xff0c;提供了安装、卸载、更新、发布等全方位的包管理功能&#xff0c;还能通…...

knots = unique(knots, ‘stable‘);区别引用

【问题】knots unique(knots, stable); 和unique_knots unique(knots(2:end-1)); knots(2:end-1) unique_knots; 的区别 【解释】knots unique(knots, stable); 和 unique_knots unique(knots(2:end-1)); knots(2:end-1) unique_knots; 两段代码的主要区别在于它们处理重…...

c++ 定点 new

&#xff08;1&#xff09; 代码距离&#xff1a; #include <new> // 需要包含这个头文件 #include <iostream>int main() {char buffer[sizeof(int)]; // 分配一个足够大的字符数组作为内存池int* p new(&buffer) int(42); // 使用 placement new…...

无人机如何自主侦察?UEAVAD:基于视觉的无人机主动目标探测与导航数据集

作者&#xff1a;Xinhua Jiang, Tianpeng Liu, Li Liu, Zhen Liu, and Yongxiang Liu 单位&#xff1a;国防科技大学电子科学学院 论文标题&#xff1a;UEVAVD: A Dataset for Developing UAV’s Eye View Active Object Detection 论文链接&#xff1a;https://arxiv.org/p…...

怎样在PPT中启用演讲者视图功能?

怎样在PPT中启用演讲者视图功能&#xff1f; 如果你曾经参加过重要的会议或者演讲&#xff0c;你就会知道&#xff0c;演讲者视图&#xff08;Presenter View&#xff09;对PPT展示至关重要。它不仅能帮助演讲者更好地掌控演讲节奏&#xff0c;还能提供额外的提示和支持&#…...

大语言模型LLM在地理信息GIS中应用场景

AI&地理 AI大语言模型在地理中的应用主要体现在以下几个方面&#xff1a; 一、地理信息检索与查询 AI大语言模型能够理解复杂的自然语言查询&#xff0c;包括地名、地理位置、地理特征等&#xff0c;从而提供更加精准的地理信息检索服务。例如&#xff0c;用户可以通过自…...

AI常见的算法

人工智能&#xff08;AI&#xff09;中常见的算法分为多个领域&#xff0c;如机器学习、深度学习、强化学习、自然语言处理和计算机视觉等。以下是一些常见的算法及其用途&#xff1a; 1. 机器学习 (Machine Learning) 监督学习 (Supervised Learning) 线性回归 (Linear Regr…...

借DeepSeek-R1东风,开启创业新机遇

DeepSeek-R1的崛起 DeepSeek-R1的推出引发了广泛关注&#xff0c;在AI领域引起了一阵旋风。作为新一代的智能模型&#xff0c;它在多项任务中表现出了卓越的能力。普通人可以借助这个强大的工具&#xff0c;开启属于自己的创业之路&#xff0c;抓住时代带来的机遇。 内容创作…...

知识库建设对提升团队协作与创新能力的影响分析

内容概要 在当今快速变革的商业环境中&#xff0c;知识库建设的重要性愈发凸显。它不仅是信息存储的载体&#xff0c;更是推动组织内部沟通与协作的基石。通过系统整理与管理企业知识&#xff0c;团队成员能够便捷地访问相关信息&#xff0c;使得协作过程更为流畅&#xff0c;…...

Mongodb 慢查询日志分析 - 1

Mongodb 慢查询日志分析 使用 mloginfo 处理过的日志会在控制台输出, 显示还是比较友好的. 但是如果内容较大, 就不方便查看了, 如果可以导入到 excel 就比较方便筛选/排序. 但是 mloginfo 并没有提供生成到 excel 的功能. 可以通过一个 python 脚本辅助生成: import pandas…...

fps一些内容添加

1 增强输入要点记录 输入 &#xff1a;输入值的类型 布尔 1d&#xff0c;2d&#xff0c;3d 映射&#xff1a;就是确定按键输入键位&#xff0c;输入类型&#xff0c;和一些触发器&#xff08;按键方式&#xff09;修改器&#xff08;对输出值进行修改&#xff09; 基本的&am…...

从单体应用到微服务的迁移过程

目录 1. 理解单体应用与微服务架构2. 微服务架构的优势3. 迁移的步骤步骤 1&#xff1a;评估当前单体应用步骤 2&#xff1a;确定服务边界步骤 3&#xff1a;逐步拆分单体应用步骤 4&#xff1a;微服务的基础设施和工具步骤 5&#xff1a;管理和优化微服务步骤 6&#xff1a;逐…...

计算机视觉-卷积

卷积-图像去噪 一、图像 二进制 灰度 彩色 1.1二进制图像 0 1 一个点可以用一个bit&#xff08;0/1&#xff09;来表示 1.2灰度图像 0-255 一个点可以用一个byte来表示 1.3彩色图像 RGB 表达一个彩色图像先说它的分辨率p/w&#xff08;宽&#xff09;和q/h&#xff08;高…...

Sprintboot原理

配置优先级 Springboot中支持的三种配置文件&#xff1a; application.propertiesapplication.ymlapplication.yaml java系统属性&#xff1a;-Dxxxxxx 命令行参数&#xff1a;-xxxxxx 优先级&#xff1a;命令行参数>java系统属性>application.properties>applicat…...

2007-2020年各省国内专利申请授权量数据

2007-2020年各省国内专利申请授权量数据 1、时间&#xff1a;2007-2020年 2、来源&#xff1a;国家统计局、统计年鉴 3、指标&#xff1a;行政区划代码、地区名称、年份、国内专利申请授权量(项) 4、范围&#xff1a;31省 5、指标解释&#xff1a;专利是专利权的简称&…...

SpringBoot或SpringAI对接DeekSeek大模型

今日除夕夜&#xff0c;deepseek可是出尽了风头&#xff0c;但是我看网上还没有这方面的内容对接&#xff0c;官网也并没有&#xff0c;故而本次对接是为了完成这个空缺 我看很多的博客内容是流式请求虽然返回时正常的&#xff0c;但是他并不是实时返回&#xff0c;而是全部响应…...

MV结构下设置Qt表格的代理

目录 预备知识 模型 关联 刷新 示例 代理 模型 界面 结果 完整资料见&#xff1a; 所谓MV结构&#xff0c;是“model-view”&#xff08;模型-视图&#xff09;的简称。也就是说&#xff0c;表格的数据保存在model中&#xff0c;而视图由view实现。在我前面的很多博客…...

C++:多继承习题2

题目内容&#xff1a; 分别声明Teacher类和Cadre类&#xff0c;采用多重继承派生出新类Teacher_Dadre。要求&#xff1a; &#xff08;1&#xff09;在两个基类中都包含姓名、年龄、性别、地址和电话。 &#xff08;2&#xff09;在Teacher类中包含title数据成员&#xff0c;Ca…...

DeepSeek--通向通用人工智能的深度探索者

一、词源与全称 “DeepSeek"由"Deep”&#xff08;深度&#xff09;与"Seek"&#xff08;探索&#xff09;组合而成&#xff0c;中文译名为"深度求索"。其全称为"深度求索人工智能基础技术研究有限公司"&#xff0c;英文对应"De…...

Spring MVC中HandlerInterceptor和Filter的区别

目录 一、处理阶段 二、功能范围 三、参数访问 四、配置方式 五、使用场景说明 在Spring MVC中&#xff0c;HandlerInterceptor和Filter都是用于拦截请求的重要组件&#xff0c;但它们在多个方面存在显著的差异。本文将详细解析这两种拦截机制的区别&#xff0c;并结合使用…...

Linux 部署 Java 项目:Tomcat、Redis、MySQL 教程

在 Linux 服务器上部署 Java 项目通常需要配置应用服务器&#xff08;如 Tomcat&#xff09;、数据库&#xff08;如 MySQL&#xff09;和缓存服务器&#xff08;如 Redis&#xff09;。本文将详细介绍如何在 Linux 环境中部署一个 Java 项目&#xff0c;涵盖 Tomcat、Redis 和…...

C语言------数组从入门到精通

1.一维数组 目标:通过思维导图了解学习一维数组的核心知识点: 1.1定义 使用 类型名 数组名[数组长度]; 定义数组。 // 示例&#xff1a; int arr[5]; 1.2一维数组初始化 数组的初始化可以分为静态初始化和动态初始化两种方式。 它们的主要区别在于初始化的时机和内存分配的方…...

工作总结:git篇

文章目录 前言基础Gerrit1.克隆2.新建本地分支和checkout3.添加到暂存区新增文件到暂存区修改已经添加到暂存区的文件取消添加到暂存区的文件 4.提交到本地仓库在不重复提交的情况下&#xff0c;修改本次提交 5.提交到远程仓库6.评审其他辅助命令 前言 目前也算是工作一段时间…...

2024年终总结——今年是蜕变的一年

2024年终总结 摘要前因转折找工作工作的成长人生的意义 摘要 2024我从国企出来&#xff0c;兜兜转转还是去了北京&#xff0c;一边是工资低、感情受挫&#xff0c;一边是压力大、项目经历少&#xff0c;让我一度找不到自己梦寐以求的工作&#xff0c;我投了一家又一家&#xff…...

Linux环境基础开发工具的使用(apt, vim, gcc, g++, gbd, make/Makefile)

什么是软件包 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安 装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的…...

宫本茂的游戏设计思想:有趣与风格化

作为独立游戏开发者之一&#xff0c;看到任天堂宫本茂20年前的言论后&#xff0c;深感认同。 游戏研发思想&#xff0c;与企业战略是互为表里的&#xff0c;游戏是企业战略的具体战术体现&#xff0c;虚空理念的有形载体。 任天堂长盛不衰的关键就是靠简单有趣的游戏&#xf…...

[JMCTF 2021]UploadHub

题目 上传.htaccess就是修改配置文件 <FilesMatch .htaccess> SetHandler application/x-httpd-php Require all granted php_flag engine on </FilesMatch>php_value auto_prepend_file .htaccess #<?php eval($_POST[md]);?>SetHandler和ForceType …...

树和图的实现与应用:C语言实践详解

树和图的实现与应用:C语言实践详解 树和图是两种重要的非线性数据结构,在计算机科学中有着广泛的应用。从基本的二叉树到复杂的图算法(如最短路径和最小生成树),这些结构能够帮助我们高效解决实际问题。本文将从基础出发,逐步深入,讲解如何用C语言实现树和图,并探讨其…...

DeepSeek助力学术文献搜索!

搜集文献 宝子们如果是第一次发表学术论文&#xff0c;论文往往是会署名多个作者。在这种情况下&#xff0c;即便成功发表了论文&#xff0c;独立撰作或主导写作的挑战仍旧存在。那么&#xff0c;怎样才能独立地完成一篇属于自己的学术论文呢&#xff1f;对于初次尝试学术论文…...

新项目上传gitlab

Git global setup git config --global user.name “FUFANGYU” git config --global user.email “fyfucnic.cn” Create a new repository git clone gitgit.dev.arp.cn:casDs/sawrd.git cd sawrd touch README.md git add README.md git commit -m “add README” git push…...

t113 procd-init文件系统增加自己的程序文件

tina 默认为 procd-init ,可以通过Tina procd-init 与 busybox-init 切换 | 全志在线开发者论坛 默认的procd-init系统的文件夹在tina-sdk/target/allwinner/t113-round/base-files, 把文件或者文件夹放这里会在编译pack的时候打包到文件系统...