在Linux中,dumpcap 是一个命令行工具,用于捕获网络接口上的数据包。如果你想要筛选数据包,可以使用 -w 选项将捕获的数据包写入文件,然后使用 wireshark 或 tshark 等工具进行筛选和分析。
以下是一些使用 dumpcap 和 tshark 筛选数据包的方法:
sudo dumpcap -i eth0 -w output.pcap
这将捕获 eth0 接口上的所有数据包,并将它们保存到名为 output.pcap 的文件中。
tshark 是 Wireshark 的命令行版本,它提供了许多与 Wireshark 相同的功能,包括筛选数据包。
tshark -r output.pcap -Y "http"
这将显示 output.pcap 文件中所有 HTTP 协议的数据包。
tshark -r output.pcap -Y "ip.src == 192.168.1.1"
这将显示 output.pcap 文件中所有源 IP 地址为 192.168.1.1 的数据包。
tshark -r output.pcap -Y "ip.dst == 192.168.1.1"
这将显示 output.pcap 文件中所有目标 IP 地址为 192.168.1.1 的数据包。
tshark -r output.pcap -Y "tcp.port == 80"
这将显示 output.pcap 文件中所有目标端口为 80 的 TCP 数据包。
tshark 支持使用过滤器表达式来筛选数据包。过滤器表达式的语法类似于 Wireshark 的显示过滤器。
例如,要筛选源 IP 地址为 192.168.1.1 且目标端口为 80 的 TCP 数据包,可以使用以下命令:
tshark -r output.pcap -Y "ip.src == 192.168.1.1 && tcp.port == 80"
更多关于 tshark 和过滤器表达式的信息,请参阅 Wireshark 文档。