Windows10の標準コマンド「pktmon(パケットモニター)」でパケットキャプチャしてみる。
はじめに
Windows10の標準コマンド「pktmon(パケットモニター)」でパケットキャプチャをしてみます。
「pktmon」はパケットキャプチャツールというよりは、パケットキャプチャもできるNWトラブルシュートツールという位置付けなようです。
パケットキャプチャ
コマンドオプションは下記に説明があるが、内容が古いため「help」を使って調べた方が無難です。
※例)pktmon start help
ログ取得開始/終了
管理者として起動したPowerShell/コマンドプロンプトで以下コマンドを実行します。
・ログ取得開始 > pktmon start -c --pkt-size 0 > pktmon start -c --pkt-size 0 --comp [コンポーネントID] ・ログ取得終了 > pktmon stop
startについて
- デフォルトでは各パケットの先頭128Byteのみ記録されるため、「--pkt-size」に0を指定する。
- 「--comp」でログ取得するコンポーネントを指定可能。「--comp」を指定しない場合、全てのログを取得する。ログ取得後に特定コンポーネントのみログを抜き出すことも可能。
コンポーネントは「pktmon comp list --all」で確認する。下記では「146」がIPv6、「147」がIPv4、ARP。
>pktmon comp list --all NIC: Intel(R) Ethernet Connection (6) I219-V ID: 13 ドライバー: e1d68x64.sys MAC アドレス: XX-XX-XX-XX-XX-XX ifIndex: 28 フィルター ドライバー: ID ドライバー 名前 -- ----- -- 61 wfplwfs.sys WFP Native Filter 60 npcap.sys Npcap Packet Driver (NPCAP) 59 VBoxNetLwf.sys VirtualBox NDIS Light-Weight Filter 58 pacer.sys QoS Packet Scheduler 57 wfplwfs.sys WFP 802.3 Filter プロトコル: ID ドライバー 名前 EtherType -- ----- -- --------- 146 tcpip.sys TCPIP6 IPv6 147 tcpip.sys TCPIP IPv4, ARP 142 vmnetbridge.sys VMNETBRIDGE * (All) 136 lltdio.sys LLTDIO * (All) 135 mslldp.sys MSLLDP LLDP 130 rspndr.sys RSPNDR VLAN, LLTD 125 ndisuio.sys NDISUIO VLAN, 802.1X, 802.11i
ログファイルについて
- ファイルはETL形式で保存(取得後に変換可)
- デフォルトのファイル名は「PktMon.etl」(オプションで変更可)
- デフォルトの最大サイズは512MB、それを超えると上書きされる(オプションで変更可)
フィルタ
tcpdumpと同様にフィルタ設定が可能、複数行の設定も可能。
※ログ取得開始前に設定しておく必要があります。
・フィルタ設定例 > pktmon filter add -i 8.8.8.8 -t udp -p 53 ・フィルタの表示 > pktmon filter list ・フィルタのクリア > pktmon filter remove