Kali自带Wireshark,但通常的Linux系统是不带的,须要自行下载,而且过程略复杂html
而纯字符界面的Linux系统没法使用Wiresharktcp
可是,全部Linux系统都会安装TCPDUMP:一种基于命令行的抓包工具ide
注意事项:默认只抓68字节,可以得到基本信息,但没法作到完整分析工具
1:开始抓包,-i 参数:eth0网卡,-s 0 表示抓取所有,-w a.cap 表示把抓到的内容放在a.cap文件中网站
随意打开一个网站,而后Ctrl+c结束,发现抓了370个包spa
接下来咱们看看抓取的包:命令行
总览信息:3d
详细查看:这里的-A 意思是以ASCII码解析code
还能够用十六进制的方式查看(-X):orm
刚才是抓取全部的包
相似Wireshark,TCPDUMP也有过滤器:
好比我这里只抓80端口的数据包:
除了抓包筛选器,还能够显示筛选(抓到以后筛选本身须要的数据包)
1.经过Linux系统手动筛选
-n 的意思是不解析域名,awk分隔开只看其中的某一列,sort -u 去重
2.用TCPDUMP的方法:
这里我只抓取来源是222.199.191.32的数据包
不止来源,这里设置只抓目的IP为:222.199.191.32的数据包
再好比:只抓域名解析数据包:
这些是基础筛选,还有高级筛选:
TCP包头结构以下,8个位为一个字节,每一行为四个字节,一共是32个位
源端口占了前面的16个位,两个字节;目的端口同样;第四行第三列是标签位
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port | Destination Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Acknowledgment Nuber |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Date | |C|E|U|A|P|R|A|F| |
| Offset | Res.|W|C|R|C|S|S|Y|I| Windwos |
| | |R|E|G|K|H|T|N|N| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Urgent Pointer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
根据这张图,我须要查ACK和PSH标志位,是第14个字节第00110000(24)位
这样写便可:
TCPDUMP -A -n 'tcp[13]=24' -r a.cap
试试: