#Ngrepで条件を指定してパケットキャプチャ
環境:AplineLinux3.2 パケットをキャプチャするためのいくつかのツールがあるが、Ngrepを使用する場合のオプションと実際の使用について、まとめてみる。
Ngrepを使ってパケットキャプチャする際に-
- 条件を指定して特定のSIPパケットを取り出し、Pcapファイルを生成する
- タイムスタンプの入ったファイルを生成する
#####インターフェースを指定する/指定しない
どんなインターフェースが使用されているかを確認する
checking.interface
localhost:~# ifconfig
eth0 Link encap:Ethernet HWaddr (MAC-address of NIC)
inet6 addr: (ipV6 address) Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:65615797 errors:0 dropped:75 overruns:0 frame:0
TX packets:591221623 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:133077837117 (123.9 GiB) TX bytes:130476534174 (121.5 GiB)
インターフェースを指定する
specified.interface
NIC=eth0
ngrep -qtWbyline -d ${NIC:-any} "($pattern)"
-- オプション指定 -d : is use specified device instead of the pcap default
変数NICで任意のインターフェースを指定できる
ngrep -qtWbyline -d eth0 "($pattern)" と同義
インターフェースを指定しない
not.specified.interface
NIC=any
ngrep -qtWbyline -d ${NIC:-any} "($pattern)"
ngrep -qtWbyline -d any "($pattern)" と同義
#####出力をPcapファイルに出力する
きほんの -O オプション
-Oをつけて実行
ngrep -qtWbyline -d ${NIC:-any} -O ${OUTPUT:-/var/tmp/}.pcap
hostnameとタイムスタンプをつけて、保存する
動的にファイル名を生成する
ngrep -qtWbyline -d ${NIC:-any} -O /var/tmp/$(hostname)_$(date + %s).pcap "${PATTERN:-}"
SIPに限定する
sip.limited
ngrep -qtWbyline -d ${NIC:-any} -O /var/tmp/$(hostname)_$(date +%s).pcap "${PATTERN:-}" port 5060