Linux里超好用的抓包工具tcpdump

tcpdump的简单使用

tcpdump是什么?

tcpdump是Linux里的字符界面的数据包抓包分析软件

怎么使用?

首先需要安装
yum install tcpdump -y

我们先来看看它有哪些参数,这些参数通常是用来过滤的
Linux里超好用的抓包工具tcpdump_第1张图片

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

Linux里超好用的抓包工具tcpdump_第2张图片

显示mac地址
tcpdump -i ens33 -e

Linux里超好用的抓包工具tcpdump_第3张图片

根据源mac地址来抓包
tcpdump -i ens33 ether src 00:0c:29:ae:fd:42

Linux里超好用的抓包工具tcpdump_第4张图片

根据源ip抓包
需要两台虚拟机配合,虚拟机A去ping,虚拟机B去抓包
虚拟机A的ip为192.168.2.170,虚拟机B的ip为192.168.2.127

虚拟机A: ping 192.168.2.127
Linux里超好用的抓包工具tcpdump_第5张图片

虚拟机B: tcpdump -i ens33 icmp and src 192.168.2.170
Linux里超好用的抓包工具tcpdump_第6张图片

将数据存入文件并读取
将抓包数据存入文件中
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

请添加图片描述

你可能感兴趣的:(计算机网络,Linux,tcpdump,网络,服务器)