本文继续展示帮助你过滤和组织tcpdump返回信息的功能。
基于TCP标志的过滤器
可以根据各种TCP
标志来过滤TCP
流量。这里是一个基于tcp-ack
标志进行过滤的例子。
# tcpdump -i any "tcp[tcpflags] & tcp-ack !=0" -c3
格式化 -X/-A
tcpdump
还可以通过使用-X
选项来调整输出格式,用于十六进制显示,或者使用-A
选项用于ASCII
显示。
# tcpdump -i any -c4 -X
额外的详细选项
对于一些Linux程序,有时拥有更详细的输出是有用的。tcpdump
使用-v
、-vv
或-vvv
来提供不同级别的详细输出。下面展示了从无详细输出到三级详细输出的示例。
默认详细级别:
# tcpdump -i any -c1
使用-v
选项:
# tcpdump -i any -c1 -v
这里是-vv
选项:
# tcpdump -i any -c1 -vv
最后,使用-vvv
选项显示最高级别的详细信息:
# tcpdump -i any -c1 -vvv
按协议(udp/tcp)过滤
你可以使用协议名称来过滤特定协议的数据包。在这个例子中,命令通过UDP进行过滤:
# tcpdump udp -i wlp0s20f3 -c2
在这种情况下,过滤器显示TCP数据:
# tcpdump tcp -i wlp0s20f3 -c2
低详细输出 -q
如果你想要与详细输出相反的效果,使用-q
选项来提供更安静的输出(低详细)。
# tcpdump tcp -i wlp0s20f3 -c2 -q
时间戳选项
打印时间戳的一些常见选项包括:
移除时间戳
-t
选项可以移除时间戳。
# tcpdump tcp -i wlp0s20f3 -c2 -t
连续数据包之间的差异
-ttt
选项显示数据包之间的差异。这些信息用于查看数据包的峰值/减速。
# tcpdump tcp -i wlp0s20f3 -c2 -ttt