tcpdump
语法
tcpdump [OPTION] [FILTER]
选项
常规选项:
-
-i INTERFACE: 指定网络设备
-
-n 不进行域名解析,显示IP
-
-nn 显示IP和端口
-
-c N 抓包数量
-
-P in|out|inout 指定抓的是流入还是流出包
输出选项:
-
-e 显示源,目的MAC地址
-
-q 输出精简信息
-
-X, -XX 输出包的头部数据
-
-v, -vv, -vv 产生详细输出
其他选项:
-
-D 列出抓包接口,可用于
-i
选项 -
-F 从文件中读取过滤条件
-
-w FILE.cap 将抓包数据输出到文件,而不是标准输出
-
-r 从文件中读取数据
过滤条件
-
过滤主机:
[src|dst] host IP
-
过滤端口:
[src|dst] port PORT
-
网络过滤:
[src|dst] net NET_ADDRESS
-
协议过滤:
arp|ip|tcp|udp|icmp
逻辑表达式
-
!, not
-
&&, and
-
||, or
tcpdump中对TCP头部控制字段的表示
CWR | ECE | URG | ACK | PSH | RST | SYN | FIN |
---|---|---|---|---|---|---|---|
W | E | U | . | P | R | S | F |
案例
抓取所有经过eth1,目的地址是192.168.1.254或192.168.1.200端口是80的TCP数据
tcpdump -i eth1 '((tcp) and (port 80) and ((dst host 192.168.1.254) or (dst host 192.168.1.200)))'