使用port关键字可抓取特定端口双向流量,如tcpdump -i any port 80;通过src port或dst port区分方向,or操作符可监听多端口,-w保存数据包,-r读取文件,-v增加详细程度,-c限制数量,需root权限。

要使用tcpdump抓取特定端口的网络流量,可以通过端口号配合过滤表达式来实现。tcpdump支持BPF(Berkeley Packet Filter)语法,能精确匹配源端口、目的端口或任意方向的端口通信。
抓取指定端口的所有流量
使用port关键字可以捕获特定端口的双向流量。例如,抓取所有与80端口相关的通信(包括源端口或目的端口为80):
tcpdump -i any port 80
如果你想监听HTTPS流量,可将端口改为443:
tcpdump -i any port 443

区分源端口和目的端口
如果只想抓取目的端口为某个值的数据包:
tcpdump -i any dst port 22
如果只想抓取源端口为某个值的数据包:
tcpdump -i any src port 53

同时抓取多个端口
使用or操作符可以监听多个端口。例如,同时抓取80和443端口:
tcpdump -i any port 80 or port 443
也可以写成:
tcpdump -i any 'port 80 || port 443'

保存抓包结果到文件
使用-w选项将数据包保存为pcap格式,便于后续分析:
tcpdump -i any port 80 -w http_traffic.pcap
之后可以用Wireshark打开,或用tcpdump读取:
tcpdump -r http_traffic.pcap
显示详细信息并限制抓包数量
添加-v、-vv或-vvv可增加输出详细程度,-c用于限制抓包数量:
tcpdump -i any port 22 -vv -c 10
这条命令表示:详细显示前10个SSH数据包。
基本上就这些。掌握端口过滤语法后,就能快速定位服务通信问题,排查异常连接或分析协议行为。注意运行tcpdump通常需要root权限或cap_net_raw能力。不复杂但容易忽略的是方向性——默认port会匹配双向,如需精确控制要用src或dst。
以上就是Linux怎么使用tcpdump抓取特定端口流量的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/202795.html
微信扫一扫
支付宝扫一扫