使用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):
<font face="Courier New">tcpdump -i any port 80</font>
如果你想监听HTTPS流量,可将端口改为443:
<font face="Courier New">tcpdump -i any port 443</font>

如果只想抓取目的端口为某个值的数据包:
<font face="Courier New">tcpdump -i any dst port 22</font>
如果只想抓取源端口为某个值的数据包:
<font face="Courier New">tcpdump -i any src port 53</font>

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

使用-w选项将数据包保存为pcap格式,便于后续分析:
<font face="Courier New">tcpdump -i any port 80 -w http_traffic.pcap</font>
之后可以用Wireshark打开,或用tcpdump读取:
<font face="Courier New">tcpdump -r http_traffic.pcap</font>
添加-v、-vv或-vvv可增加输出详细程度,-c用于限制抓包数量:
<font face="Courier New">tcpdump -i any port 22 -vv -c 10</font>
这条命令表示:详细显示前10个SSH数据包。
基本上就这些。掌握端口过滤语法后,就能快速定位服务通信问题,排查异常连接或分析协议行为。注意运行tcpdump通常需要root权限或cap_net_raw能力。不复杂但容易忽略的是方向性——默认port会匹配双向,如需精确控制要用src或dst。
以上就是Linux怎么使用tcpdump抓取特定端口流量的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号