Tcpdumpコマンドの使い方の詳細

3895 ワード

tcpdumpコマンド、すなわちdump the traffic on a networkは、利用者の定義に基づいてネットワーク上のパケットをキャプチャするパケット分析ツールである.tcpdumpは、ネットワークで伝送されるパケットの「ヘッダ」を完全にキャプチャして分析を提供することができる.ネットワーク層、プロトコル、ホスト、ネットワーク、またはポートのフィルタリングをサポートし、and、or、notなどの論理文を提供して、無駄な情報を削除します.詳しくは後から、直接使い方を話し始めます.tcpdumpは、自機を流れるパケットのみをキャプチャできます.
tcpdump -D;

-D:パッケージをキャプチャするためのインタフェースを一覧表示します.インタフェースの数値番号とインタフェース名がリストされます.これらは「-i」の後に使用できます.
tcpdump -c num -i eth0 -nn -XX -vvv

-c:取得するパッケージの数を指定します.-i interface:tcpdumpが傍受するインタフェースを指定します.このオプションを指定しないと、システムインタフェースのリストから最小番号の構成済みインタフェースが検索されます.-n:アドレスを数値で明示します.そうしないとホスト名で明示します.-nn:-nの役割に加えて、ポートを数値として表示します.そうしないと、ポートサービス名が表示されます.-XX:パケットのヘッダデータを出力します.16進数とASCIIの2つの方法で同時に出力します.もっと詳しいです.-v:分析と印刷時に詳細な出力が生成されます.-vv:-vより詳細な出力を生成します.-vvv:-vvよりも詳細な出力を生成
   tcpdump -i eth0 host 192.168.1.3

eth 0、宛先またはソースアドレスが192.168.1.3のネットワークデータをすべてキャプチャ
   tcpdump -i eth0 port 25

eth 0、宛先ポートまたはソースポートが25のネットワークデータをすべてキャプチャ
tcpdump -i eth0 '((tcp) and (port 80) and ((dst host 192.168.1.234) or (dst host
192.168.1.220)))'

宛先アドレスが192.168.1.24または192.168.1.220ポートが80のTCPデータであるeth 0をすべてキャプチャ
tcpdump udp -i eth0 -t -nn -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24

(1)udp:ip icmp arp rarp、tcp、udp、icmpの各オプションなどは、データ・レポートのタイプをフィルタリングするための最初のパラメータの位置に配置されます(2)-i eth 0:インタフェースeth 0のみをキャプチャするパッケージ(3)-t:タイムスタンプを表示しない(4)-nn:アドレスとポートは数値的に明示的に(5)-s 0:パケットをキャプチャする際のデフォルトのキャプチャ長さは68バイトです.-S 0を加えると完全なパケット(6)-c 100を捕まえることができます:100個のパケット(7)dst portだけを捕まえることができます!22:ターゲットポートをキャプチャしない22のパケット(8)src net 192.168.1.0/24:パケットのソースネットワークアドレス192.168.1.0/24
-------------------------------------------------------------------------------------------------------------------
tcpdump [ -DntUvxX ] [ -c count ]
           [ -i interface ] 
           [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
           [ expression ]

tcpdumpの簡単なオプションの紹介-c count:tcpdumpはcount個のパケットを受け取った後に終了します.-Dプリントシステムにおける全てのtcpdumpは、その上でパケットをキャプチャ可能なネットワークインタフェースである.各インタフェースは、デジタル番号、対応するインタフェースの名前、および可能なネットワークインタフェースの説明を印刷する.ネットワークインタフェースの名前と数値番号は、tcpdumpの-i flagオプションでパケットをキャプチャするネットワークインタフェースを指定することができる.-i interfaceは、tcpdumpが傍受するインタフェースを指定する.指定がない場合、tcpdumpはシステムインタフェースのリストから番号が最も小さい構成済みインタフェース(loopbackインタフェースを除く)を検索する.最初の条件に合致するインタフェースを見つけたら、検索はすぐに終わります.nアドレス(例えば、ホストアドレス、ポート番号)を数値表示から名前表示への変換しない.r fileはファイルfileからパケットデータを読み出す.fileフィールドが「-」記号の場合、tcpdumpは標準入力からパケットデータを読み出す.s snapplen tcpdumpのパケットキャプチャ長をsnapplenに設定し、デフォルトを設定しないと68バイトになります.snapplenを0に設定と、tcpdumpに適切な長さを自動的に選択してパケットをキャプチャすることを意味します.-tは、各行の出力においてタイムスタンプ-Uを印刷することなく、tcpdumpが-wオプションを使用する場合に、そのファイル書き込みをパケットの保存と同期させる.(nt:すなわち、各パケットが保存すると、ファイルの出力バッファが満タンになってから本格的にファイルに書き込まれるのではなく、ファイルにタイムリーに書き込まれる)-v分析や印刷時に詳細な出力が発生する.例えば、パケットの生存時間、識別、総長、IPパケットのいくつかの選択肢がある.IPまたはICMPパケットヘッダ部のチェックサムなどの追加のパケット整合性検出も開く.vvは-vよりも詳細な出力を生成する.例えば、NFS応答パケットの付加ドメインが印刷する、SMBパケットも完全に復号される.vvvは-vvよりも詳細な出力を生成する.例えばtelentの場合に使用するSB,SEのオプションは印刷され,telnetがグラフィックインタフェース-wを併用場合は解析や印刷出力を行わずにパケットデータを直接ファイルに書き込む.これらのパケットデータは、その後、-rオプションで再読み込み、分析、印刷することができる.

tcpdumpとwireshark


Wireshark(以前はethereal)は、Windowsの下で非常に使いやすいパッケージツールです.しかしLinuxでは、使いやすいグラフィックパッケージツールを見つけるのは難しい.幸いTcpdumpがあります.Tcpdump+Wiresharkの完璧な組み合わせで実現できます.Linuxでパッケージをつかみ、Windowsでパッケージを分析します.
tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap

(1)tcp:ip icmp arp rarp、tcp、udp、icmpのいずれのオプションも、データ・レポートのタイプ(2)-i eth 1をフィルタリングするために最初のパラメータの位置に配置します.インタフェースeth 1のみをキャプチャする(3)-t:タイムスタンプを表示しない(4)-s 0:パケットをキャプチャする際のデフォルトのキャプチャ長さは68バイトです.-S 0を加えると完全なパケット(5)-c 100を捕まえることができます:100個のパケット(6)dst portだけを捕まえることができます!22:ターゲットポートをキャプチャしない22のパケット(7)src net 192.168.1.0/24:パケットのソースネットワークアドレス192.168.1.0/24(8)-w./target.Cap:ethereal(wireshark)で分析するのに便利なcapファイルに保存