要说捕获指定流量,dumpcap绝对是个趁手的工具。它有几种不同的操作方式,大家可以根据自己的习惯来选择。

方法一:通过命令行参数指定
这是最直接的方式,适合喜欢命令行操作的朋友。
- 打开命令行:Windows上可以用CMD或PowerShell;Linux或macOS用户直接开Terminal就行。
- 运行下面这个格式的命令:
dumpcap -i-w -c -s [其他选项]
几个参数说明:
:指定网卡接口,比如eth0或wlan0。:输出文件名,比如capture.pcap。:单个数据包最大抓取长度,默认65535字节基本够用。-s:可选,用于指定快照长度。
举个例子:
dumpcap -i eth0 -w capture.pcap -c 65535
方法二:使用过滤器
如果你只想抓特定类型的流量(比如HTTP或DNS),加个过滤器就行,省得在成千上万个包里翻找。
- 命令格式加上
-f参数:
dumpcap -i-w -c -s -f " "
比如只抓HTTP流量:
dumpcap -i eth0 -w capture_http.pcap -c 65535 -s 65535 -f "tcp port 80"
过滤器表达式可以按需调整,熟悉BPF语法的话,玩法就更多了。
方法三:使用Wireshark图形界面
如果你更习惯图形化操作,Wireshark自然是首选,毕竟它是dumpcap的亲爹(实际上Wireshark底层就用了dumpcap)。
- 启动Wireshark。
- 选择要监听的网络接口。
- 点“开始”按钮,捕获就启动了。
- 如果只想过滤特定流量,在过滤器栏输入表达式(比如
tcp.port == 80)。 - 想停的时候点“停止”即可。
注意事项
- 捕获网络流量通常需要管理员或root权限,不然可能看不到接口或者抓不到包。
- 流量越大,生成的pcap文件膨胀得越快,建议提前想好存储位置,尤其是长时间抓包时。
- 过滤器表达式可以玩得很灵活——除了端口,还能根据IP、协议、甚至包大小来筛选。
掌握这几种方法,大部分抓包场景都能应付了。