..

tcpdump的使用

//// uid: 77439bab ////

tcpdump的语法格式

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过滤

tcpdump host 1.1.1.1
tcpdumo host www.baidu.com

基于网段进行过滤

tcpdump net 192.168.1.0/24
# 指定原地址是某个网段
tcpdump src net 192.168

基于端口过滤

tcpdump port 8088
# 监视多个端口
tcpdump port 80 or port 8080
# 监视范围内的端口
tcpdump portrange 80-8080
# 指定目的端口号
tcpdump dst port 80

基于协议过滤

tcpdump icmp
tcpdump udp
tcpdump 'ip && tcp'

常用过滤规则如果添加多个过滤规则用and或者or连接

可选参数解析

监视指定网卡的数据包

tcpdump -i eth0
# 监听所有网卡
tcpdump -i any

如果不指定网卡,tcpdump一般只会监视第一个网卡,即eth0

不把ip地址和端口号转换为名字

# 会以数字的形式显示端口号
tcpdump -nn port 80

过滤结果输出到文件

# 过滤结果输出到指定文件中
tcpdump icmp -w icmp.pcap

从文件中读取数据包数据

tcpdump icmp -r all.pcap

指定抓包截取的前多少字节(默认96)

tcpdump -s 100
# 0表示截取报文全部内容
tcpdump -s 0

抓取指定个数的数据包

tcpdump -c 10

其它过滤方式

基于包大小进行过滤

tcpdump less 32
tcpdump greater 64
tcpdump <= 128