Linux
在命令行中使用 wireshark/tshark 來忽 略 ssh 連接
我試圖通過查看數據包來調試一些,我想避免將所有 SSH 流量都發送到伺服器。有沒有辦法忽略?
我試圖做類似的事情,
tshark -f "port !22"
但它在命令後停止了監聽。[root@vpn ~]# tshark -f "port !22" tshark -f "port ls" Running as user "root" and group "root". This could be dangerous. Capturing on venet0 tshark: arptype 65535 not supported by libpcap - falling back to cooked socket. tshark: Invalid capture filter: "port ls"! That string isn't a valid capture filter (unknown port 'ls'). See the User's Guide for a description of the capture filter syntax. 0 packets captured [root@vpn ~]#
tshark 和 tcpdump 都使用該
pcap
庫,因此擷取過濾器使用pcap-filter 語法。正如@tristan 所說,您想要的過濾器是"not port 22"
. 您可以將其作為帶引號的字元串參數輸入到-f
選項中,或者作為不帶引號的參數輸入到命令中。以下命令是等效的:# tshark -f "not port 22" # tshark -- not port 22
tshark 抱怨您上面的命令的原因是您的 shell(可能是 Bash)將“!22”擴展為命令歷史記錄中的第 22 號命令,在本例中為“ls”。Bash 文件有更多關於歷史擴展的資訊。