Linuxコマンド【 tcpdump 】ネットワークのトラフィックをダンプ
当ページのリンクには広告が含まれています。
スポンサーリンク
tcpdumpコマンドは、ネットワークのトラフィックをダンプするコマンドです。
tcpdumpコマンド
書式
tcpdump [オプション] [条件式]
ネットワークインターフェースを通るパケットのヘッダ情報を表示します。
オプション
-c パケット数 | 指定したパケット数を受信した後、コマンドを終了します。 |
-d | パケットマッチングコードを人間が読める形式で標準出力にダンプします。 |
-dd | パケットマッチングコードをC言語の利用可能形式でダンプします。 |
-ddd | パケットマッチングコードを10進数でダンプします。 |
-e | リンクレベルヘッダーを表示します。 |
-F ファイル名 | フィルター条件式が記載されたファイル名を指定します。 |
-i インターフェース | 監視するインターフェースを指定します。 |
-l | 標準出力をバッファします。 |
-n | アドレス、ポート番号の名前解決を行いません。 |
-q | 限定したプロトコルの情報のみを表示します。 |
-r ファイル名 | オプション -w で作成したファイルを読み込みます。 |
-t | 時間情報を表示しません。 |
-w ファイル名 | 指定したファイル名にパケット情報を書き込みます。 |
-v | 詳細情報を表示します。 |
-vv | もっと詳細情報を表示します。 |
-vvv | もっともっと詳細情報を表示します。 |
-x | パケットを16進数で表示します。 |
-X | 16進数で表示されるときに、ASCII文字も表示します。 |
条件式
type | host、net、port が利用可能です。 |
dir | src(送信元)、dst(送信先)、src or dst、src and dst を指定します。 |
proto | プロトコルをしています。 |
使用例
オプションなしで、tcpdumpコマンドを実行します。するとネットワークのトラフィックがダンプされます。かなり多いです。コマンドの終了は「Ctrlキー」を押しながら「Cキー」を押します。
# tcpdump tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 13:23:09.775749 IP example.com.60002 > example.jp.61968: Flag, length 192 13:23:09.776476 IP example.com.57687 > aa.bb.cc.dd.domain: 52004+ PTR? aa.bb.cc.dd.in-addr.arpa. (45) 13:23:09.776822 IP aa.bb.cc.dd.domain > example.jp.57687: 52004 1/2/2 PTR example.jp. (163) 13:23:09.777098 IP example.com.50227 > aa.bb.cc.dd.domain: 52180+ PTR? aa.bb.cc.dd.in-addr.arpa. (45) 13:23:09.777420 IP aa.bb.cc.dd.domain > example.jp.50227: 52180 NXDomain 0/1/0 (104) 13:23:09.793807 IP hoge.ne.jp.60574 > example.jp: Flags [.], ack 3194754837, win 16614, length 0 … 略 …
受信するパケットを指定してコマンドを実行します(オプション -c)。
# tcpdump -c 1 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 13:28:30.034248 IP aa.com.52972 > bb.com.http: Flags [P.], seq 145672862:145673134, ack 3287795824, win 64240, length 272 1 packets captured 5 packets received by filter 0 packets dropped by kernel
監視するインターフェース(オプション -i)、条件式でポート番号(port)を指定します。
# tcpdump -i eth0 port 22 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 23:10:50.112177 IP example.jp.ssh > hoge.com.62934: Flags [P.], seq 32718:72830, ack 3277, win 2641, options [nop,nop,TS val 109623997 ecr 553388297], length 112
関連コマンド
ネットワーク の人気記事
- Linuxコマンド【 ssh 】リモートマシンにSSHでログインする
- Linuxコマンド【 sftp 】安全なファイル転送を行う
- Linuxコマンド【 traceroute 】ホストまでの経路を表示する
- Linuxコマンド【 arp 】ARPキャッシュを操作する
- コマンドリファレンス
- Linuxコマンド【 nslookup 】対話的にDNSサーバーへ問い合わせる
- Linuxコマンド【 ping 】ホストとの接続を確認する
- Linuxコマンド【 ntpdate 】日付と時刻をNTPサーバーと同期する
- Linuxコマンド【 wget 】ファイルをダウンロードする
- Linuxコマンド【 netstat 】ネットワークの接続状況を表示する