Kali自帶Wireshark,但一般的Linux系統是不帶的,需要自行下載,並且過程略複雜 而純字元界面的Linux系統無法使用Wireshark 但是,所有Linux系統都會安裝TCPDUMP:一種基於命令行的抓包工具 註意事項:預設只抓68位元組,能夠獲得基本信息,但無法做到完整分析 1:開始抓 ...
Kali自帶Wireshark,但一般的Linux系統是不帶的,需要自行下載,並且過程略複雜
而純字元界面的Linux系統無法使用Wireshark
但是,所有Linux系統都會安裝TCPDUMP:一種基於命令行的抓包工具
註意事項:預設只抓68位元組,能夠獲得基本信息,但無法做到完整分析
1:開始抓包,-i 參數:eth0網卡,-s 0 表示抓取全部,-w a.cap 表示把抓到的內容放在a.cap文件中
隨意打開一個網站,然後Ctrl+c結束,發現抓了370個包
接下來我們看看抓取的包:
總覽信息:
詳細查看:這裡的-A 意思是以ASCII碼解析
還可以用十六進位的方式查看(-X):
剛纔是抓取所有的包
類似Wireshark,TCPDUMP也有過濾器:
比如我這裡只抓80埠的數據包:
除了抓包篩選器,還可以顯示篩選(抓到之後篩選自己需要的數據包)
1.通過Linux系統手動篩選
-n 的意思是不解析功能變數名稱,awk分隔開只看其中的某一列,sort -u 去重
2.用TCPDUMP的方法:
這裡我只抓取來源是222.199.191.32的數據包
不止來源,這裡設置只抓目的IP為:222.199.191.32的數據包
再比如:只抓功能變數名稱解析數據包:
這些是基礎篩選,還有高級篩選:
TCP包頭結構如下,8個位為一個位元組,每一行為四個位元組,一共是32個位
源埠占了前面的16個位,兩個位元組;目的埠一樣;第四行第三列是標簽位
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
試試: