Linux抓包工具

tcpdump

tcpdump是功能最强大且使用最广泛的命令行数据包嗅探器或程序包分析器工具,用于捕获或筛选通过网络在特定接口上接收或传输的TCP/IP数据包。它在大多数基于Linux/Unix的操作系统下可用。tcpdump还为我们提供了将捕获的数据包保存在文件中以供将来分析的选项。它以pcap格式保存文件,可以通过tcpdump命令或Wireshark的开源GUI工具查看该文件。

tcpdump常见的使用示例:

捕获指定网卡的数据包

tcpdump -i eth0 

捕获N个数据包

tcpdump -c 5 -i eth0

以ASCII码打印捕获的数据包

tcpdump -A -i eth0

显示可用的网卡

tcpdump -D

以HEX和ASCII显示捕获的数据包

tcpdump -XX -i eth0

捕获并保存到文件

tcpdump -w 001.pcap -i eth0

读取pcap文件

tcpdump -r 001.pcap

仅捕获tcp数据包

tcpdump -i eth0 tcp

捕获指定端口的数据包

tcpdump -i eth0 port 22

捕获指定源IP的数据包

tcpdump -i eth0 src 192.168.0.2

捕获指定目的IP的数据包

tcpdump -i eth0 dst 192.168.0.2