Linuxパケットキャプチャコマンドtcpdumpについて話します
序文
Tcpdumpは、ネットワーク上で送信されるデータパケットの「ヘッド」を完全に傍受して、分析を提供できます。ネットワーク層、プロトコル、ホスト、ネットワーク、またはポートのフィルタリングをサポートし、and、orなどの論理ステートメントを提供して、不要な情報の削除に役立たないようにします。TcpDumpの合計出力形式は、システム時間、送信元ホスト+ポート、ターゲットホスト+ポート、データパケットパラメーターです。
Tcpdumpの監視と分析を回避する方法は?一般に、ネットワークハードウェアとTCP / IPスタックは、コンピューターとは関係のないデータパケットの送受信をサポートしていません。これらを一般的に受信するために、ネットワークハードウェアとTCP / IPスタックはデータパケットの送受信をサポートしていません。これらのパケットを受信するには、ネットワークカードの無差別モードを使用し、標準のTCP / IPスタックをバイパスする必要があります。FreeBSDでは、これにはカーネルが疑似デバイスbpfilterをサポートする必要があります。したがって、カーネルでbpfilterサポートを削除すると、tcpdumpなどのネットワーク分析ツールが保護される可能性があります。
tcpdump [ -AbdDefhHIJKlLnNOpqRStuUvxX ] [ -B buffer_size ] [ -c count ]
[ -C file_size ] [ -G rotate_seconds ] [ -F file ]
[ -i interface ] [ -j tstamp_type ] [ -m module ] [ -M secret ]
[ -P in|out|inout ]
[ -r file ] [ -V file ] [ -s snaplen ] [ -T type ] [ -w file ]
[ -W filecount ]
[ -E spi@ipaddr algo:secret,... ]
[ -y datalinktype ] [ -z postrotate-command ] [ -Z user ]
[ expression ]
基本的なTcpdumpの手順:
tcpdump
通常の状況では、tcpdumpを直接開始すると、最初のネットワークインターフェイスを流れるすべてのデータパケットが監視されます。
2.操作
ifconfig
ネイティブネットワークカードを表示する
上の図のネットワークカードはeth0 / loにすることができます
tcpdump -i eth1
ネットワークカードを指定しない場合、tcpdumpはデフォルトで最初のネットワークインターフェイス(通常はeth0)のみを監視します。次の例ではネットワークインターフェイスを指定していません。
tcpdumpホスト210.27.48.1
すべての210.27.48.1ホストによって送受信されたすべてのデータパケットを傍受します
tcpdumpホスト210.27.48.1および\(210.27.48.2または210.27.48.3 \)
ホスト210.27.48.1とホスト210.27.48.2または210.27.48.3の間の通信を傍受します
tcpdump ip host 210.27.48.1および!210.27.48.2
ホスト210.27.48.2を除くホスト210.27.48.1と通信するすべてのホストのIPパケットを取得する場合
ホストのホスト名から送信されたすべてのデータを傍受する
tcpdump -i eth0srcホストホスト名
ホストのホスト名に送信されるすべてのパケットを監視する
tcpdump -i eth0dstホストホスト名
tcpdumptcpポートポートおよびホストホストIP
tcpdump-cは指定された番号を受け取ります
tcpdump host / net / port src / dst / srcまたはdst / dstおよびsrc
ホスト/ネットワークアドレス/ポート。指定されていない場合は、ホストです。
送信元アドレスの指定/ネットワークアドレスの指定
tcpdump -i eth1srcポート443
簡単な例
172.24.18.25 ping 172.24.18.8
172.24.18.8で172.24.18.8をキャプチャします
IP iZ88BFRKH96Zは18.8のホスト名であり、パケットキャプチャが成功したことを示しています