tcpdump小記

以前蠻排斥用 tcpdump 的,因為終端機模式下不容易去看,所以我都是寫到檔案以後,再傳出來用 wireshark 去看。

寫到檔案去,就是用 -w 參數指定要寫入的檔案。下面這行就是監聽 eth0 上的 port 80 封包,然後寫到 /tmp/capture.pcap 檔案。

tcpdump -i eth0 -w /tmp/capture.pcap port 80

昨天查文件學到另外一招,可以在終端機模式下看的方式,用 -X 參數印出 16 進位內容,用 -v 表示要看詳細的內容,越多 v 就越詳細。

tcpdump -i eth0 -vvX

參考資料

編譯 Android 裡能用的 tcpdump

已經有人提供腳本了:chatch/tcpdump-android: Build tcpdump for Android

很方便,照著 README 做就可以,自己試了以後,發現需要對 build-tcpdump 腳本做些調整,要不然會失敗,先用熟悉的編輯器開啟 build-tcpdump,然後:

  1. 找到 make-standalone-toolchain.sh ,加入 –force 。不加的話,會因為事先建了 toolchain 而警告。
  2. 找到 CFLAGS,在雙引號裏面加入 -D__ANDROID_API__=$android_api 。不加的話,會因為 checking for pcap_loop… no 而停止 tcpdump 的 configure。

然後再執行 ./build-tcpdump 就可以囉。

如果有任何問題想重來什麼的,砍掉 tcpdumpbuild 這資料夾就可以了。

參考資料: