Debian系統中Dumpcap的常用使用技巧
any關鍵字捕獲所有網絡接口的流量,適用于快速排查全局網絡問題。sudo dumpcap -i anyeth0為實際接口名(如wlan0、lo),聚焦目標接口的流量分析。sudo dumpcap -i eth0-c參數指定捕獲的數據包數量(如100個),避免生成過大文件。sudo dumpcap -i eth0 -c 100-w參數將捕獲的流量保存為.pcap文件,便于后續用Wireshark等工具分析。sudo dumpcap -i eth0 -w output.pcapBPF捕獲過濾器:在捕獲時直接過濾流量,減少不必要的數據寫入磁盤。常用語法包括:
tcp(僅捕獲TCP流量)、udp(僅捕獲UDP流量)。port 80(捕獲80端口流量)、src port 80(捕獲源端口為80的流量)。host 192.168.1.1(捕獲與指定IP相關的流量)、src host 192.168.1.1(捕獲源IP為192.168.1.1的流量)。sudo dumpcap -i eth0 -w http.pcap -f "tcp port 80"顯示過濾器(實時查看):使用-Y參數實時過濾顯示的數據包,不影響捕獲過程。語法與BPF類似,但更靈活。
示例:實時查看eth0接口上HTTP請求(SYN包)和響應(ACK包)。
sudo dumpcap -i eth0 -Y "(tcp port 80 and tcp.flags.syn==1 and tcp.flags.ack==0) or (tcp port 80 and tcp.flags.syn==0 and tcp.flags.ack==1)" -l
-s參數限制每個數據包的最大捕獲長度(如65535字節),避免截斷大包(如文件傳輸)。sudo dumpcap -i eth0 -s 65535 -w full.pcap-e參數包含鏈路層頭部信息(如以太網MAC地址),有助于分析網絡拓撲。sudo dumpcap -i eth0 -e -w linklayer.pcap-z fast參數啟用多線程處理,提升高流量環境下的捕獲性能。sudo dumpcap -i eth0 -z fast -w multi.pcap-w -將捕獲的數據包實時輸出到終端(標準輸出),配合管道傳輸給其他工具(如less)。sudo dumpcap -i eth0 -w - | lesssudo dumpcap -i eth0 -w - | wireshark -k -i --t參數調整時間戳顯示格式,ad表示絕對時間(如2025-09-22 10:00:00),rd表示相對時間(如10.5s)。sudo dumpcap -i eth0 -t ad -w timestamp.pcapsetcap命令賦予dumpcap捕獲網絡流量的權限,避免每次使用sudo。sudo setcap 'CAP_NET_RAW+ep CAP_NET_ADMIN+ep' /usr/bin/dumpcapgetcap /usr/bin/dumpcap(應顯示上述能力)。/etc/dumpcap.conf(全局配置)或~/.dumpcap(用戶配置),設置常用參數(如默認接口、緩沖區大?。?。echo "-i any -B 1048576" >> ~/.dumpcap-D參數列出系統中的所有網絡接口,便于選擇正確的接口進行捕獲。dumpcap -Dhttp.filter),通過-F參數重復使用,減少重復輸入。http.filter文件(內容:tcp port 80 or port 443),然后使用:sudo dumpcap -i eth0 -w http_traffic.pcap -F http.filter