目錄
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 請關注!