Tcpdump实用操作命令语句

tcpdump下载安装

参考链接
PS:一般比base server大的linux安装包都有tcpdump,无需另外下载安装。

tcpdump常见参数

-i eth0(接口,所有接口是any)
-n 可以清晰看到以太网以及ip地址而不是名字标识
-nn ip和端口都转换成数字儿不是http和syslog这种
-w xx.pcap( 保存为文件)
-s 600(一个数据包默认只抓取96字节,而一个数据包mtu一般有1500字节,600则为每个数据包抓取600字节)

  • c 200(只抓200个数据包,0是不限制大小)
    -v 控制台打印详细信息,比如包的TTL,id标识,数据包长度,以及IP包的一些选项

proto(协议)

tcp(相当于 proto 6)
udp(相当于 proto 17)
icmp

host(主机)

src host(源ip)
dst host(目的ip)
ip范围:net 192.168

port(端口)

src port(源端口)
dst port(目的端口)
端口范围:portrange 1-1000

组合过滤器:
and or &&
or or ||
not or !
and(必须包含两个参数,例如:host 1.1.1.1 and 2.2.2.2,必须包含着两个host)
or(有其中一个参数即可,例如:host 1.1.1.1 or 2.2.2.2,只需要有其中一个host)
not(不包含该参数,例如: tcpdump -i any tcp port 80 and host not 1.1.1.1,显示结果不包含1.1.1.1)

后面也可以接 |grep xxx

TCPDUMP常用指令:

抓icmp的包

tcpdump -i ens33 -nnv icmp

抓http的包

# 一种是抓端口
tcpdump -i ens33 -nnv tcp and port 80
# 一种是抓关键字,只抓http协议
tcpdump  -XvvennSs 0 -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854

过滤端口

tcpdump -i ens33 -nnv tcp and port 80
tcpdump -i ens33 -nnv tcp and dst port 80
tcpdump -i ens33 -nnv tcp and dst portrange 80-88 

过滤ip地址

tcpdump -i ens33 -nnv tcp and host 192.168.1.1
tcpdump -i ens33 -nnv tcp and src host 192.168.1.1 and dst port 80
tcpdump -i ens33 -nnv tcp and src host 192.168.1 and dst portrange 80-88 

你可能感兴趣的:(Tcpdump实用操作命令语句)