パケットキャプチャ:
/usr/sbin/tcpdump -i eth1 -n -w outfile.dat -s 256 host 192.168.50.1 -C 1 -W 10
※エラーとなる場合、mkdir Log;chmod 777 Log;cd Log
※後でwiresharkで見る。大変ためになる http://www.asterisk-works.jp/wiki/index.php/Wireshark
-i:I/F
-n:アドレスを名前に変換しない。(出力遅くなるのを回避。DNS利用による自身のトラフィック抑制)
-X:パケットの中身をascii(大抵16進でも出力されるハズ)
-w:ファイル出力
-s [snaplen]:
サイズsnaplenバイトをパケットから取り出す
ネームサーバー(manでは128)、NFS(manでは192)の情報ではデフォルトサイズでは足りないかも。
host 192.168.50.99 特定のIPアドレス
# /usr/sbin/tcpdump -i eth1 -n -w outfile.dat host 192.168.50.1
-C [MBサイズ] 書き出しファイルのサイズ。サイズに達したら連番ファイルにローテート記録。
outfile.dat→.dat.1→dat.2… これやっとかないとwiresharkに読み込ませる際につらい。大きくてもせいぜい100MBか。
-W [count]-Cと組み合わせて使用、指定したcount数のファイルでローテートする
/usr/sbin/tcpdump -i eth1 -n -w outfile.dat -s 256 host 192.168.50.1 -C 1 -W 10
-v,-vv,-vvv より詳細ログ
-G [時間] 出力ファイルを指定時間で循環させる?v4以降らしい。
標準出力に表示
/usr/sbin/tcpdump -i eth1 -n -s 256 -l host 192.168.50.3
例
アドレスのフィルタリング
# tcpdump host 192.168.50.1
# tcpdump ether host 0:10:5a:e3:37:c (host指定必要らしい)
# tcpdump dst 192.168.50.1
# tcpdump src 192.168.50.1
# tcpdump net 192.168.50 (最後の.x無し。ネットワークを指定)
# tcpdump net 192.168.50.0 255.255.255.0 (ネットワークを指定)
プロトコルのフィルタリング
# tcpdump ip(igmp、tcp、udp、icmp)
# tcpdump ip proto 89(認識できないプロトコルキーワードが有る場合)
# tcpdump ip proto ospf(認識できないプロトコルキーワードが有る場合、/etc/protocolsにospfがあれば)
ポート指定
# tcpdump port 53(DNS)
# tcpdump greater 200(200バイト以上のパケットをキャプチャ)
フィルタ組合せ
# tcpdump host 192.168.50.1 and ip
# tcpdump host 192.168.50.1 and not ip
# tcpdump -n "not (tcp port telnet and host SERVERA and host SERVERB)"
2010年1月26日火曜日
パケットモニタキャプチャ tcpdump
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿