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
試試: