今度は、tcpdumpを使って確認してみるよ。
tcpdumpはネットワーク上を流れるパケットをモニタリングするツールで、TCP、IP、UDP、ICMPなどの各種プロトコルに対応している。
インストールした覚えはないので、デフォルトでインストールされているか確認してみる。
aptitude show tcpdump パッケージ: tcpdump状態: インストールされていません バージョン: 3.9.8-4 優先度: 任意 セクション: net メンテナ: Romain Francoise rfrancoise@debian.org 展開サイズ: 745k依存: libc6 (>= 2.7-1), libpcap0.8 (>= 0.9.3-1), libssl0.9.8 (>= 0.9.8f-5) 説明: ネットワークの監視やデータ取得用の強力なツール 本プログラムは、ネットワーク上のトラフィックをダンプできるようにして くれます。tcpdump は IPv4, ICMPv4, IPv6, ICMPv6, UDP, TCP, SNMP, AFS, BGP, RIP, PIM, DVMRP, IGMP, SMB, OSPF, NFS, その他多くの種類のパケットを 扱うことができます。 ネットワーク上のパケットのヘッダ表示や、指定した表現にマッチしたパケットの 選別が可能です。 本ツールはネットワーク上の問題追及や、"ping アタック" の検出、 ネットワークの動作のモニタが可能です。 ホームページ: http://www.tcpdump.org/ |
インストールされてないので、インストール!
aptitude install tcpdump パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 拡張状態情報を読み込んでいます パッケージの状態を初期化しています... 完了 タスクの記述を読み込んでいます... 完了 以下の新規パッケージがインストールされます: tcpdump 更新: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。 321kB のアーカイブを取得する必要があります。展開後に 745kB のディスク領域が新たに消費されます。 拡張状態情報を書き込んでいます... 完了 取得:1 http://ftp.jp.debian.org lenny/main tcpdump 3.9.8-4 [321kB] 321kB を 0s 秒でダウンロードしました (982kB/s) 未選択パッケージ tcpdump を選択しています。 (データベースを読み込んでいます ... 現在 25922 個のファイルとディレクトリがインストールされています。) (.../tcpdump_3.9.8-4_amd64.deb から) tcpdump を展開しています... man-db のトリガを処理しています ... tcpdump (3.9.8-4) を設定しています ... パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 拡張状態情報を読み込んでいます パッケージの状態を初期化しています... 完了 拡張状態情報を書き込んでいます... 完了 タスクの記述を読み込んでいます... 完了 |
インストール完了!したんで、使ってみるよ!
【一部だけど、tcpdumpのオプション】
-n:出力情報を名前解決をせず、数字で出力する。 -i:[ネットワークインターフェース] ネットワークインターフェースを指定する。 -X:16進数とアスキー文字で出力する。 -w:[ファイル] 出力情報をファイルに出力する。 -r:[ファイル] -wオプションで作成したファイルを読込。 -F:[ファイル] [条件]を記述したファイルを指定する。 -s:[サイズ]キャプチャサイズを指定(デフォルトだと短いよ) パケットフィルタの条件 src:送信元をフィルタリングの対象とする。 dst:送信先をフィルタリングの対象とする。 host [ホスト]:ホストを指定する。 port [ポート番号]:ポート番号を指定する。 |
hoge.org の 993番ポートに入ってくる通信を監視
オプション指定
tcpdump -nXs 1000 dst host hoge.org and dst port 993 |
整形フィルタをかます
tcpdump -nXs 1000 dst host hoge.org and dst port 993|/home/hogehoge/tools/tcpdump-filter.pl |
パラメータ指定 「tcp」(ip, ip6, arp, rarp, tcp, udp, icmp, ether, fddi等)
tcpdump tcp port 993 and host hoge.org |
tcpdump-filter.pl
#!/usr/bin/perl while(){ if(m/^[ \t]/){ $store .= $_ } else { s/^[^ ]* //; s/:[^:]*$//; print "$_\n"; $_ = $store; s/\s//g; s/^.{120}//; s/[0-9A-Fa-f][0-9A-Fa-f]/pack("C", hex $&)/eg; s/[\x00-\x08\x0a-\x1f\x7f-\xff]/ /g; print "$_\n"; $store = ""; } } |
「tcpdump-filter.pl」はhttp://x68000.q-e-d.net/~68user/net/tcpdump.htmlから拝借させていただきました。