目錄
1 tcpdump 是什麼?
tcpdump 可以將網路中傳送的資料包完全截獲下來提供分析。它支援針對網路層、協議、主機、埠的過濾,並提供and、or、not等邏輯語句來幫助你過濾掉不關注的資訊。
通常用 tcpdump 抓包資料輸出到檔案(如在 linux 伺服器上抓包資料),把檔案下載拖到工作電腦 Wireshark 軟體上配合分析(Wireshark 使用自行白度,也可以使用 wireshark 直接抓包分析)。
2 tcpdump 常用命令引數
還有非常多的引數,只簡單備註一些常用的
- -i<網路介面> 使用指定的網路截面送出資料包。
- -w<資料包檔案> 把資料包資料寫入指定的檔案。
- -v 詳細顯示指令執行過程。
- -n 不把主機的網路地址轉換成名字。
3 tcpdump 抓包wss,配合Wireshark分析
//ip 瞎寫的哈,脫敏
tcpdump -i en0 '((src or dst host 163.235.251.6) or (src or dst host 163.235.251.7) or (src or dst host 163.235.251.8))' -w wss-log.cap
- (1)eth0 是網路卡,可以通過 ifconfig 檢視你的網路卡。
- (2)((src or dst host 163.235.251.6) or (src or dst host 163.235.251.7) or (src or dst host 163.235.251.8)) 這一段表示,一次監聽抓取多個遠端的主機地址,src or dst 可以把互動都抓出來,就是從這臺發出來的,到這臺回覆的都可以抓出來,可以看到 TCP 完整的握手揮手過程。
- (3)-w wss-log.cap 這個是把抓取的日誌,寫到 wss-log.cap,檔名以.cap 結尾。
- (4)工作電腦下載 Wireshark 並開啟,把上面的檔案 wss-log.cap 拖到 Wireshark 介面即可看到協議互動過程。
- (5)下面是一次 wss 的抓包(websocket+TLS),圖片資訊做脫敏處理。
4 tcpdump 抓包白度,配合Wireshark分析)
(1)抓包命令
tcpdump -i en0 'src or dst host www.baidu.com' -w baidu.cap
(2)訪問下白度
curl www.baidu.com
(3)Wireshark分析下抓的資料
5 tcpdump 其他一些用例
1 抓取經過指定埠的資料包,不指定網路卡
tcpdump -vn -i any port 7280 -w tcptemp.cap
- (1)-i interface 指定 tcpdump 需要監聽的介面,'any' 這個虛擬網路介面可被用來接收所有網路介面上的資料包。
- (2)-v 當分析和列印的時候,產生詳細的輸出。比如包的生存時間,標識,總長度以及 IP 包的一些選項。這也會開啟一些附加的包完整性檢測,比如對IP或ICMP包頭部的校驗和。
- (3)-n 不對地址(比如主機地址,埠號)進行數字表示到名字表示的轉換。
2 指定主機,ip 抓包
tcpdump tcp port 23 and host 163.235.251.6
6 小結
tcpdump 可以將網路中傳送的資料包完全截獲下來提供分析。通常用 tcpdump 抓包資料輸出到檔案(如在 linux 伺服器上抓包資料),把檔案下載拖到工作電腦 Wireshark 軟體上配合分析。本文記錄了最簡單的一些 case 使用,起到拋磚引玉的作用。
「不甩鍋的碼農」原創,轉載請註明來源,未經授權禁止商業用途!同名 GZH 請關注!