019 Linux tcpdump 抓包案例入門可真簡單啊?


file

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),圖片信息做脫敏處理。

file

4 tcpdump 抓包白度,配合Wireshark分析)

(1)抓包命令

tcpdump -i  en0  'src or dst   host www.baidu.com' -w baidu.cap

(2)訪問下白度

curl www.baidu.com

(3)Wireshark分析下抓的數據

file

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM