tcpdump的使用
tcpdump的语法格式
1
tcpdump [option] [proto] [dirction] [type]
option: 可选参数
proto: 协议过滤器,可识别的关键字有
http, tcp, udp, icmp, ip, ip6, arp, rarp
type: 类型过滤器。可识别的关键词
host, net, port, portrange。这些词后面还需要再接参数
direction: 数据流向过滤器,可识别的关键字
src, dst, src or dst
常用过滤规则
基于host过滤
1
2
tcpdump host 1.1.1.1
tcpdumo host www.baidu.com
基于网段进行过滤
1
2
3
tcpdump net 192.168.1.0/24
# 指定原地址是某个网段
tcpdump src net 192.168
基于端口过滤
1
2
3
4
5
6
7
tcpdump port 8088
# 监视多个端口
tcpdump port 80 or port 8080
# 监视范围内的端口
tcpdump portrange 80-8080
# 指定目的端口号
tcpdump dst port 80
基于协议过滤
1
2
3
tcpdump icmp
tcpdump udp
tcpdump 'ip && tcp'
常用过滤规则如果添加多个过滤规则用and或者or连接
可选参数解析
监视指定网卡的数据包
1
2
3
tcpdump -i eth0
# 监听所有网卡
tcpdump -i any
如果不指定网卡,tcpdump一般只会监视第一个网卡,即eth0
不把ip地址和端口号转换为名字
1
2
# 会以数字的形式显示端口号
tcpdump -nn port 80
过滤结果输出到文件
1
2
# 过滤结果输出到指定文件中
tcpdump icmp -w icmp.pcap
从文件中读取数据包数据
1
tcpdump icmp -r all.pcap
指定抓包截取的前多少字节(默认96)
1
2
3
tcpdump -s 100
# 0表示截取报文全部内容
tcpdump -s 0
抓取指定个数的数据包
1
tcpdump -c 10
其它过滤方式
基于包大小进行过滤
1
2
3
tcpdump less 32
tcpdump greater 64
tcpdump <= 128