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

前端之家收集整理的这篇文章主要介绍了linux – 如何使用tcpdump仅过滤保持活动包前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要分析网络上的流量转储,以检查是否所有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标头长度,以确保它没有数据

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

猜你在找的Linux相关文章