・tcpdumpでパケットチェック

今度は、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から拝借させていただきました。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です