一 命令介绍
1.1 功能
tcpdump是一款抓包,嗅探器工具,它可以打印所有经过网络接口的数据包的头信息,也可以使用-w选项将数据包保存到文件中,方便以后分析。
1.2 语法
语法
tcpdump [选项]
常用选项
- -a:尝试将网络和广播地址转换成名称。
- -c<数据包数目>:收到指定的数据包数目后,自动退出。
- -d:把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。
- -dd:把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。
- -ddd:把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。
- -f:用数字显示网际网络地址。
- -i<网络界面>:使用指定的网络界面送出数据包。
- -r<数据包文件>:从指定的文件读取数据包数据。
- -s<数据包大小>:设置每个数据包的大小。
- -t:在每列倾倒资料上不显示时间戳记。
- -tt: 在每列倾倒资料上显示未经格式化的时间戳记。
- -v:详细显示指令执行过程。
- -vv:更详细显示指令执行过程。
- -x:用十六进制字码列出数据包资料。
- -w<数据包文件>:把数据包数据写入指定的文件。
1.3 命令安装
yum install tcpdump -y
二 使用场景
2.1 监听特定网卡
tcpdump -i ens3
2.2 监听特定主机
tcpdump host 192.168.0.100 -i ens3
2.3 监听来自主机192.168.0.100在端口3306上的TCP数据包
tcpdump tcp port 3306 and src host 192.168.0.100 -i ens3
2.4 监听特定主机之间的通信
tcpdump ip host 192.168.0.98 and 192.168.0.99 -i ens3
2.5 实例详解
tcpdump tcp -i ens3 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w /web/test.cap
- tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型
- -i ens3 : 只抓经过接口ens3的包
- -t : 不显示时间戳
- -s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
- -c 100 : 只抓取100个数据包
- dst port ! 22 : 不抓取目标端口是22的数据包
- src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.0/24
- -w /web/test.cap : 保存成cap文件,方便用ethereal(即wireshark)分析
至此,tcpdump命令梳理完成。