tcpdump的简单使用
Tcpdump 是一个常用的网络数据包抓取工具,可以在 Linux/Unix 和其他类 Unix 操作系统中使用。它可以嗅探网络接口上的数据包,并将它们写入文件或输出到屏幕上。以下是 tcpdump 的基本使用教程:
-
命令格式:
tcpdump [选项] [表达式] -
常用选项:
-i:指定抓取数据包的网络接口。-n:以数字形式显示 IP 地址。-s:设置抓取数据包的最大长度(单位为字节)。-w:将抓取的数据包写入文件。-r:读取一个保存的数据包文件。
-
表达式:
表达式是指定需要抓取的数据包的条件。以下是一些常用的表达式:
host:指定抓取某个主机发送或接收的所有数据包。port:指定抓取某个端口发送或接收的所有数据包。tcp:指定抓取 TCP 数据包。udp:指定抓取 UDP 数据包。icmp:指定抓取 ICMP 数据包。and: 使用 and 语句or: 使用 or 语句not: 使用 not 语句len: 指定现实数据包的长度src/dst: 指定源地址和目标地址例如,以下命令将从
eth0接口抓取所有来自主机192.168.1.100的TCP数据包并将它们输出到屏幕上:tcpdump -i eth0 host 192.168.1.100 and tcp常见的表达式:
src host 192.168.1.100 # 发起连接的地址为 192.168.1.100 的数据包 tcp port 80 or udp port 53 # TCP 端口为80和 UDP 端口为53的数据包 -
示例:
a. 抓取数据包并输出到屏幕上:
tcpdumpb. 抓取 eth0 接口上所有主机的 ICMP 数据包:
tcpdump -i eth0 icmpc. 抓取来自 192.168.1.100 的所有 TCP 数据包并将它们写入文件:
tcpdump -i eth0 host 192.168.1.100 and tcp -w packets.txtd. 读取已保存的数据包文件并输出到屏幕上:
tcpdump -r packets.txt

浙公网安备 33010602011771号