2010年1月26日火曜日

パケットモニタキャプチャ tcpdump

パケットキャプチャ:
/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月16日土曜日

snoopコマンド soalris パケットモニタ パケットキャプチャ

snoop -d eth1 -r -o outfile -x 0 host 192.168.50.3 -t

-d:デバイス指定
-r:名前解決しない
-o:出力ファイル
-x 0:パケットの内容を16進ダンプ
host:対象ホスト

-t:タイムスタンプ
 -ta:absolute時刻
 -td:delta時間(前のパケットからの相対時間)
 -tr:relative時刻最初のパケットからの相対時間

NFSプロトコルのみみたい?
snoop -d eth1 -r -o outfile -x 0 host 192.168.50.3 -t -p 2049

NFSのWellKnownポート?
rpcinfo -p| grep -i nfs



2010年1月14日木曜日

topコマンド

バッチ処理でモニタ
top -b -d 1 -c H > top_`date +%Y_%m_%d_%H_%M_%S`.log


O
表示対象選択(昇順、降順を切り替えR)

k
特定のプロセスをKill

r
プロセスの優先度変更

-u, -p
「top -u ユーザ名」
「top -p PID [,PID]」

1
CPUごとに行をわけて表示

d, [space]
リフレッシュレート変更
スペースキーで即時更新

z, b
実行プロセスハイライト

c
プロセスのPath表示

-n
「top -n 2」「2回読み込み終了」

-b
バッチモードで実行
「top -b -n 1」、アウトプットをテキスト、メール

A
別々の切り口で表示

h
ヘルプ

n
一度に表示したいプロセスの数を指定

l, t, m
ヘッダーを表示・非表示

W
設定保存

R
昇順、降順トグル



2010年1月6日水曜日