ローカルマシンのIPアドレスを除外しようとしています192.168.5.22
。
ip.src != 192.168.5.22|| ip.dst !=192.168.5.22
と私は私のアドレスがポップアップ表示され続ける。
ミッチは正しいです。あなたが持っているような否定的な一致では、あなたのIPをフィルターで取り除くために両方の条件が真である必要があります、したがってまたはの代わりにおよび 。次のように書くこともできます:
not (ip.addr == 192.168.5.22)
ip.addr != 192.168.5.22
と書く方がより論理的に思えるかもしれませんが、これは有効な式ですが、接続のotherの終わりと一致し、特定のIPではないため、依然としてtrueになります。たとえば、192.168.5.22から192.168.5.254に接続する場合、ip.addr != 192.168.5.22
は* .22 IPと一致せず、*。254と一致するため、パケットはフィルター式と一致します。これもhttpをフィルタリングする完全な例です。
not ip.addr == 192.168.5.22 and not tcp.dstport == 80
tcp.dstport!= 80にも同様の問題があります。 tcp.dstport!= 80があると、 "tcpトラフィックのみに一致しますが、dstportでないtcpのみ== 80"
厳密には質問ではありませんが、構文はtcpdumpとまったく同じであるキャプチャフィルター(capture-optionsダイアログでインターフェイス名をダブルクリック)でフィルタリングすることをお勧めします。無視するように指示しているパケットをキャプチャしないようにすることで、キャプチャに必要なメモリとディスクが少なくなります。欠点は、後で検査したい場合にキャプチャされないパケットであり、キャプチャセッション中にこの方法で選択したフィルターを変更できないことです。たとえば、任意のホストとの間で送受信されるhttpおよびsshトラフィックと、192.168.5.22との間で送受信されるパケットをキャプチャしないようにするには、
not Host 192.168.5.22 and not port 80 and not port 22
そのホストとの間のHTTPトラフィックのみをフィルタリングしたい場合は、次のようにします。
not (Host 192.168.5.22 and port 80)
or
はand
である必要があります
ip.src != 1.2.3.4 && ip.dst != 1.2.3.4