在 Linux 中,dumpcap 是一個命令行工具,用于捕獲網絡流量。要使用過濾器,您可以使用 -f 或 --filter 選項來指定一個 BPF(Berkeley Packet Filter)表達式。這個表達式定義了哪些數據包應該被捕獲。以下是使用 dumpcap 設置過濾器的一些基本步驟:
確定過濾器表達式:首先,您需要確定想要捕獲的數據包類型。例如,如果您只想捕獲 TCP 流量,您可以使用過濾器表達式 tcp。
運行 dumpcap 并應用過濾器:使用 -f 或 --filter 選項后跟您的過濾器表達式來啟動 dumpcap。例如:
sudo dumpcap -i eth0 -w output.pcap -f "tcp"
在這個例子中,-i eth0 指定了要監聽的網絡接口,-w output.pcap 指定了輸出文件的名稱,而 -f "tcp" 應用了過濾器,只捕獲 TCP 數據包。
sudo dumpcap -i eth0 -w output.pcap -f "host 192.168.1.100"
這將只捕獲目標或源 IP 地址為 192.168.1.100 的數據包。
-F 或 --filters-file 選項指定該文件。例如:echo "tcp and host 192.168.1.100" > myfilters
sudo dumpcap -i eth0 -w output.pcap -F myfilters
-l 或 --list-packets 選項。這將以文本形式顯示每個捕獲的數據包的摘要。請注意,使用 dumpcap 通常需要管理員權限,因為它需要訪問網絡接口。因此,您可能需要使用 sudo 來運行上述命令。
在實際使用中,您可能需要根據您的具體需求調整過濾器表達式。BPF 表達式非常強大,可以實現非常精細的流量捕獲控制。如果您不熟悉 BPF 語法,可以查閱相關文檔或在線資源來學習更多。