加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何使用tcpdump仅过滤保持活动包

发布时间:2020-12-13 17:13:49 所属栏目:Linux 来源:网络整理
导读:我需要分析网络上的流量转储,以检查是否所有PC都启用了tcp keep-live功能. 我正在为此目的使用tcpdump. 我需要知道的是,是否有可能只对保持活动数据包进行过滤. 在Windows上我看到wireshark可以做到这一点,但在我的linux系统上,它只有控制台模式,我不知道如
我需要分析网络上的流量转储,以检查是否所有PC都启用了tcp keep-live功能.
我正在为此目的使用tcpdump.

我需要知道的是,是否有可能只对保持活动数据包进行过滤.

在Windows上我看到wireshark可以做到这一点,但在我的linux系统上,它只有控制台模式,我不知道如何过滤那种数据包.

解决方法

keepalive探针是一个没有数据的数据包,ACK标志打开
tcpdump -pni $intf -v "tcp port $port and ( tcp[tcpflags] & tcp-ack != 0 and ( (ip[2:2] - ((ip[0]&0xf)<<2) ) - ((tcp[12]&0xf0)>>2) ) == 0 ) "

这是做什么的:

>按位,在tcp标志字段和tcp-ack之间,以确保它是一个ACK
> IP数据包长度(以字节为单位) – IP标头长度 – TCP标头长度,以确保它没有数据

免责声明:没有经过实际测试,但应该指出你的方向

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读