Windows 標準コマンドでパケットキャプチャ
pktmon
Windows の標準コマンド(Windows 10 October 2018 Update 以降) pktmon
でパケットキャプチャを取れる。pcapng への変換も別ツールを使わずできて便利。後述の netsh
の場合は別途ツールのダウンロードが必要。
フィルタを設定する
追加
MACアドレス、IPアドレス、ポートについては送信元と送信先が区別されない
pktmon filter add [name] <filter> pktmon filter add -i 10.0.0.10 -t icmp pktmon filter add -p 53
-p <port>
-i <ip>
-i <ip/subnet>
-t <tcp|udp|icmp|number>
確認
pktmon filter list
削除
pktmon filter remove
キャプチャを開始する
-f <filename>
を指定しないと規定値はPktMon.etl
となる--pkt-size 0
を指定しないと、各パケットについてパケット全体ではなくパケットの先頭から 128 バイトしか記録されない
pktmon start -c --pkt-size 0 -f <filename>
特定のインターフェースのパケットのみキャプチャする場合、以下のコマンドでインターフェス ID を確認し --comp <ID>
で指定する
pktmon list pktmon start -c --pkt-size 0 --comp <ID> -f <filename>
キャプチャを停止する
pktmon stop
ログファイルを変換する
キャプチャした etl
形式のファイルを、Wireshark で開ける pcapng
形式のファイルに変換する。
pktmon etl2pcap <etl file>
Functionality
Packet Monitor offers the following functionality:
- Packet monitoring and counting at multiple locations along the networking stack
- Packets drop detection at multiple stack locations
- Flexible runtime packet filtering with encapsulation support
- General logging and tracing support (ETW and WPP events)
- TXT log analysis based on TcpDump packet parsing
- Multiple logging modes: real-time, high volume in-memory, multi-file, circular
- Ethernet, Wi-Fi, and mobile broadband media type support
- PCAPNG format support
参考
netsh
Windows の標準コマンド netsh
でパケットキャプチャを取れる。
キャプチャを開始する
traceFile=<filename>
を指定しないと既定では%TEMP%NetTraces
に出力されるmaxsize=XXX
でキャプチャサイズの上限を指定できる(単位はMB)
netsh trace start capture=yes traceFile=<filename>
OS 起動時のパケットをキャプチャしたい場合は persistent=yes
を指定する。
フィルタを設定する
IP アドレス
IPv4.Address=192.168.0.10 IPv4.Address=!(192.168.0.10) IPv4.Address=(192.168.0.10,192.168.0.20)
インターフェース
netsh trace show interfaces netsh trace start capture=yes CaptureInterface={XXXX-XXXX-XXXX-XXXX-XXXXXXXX}
ヘルプ
netsh trace show capturefilterHelp
キャプチャを停止する
netsh trace stop
ログファイルを変換する
キャプチャした etl
形式のファイルを、Wireshark で開ける pcapng
形式のファイルに変換する。ファイル形式の変換には Microsoft が Github で公開している etl2pcapng というコマンドラインツールを利用する。
以下から単体の実行ファイルがダウンロードできる。
https://github.com/microsoft/etl2pcapng/releases
使い方は以下のように簡単。
etl2pcapng trace.etl trace.pcapng