抓封包先縮小範圍:介面、來源、目的、port、時間和數量都能限制。正式網路不該無限制抓 all interfaces,也不應把含認證與個資的 pcap 隨意外傳。
動手前:封包可能含帳號、cookie、查詢內容與內網拓樸。先取得授權、限制檔案權限與保存期限;避免把 tcpdump 留在高流量介面長時間無上限執行。
介面與基本擷取
列出可抓介面tcpdump
tcpdump -D只列清單,不開始擷取。
抓指定介面前 50 包tcpdump
sudo tcpdump -i eth0 -c 50介面換成實際名稱;達到 50 包自動停止。
不解析 DNS 與服務名稱tcpdump
sudo tcpdump -nn -i eth0 -c 100-nn 顯示原始 IP 與 port,排查較可預期。
抓所有介面Linux
sudo tcpdump -nn -i any -c 100any 方便初查,但高流量主機要小心負載與重複。
顯示較詳細 Headertcpdump
sudo tcpdump -nn -vv -i eth0 -c 50不代表一定要顯示 payload。
顯示 ASCII payloadtcpdump
sudo tcpdump -nn -A -s 0 -i eth0 'tcp port 80' -c 20可能暴露未加密 HTTP 內容,僅限授權排查。
顯示 Hex 與 ASCIItcpdump
sudo tcpdump -nn -X -s 0 -i eth0 'host 192.0.2.10' -c 20敏感度高,輸出不要直接貼公開工單。
常用 filter
抓單一 hosttcpdump
sudo tcpdump -nn -i eth0 'host 192.0.2.10' -c 100同時包含來源或目的為該 IP。
只抓來源 IPtcpdump
sudo tcpdump -nn -i eth0 'src host 192.0.2.10' -c 100縮小單一方向。
只抓目的 IPtcpdump
sudo tcpdump -nn -i eth0 'dst host 192.0.2.10' -c 100縮小另一方向。
抓 TCP 443tcpdump
sudo tcpdump -nn -i eth0 'tcp port 443' -c 100看到握手不代表能解密 TLS payload。
抓 DNS UDP/TCP 53tcpdump
sudo tcpdump -nn -i eth0 'port 53' -c 100包含 UDP 與 TCP DNS。
抓 ICMPtcpdump
sudo tcpdump -nn -i eth0 'icmp' -c 50IPv6 ICMP 使用 icmp6。
抓 IPv6 ICMPtcpdump
sudo tcpdump -nn -i eth0 'icmp6' -c 50NDP 也依賴 ICMPv6。
抓網段且排除 SSHtcpdump
sudo tcpdump -nn -i eth0 'net 192.0.2.0/24 and not port 22' -c 200遠端操作時排除自己的 SSH 可降低雜訊。
只抓 TCP SYNtcpdump
sudo tcpdump -nn -i eth0 'tcp[tcpflags] & tcp-syn != 0' -c 100會包含 SYN 與 SYN-ACK,進一步條件可再限制 ACK。
保存與讀取 pcap
寫入 pcaptcpdump
sudo tcpdump -nn -i eth0 -w capture.pcap -c 1000 'host 192.0.2.10'-w 時終端不顯示解碼;檔案權限要限制。
限制每檔 50 MiB 並輪替 5 檔tcpdump
sudo tcpdump -nn -i eth0 -C 50 -W 5 -w capture.pcap 'port 443'總量仍可能約 250 MiB,先確認空間。
每 5 分鐘切一檔tcpdump
sudo tcpdump -nn -i eth0 -G 300 -w 'capture-%Y%m%d-%H%M%S.pcap' 'port 53'不同 tcpdump 版本對 -G/-W 組合行為有差異。
讀取 pcaptcpdump
tcpdump -nn -r capture.pcap離線解碼,不需再接觸網卡。
讀 pcap 時再套 filtertcpdump
tcpdump -nn -r capture.pcap 'tcp port 443'原始 pcap 不變。
查看 capture 檔案資訊capinfos/Wireshark
capinfos capture.pcapcapinfos 通常隨 Wireshark 工具安裝。
怎麼確認有做對
- 抓包前記錄介面、filter、開始與結束時間。
- 用 tcpdump -r 或 Wireshark 確認 pcap 可讀且範圍正確。
- 完成後限制權限、加密保存或按政策安全刪除。
常見錯誤
- 沒有 -c、-C、-W 或時間限制。
- 在高流量介面用 -s 0 抓全部 payload 太久。
- filter 的 and/or 沒加括號。
- 把 pcap 當一般文字附件外傳。
版本與官方文件
參數會隨工具版本與作業系統實作改變。正式環境先用 --help、-h 或系統內建說明確認,再以當版官方文件為準。