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

words475
tagsnetwork
lastmod2023-07-09
footer test line hide