web-dev-qa-db-ja.com

TCPDUMP-複数のIPアドレスでのパケットのキャプチャ(フィルター)

私がする必要があること(Linux経由の 'tcpdump'を介して):

•eコマースアプリサーバー:192.168.1.2、192.168.1.3、192.168.1.4。 -これは私がキャプチャしたいものです(これらの正確なIPでフィルタリングされます)。 IP範囲(サブネット)または個別のIPアドレスではなく、いくつかのIPアドレス/サーバーのみ。

•この範囲内には他のアプリケーションがあります。 PayRollアプリは192.168.1.5にあり、このトラフィックをキャプチャに表示したくありません。

私は試しました:

tcpdump 0 "/tmp" "Host 192.168.1.2 or Host 192.168.1.3 or Host 192.168.1.4" 100000

そしてまた:

tcpdump 0 "/tmp" "ip.Host==192.168.1.2 or ip.Host==192.168.1.3 or ip.Host==192.168.1.4" 100000

どちらも構文エラーを返します。

どんな助けでも大歓迎です。

9
Derek

あなたのケースの基本的な構文は

tcpdump -i <interface to capture on> <filters>

<filters>は次のように展開されます

'(Host 192.168.1.2 or Host 192.168.1.3 or Host 192.168.1.4) and (port 80 or port 443)'

eコマースアプリケーションがポート80および443を通信に使用する場合。一重引用符は重要です。それ以外の場合、シェルではパラメーターを特殊文字としてグループ化するために重要な角かっこ()が表示されることがあります。

最初に-vおよび-nパラメータを追加する(tcpdump -v -n -i ...)出力に冗長性を追加し、名前解決を無効にします(出力を高速化します)

15
the-wabbit