当前位置: 首页> 娱乐> 影视 > 如何开发一个app软件_泰安九五兴昇网络科技_seo类目链接优化_windows优化大师怎么用

如何开发一个app软件_泰安九五兴昇网络科技_seo类目链接优化_windows优化大师怎么用

时间:2025/7/13 17:55:42来源:https://blog.csdn.net/qq_31604337/article/details/147228894 浏览次数:0次
如何开发一个app软件_泰安九五兴昇网络科技_seo类目链接优化_windows优化大师怎么用

说明

TCP协议的Header信息,URG、ACK、PSH、RST、SYN、FIN这6个字段在14字节的位置,对应的是tcp[13],因为字节数是从[0]开始数的,14字节对应的就是tcp[13],因此在抓这几个标志位的数据包时就要明确范围在tcp[13]

示例1

​抓取 eth0 网卡上所有 SSH(端口 22) 的 SYN 包(TCP 连接请求包),但不包含 SYN-ACK 包(即仅抓取初始的 SYN 请求)。​

tcpdump  -i  eth0  port 22  and 'tcp[13] & 2 !=0' and 'tcp[13] & 16=0' -n

  1. -n

    • 不将 IP 地址和端口号解析为主机名和服务名(直接显示数字形式,提高抓包效率)。

  2. -i eth0

    • 指定抓取 eth0 网卡上的流量。

  3. port 22

    • 只抓取 ​​SSH(端口 22)​​ 相关的流量。

  4. ​​'tcp[13] & 2 != 0'​​

    • 检查 TCP 头部第 14 字节(tcp[13],因为字节从 0 开始计数)的第 2 位(SYN 标志位),2是SYN置1时对应的10进制数字

    • & 2 是位运算,检查 SYN 位是否被置 1。

    • != 0 表示 SYN 标志位为 1(即该包是 ​​SYN 包​​)。

  5. ​​'tcp[13] & 16 = 0’​​

    • 检查 TCP 头部第 14 字节的第 5 位(ACK 标志位)。

    • & 16 是位运算,检查 ACK 位是否被置 1,ACK置1时对应的10进制数字就是16

    • = 0 表示 ACK 标志位为 0(即该包 ​​不是 ACK 包​​)。

示例2

看下面这个例子,只抓syn+ack的包

tcpdump -ni eth0 port 22 and 'tcp[13] & 18 = 18'  

1. ‘tcp[13] & 18 =18’

tcp[13]表示第14个字节,二进制表示为 11 11 11 11

第一个18表示syn与ack同时置1的10进制,对应的二进制是 00 01 00 10

这两者进行与运算,11 11 11 11 & 00 01 00 10 = 00 01 00 10 换算成10进制就是18

2. 上步说明中的00 01 00 10分别代表什么意思,我们再进一步说明

第一个00 表示保留位,8位一字节,标志位只有6个因此要增加两个0凑成一个字节

01 其中0便是URG、1是ACK

00 表示PSH、RST都置0

10 表示SYN置1,FIN置0

3. 为什么  'tcp[13] & 18 != 0' 不仅能抓到syn+ack的包还能抓到很多其他包

原因是 & 18表示的是syn或者ack至少一个置1,因此抓到的包比较宽泛,包括syn、syn+ack、ack

关键字:如何开发一个app软件_泰安九五兴昇网络科技_seo类目链接优化_windows优化大师怎么用

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: