1. 程式人生 > >基於 OpenWrt 實現 tcpdump 抓包並在 Windows 系統上的 Wireshark 中格式化顯示

基於 OpenWrt 實現 tcpdump 抓包並在 Windows 系統上的 Wireshark 中格式化顯示

工具:

  • Openwrt 系統下的 tcpdump
  • Windows 系統下的 Wireshark 和 plink

快捷鍵

  • 在路由器的 Openwrt 系統下安裝 tcpdump 工具
  • 在 Windows 系統下安裝 Wireshark 程式,並不下載的 plink 工具放入 Wireshark 的安裝目錄下
  • 在 Windows 系統下開啟命令視窗,進入 Wireshark 安裝目錄,執行 plink -ssh [email protected] -pw PASS "tcpdump -s 0 -U -n -i br-lan -w - not port 22" | wireshark -k -i -

說明:
USER: 是路由器 Openwrt 系統的登入使用者名稱
HOST: 是路由器的遠端登入 IP
PASS: 是路由器 Openwrt 系統的登入密碼
br-lan: 是需要抓取路由器資料包的網路介面,可以選擇其他介面
tcpdump 引數說明:
-i: 指定網路介面,不指定則預設抓取第一個網路介面
port:指定截獲埠
host:指定截獲的主機
not:不包括
-s 0: 抓取資料包預設抓取長度為68位元組, -S 0:可以抓取到完整的資料包
-c 100: 只抓取100個數據包
-U:讓資料包列印時直接輸出到stdout而不是在輸出快取滿後再輸出,當檔名是”-“時,輸出原資料包到stdout
-n:不把主機的網路地址轉換為名字
-w:把資料包資料寫入指定的檔案

-ssh:強制使用ssh通訊協議

實現抓包

  • 在路由器的 Openwrt 系統下安裝 tcpdump 工具