Ngrep - Network Grep

| | コメント(2) | トラックバック(0)

・ngrep - network grep
http://ngrep.sourceforge.net/

パケットの内容にgrepかける感じのパケットキャプチャツール。
正規表現にマッチしたパケットを抽出できます。
WinPcapが必要らしい。

「ngrep: V1.41 (win32)」を使ってみました。

使ってみる

(2004/08/03 追記 ここから)
インターフェイス(デバイス)が複数あると、指定しないといけません(指定しないと1番目が使われる)。

# インターフェイスの一覧を表示
C:\> ngrep -L
interface       device
---------       ------
        1       \Device\NPF_GenericNdisWanAdapter
        2       \Device\NPF_{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
exit

例えば、2番目のインターフェイスを使いたい時は、「-d」オプションを使って以下の様に指定します。

C:\> ngrep -d 2

(2004/08/03 追記 ここまで)

以下、2番目のインターフェイスを使った時の例。

# TCPのパケットをキャプチャ (他に、udp,icmp,ipなど)
C:\> ngrep -d 2 "" tcp
 
# 16進ダンプ
C:\> ngrep -d 2 -x "" tcp
 
# 3パケットマッチしたら終了
C:\> ngrep -d 2 -n 3 "" tcp
 
# POP3のパケット
C:\> ngrep -d 2 "" port pop3
C:\> ngrep -d 2 "" port 110
 
# POP3のUSER/PASSの部分を取得
# 「ngrep -wi "pass|user" port pop3」という例もあったけど
# 「(^pass|user\W)|(\Wpass|user$)|(\Wpass|user\W)」にマッチしたものになる
C:\> ngrep -d 2 -i "^pass |^user " port pop3
 
# HTTPレスポンスの1番目のパケット
C:\> ngrep -d 2 "^HTTP/" tcp port 80
 
# 192.168.99.11 へのHTTPリクエスト
C:\> ngrep -d 2 "" dst port 80 and dst host 192.168.99.11
 
# SYNビットが立っているパケット
C:\> ngrep -d 2 -e "" "tcp[13]&0x02=0x02"

-W オプションが使えないっぽい?

C:\> ngrep -h
usage: ngrep <-LhXViwqpevxlDtT> <-IO pcap_dump> <-n num> <-d dev> <-A num>
                                <-s snaplen> <-S limitlen> <match expression>
                                <bpf filter>

「-W byline」を使いたいんだけどなぁ。
HTTPリクエスト/レスポンス(メールヘッダも?)が見やすくなりそうなんだけどなぁ。

表示は『「filter:」に引っかかるたびに「#」が表示され、「match:」にマッチするとパケットの内容が表示される』って認識で良いかな?

・[Snort-users-jp:01179] Re: Virusとかの活動統計を取ってみるネタ
http://www.snort.gr.jp/MLarchive/snort-users-jp/2004-July/001178.html
これになんとなく惹かれて使ってみたんです。

「MUAの利用状況」とるには、こんな感じ?

C:\> ngrep -i "X-Mailer:|User-Agent:" port pop3 or port smtp

Mozilla thunderbirdは「User-Agent:」でした。
「X-Mailer:」が付かないやつもあるからこのやり方じゃまずいかな?

-W オプションが使えると操作しやすい気がしますが、どうでしょう?
自分で置換しないとだめかな?

リンク

・Manpage of NGREP
http://ngrep.sourceforge.net/ngrep.8.html
man

トラックバック(0)

このブログ記事を参照しているブログ一覧: Ngrep - Network Grep

このブログ記事に対するトラックバックURL: http://kinshachi.ddo.jp/mt/mt-tb.cgi/324

コメント(2)

Inagaki, M :

ソースコード見たら、closesocket すべきところで close を使ってるので、メモリリークしてると思いますです>Win32 版 ngrep 1.41

ike :

Inagaki, M さん。
なるほどー。
ソケットの終了は、Linuxだとcloseで、Win(WinSock2)だとclosesocketになるってことでしょうか?
実行できてるってのは、何のclose関数が実行されてるんでしょう??(よく分かってないもので・・)

コメントする


画像の中に見える文字を入力してください。

このブログ記事について

このページは、ikeが2004年8月 2日 10:09に書いたブログ記事です。

ひとつ前のブログ記事は「Qwik-Fix Pro」です。

次のブログ記事は「WinPcap 3.1」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

最近のコメント

On Ngrep - Network Grep
  • ike: Inagaki, M さん。 なるほどー
  • Inagaki, M: ソースコード見たら、closesocke
Powered by Movable Type 4.261