tcpdump是一个命令行网络抓包工具,用于在 Linux/Unix 系统上捕获网络数据包。
它可以抓取传输层(TCP、UDP)以上的网络数据包,并将抓包结果以可读的方式呈现给用户。tcpdump的主要功能包括:
捕获网络数据包:tcpdump 可以捕获本机网卡接收和发送的数据包,也可以通过远程捕获模式抓取远程主机的网络流量。
过滤数据包:tcpdump 可以使用 BPF(Berkley Packet Filter)过滤器语言来过滤捕获的数据包,只显示感兴趣的数据包。
以不同格式输出数据包:tcpdump 可以将捕获的数据包以不同的格式输出,包括 ASCII、十六进制、TCPdump、Libpcap 等格式。
支持多种协议:tcpdump 可以捕获多种协议的数据包,包括 ICMP、ARP、RARP、IP、TCP、UDP、HTTP、FTP、SMTP 等。
下面具体说一下tcpdump的基本使用方法:
1.捕获本机接口的数据包:
css
sudo tcpdump -i eth0
2.捕获远程主机的数据包:
css
sudo tcpdump -i eth0 host 192.168.1.2
3.根据协议类型过滤数据包:
css
sudo tcpdump -i eth0 tcp
sudo tcpdump -i eth0 udp
sudo tcpdump -i eth0 icmp
4.根据端口号过滤数据包:
css
sudo tcpdump -i eth0 port 80
5.根据源地址或目标地址过滤数据包:
css
sudo tcpdump -i eth0 src 192.168.1.2
sudo tcpdump -i eth0 dst 192.168.1.2
以上仅是tcpdump的基本使用方法,如果遇到问题,更详细的用法可以通过man手册或官方文档进行了解。