tcpdump的简单使用
tcpdump是什么?
tcpdump是Linux里的字符界面的数据包抓包分析软件
怎么使用?
首先需要安装
yum install tcpdump -y
我们先来看看它有哪些参数,这些参数通常是用来过滤的
1、option 可选参数
2、proto 类过滤器:根据协议进行过滤
3、direction 类过滤器:根据数据流向进行过滤
4、type 类过滤器:这些词后边需要再接参数
抓取的数据包结构分析
22:29:32.698761 IP 192.168.2.143.53629 > localhost.localdomain.ssh: Flags [P.], seq 37:73, ack 292188, win 4106, length 36
第一列:时间(时分秒毫秒),22:29:32.698761
第二列:网络协议,IP
第三列:发送方的地址,其中 192.168.2.143 是 ip,而 53629 是端口号
第四列:箭头 >, 表示数据流向
第五列:接收方的地址,localhost.localdomain.ssh
第六列:冒号
第七列:数据包内容,包括Flags 标识符,seq 号,ack 号,win 窗口,数据长度 length,其中 [P.] 表示 PUSH 标志位为 1
简单使用
抓取ens33的数据包
tcpdump -i ens33
显示更加详细的信息
tcpdump -i ens33 -vv
显示mac地址
tcpdump -i ens33 -e
根据源mac地址来抓包
tcpdump -i ens33 ether src 00:0c:29:ae:fd:42
根据源ip抓包
需要两台虚拟机配合,虚拟机A去ping,虚拟机B去抓包
虚拟机A的ip为192.168.2.170,虚拟机B的ip为192.168.2.127
虚拟机A: ping 192.168.2.127
虚拟机B: tcpdump -i ens33 icmp and src 192.168.2.170
将数据存入文件并读取
将抓包数据存入文件中
tcpdump -i ens33 -w test.pcap icmp and src 192.168.2.170
查看文件类型(ps:这种格式的文件不能直接用 cat 查看)
[root@localhost ~]# file test.pcap
test.pcap: tcpdump capture file (little-endian) - version 2.4 (Ethernet, capture length 262144)
读取文件
tcpdump -r test.pcap