Life is fun and easy!
不正IP報告数
Okan Sensor
ページへ戻る
− Links
印刷
Windows10/pktmon
の編集 ::
UJP
tech_regist2
:
Windows10
/
pktmon
の編集
Windows10/pktmon の編集
詳細な入力項目を表示
ページタイトル
( 空白で自動設定 )
:
ページ並び順
( 0-9 小数可 標準:1 )
:
ページ別名
(複数は[
改行
]で区切る)
:
ページ内容:
*Windows 10でキャプチャ機能のpktmonを試す [#vdf3563e] **はじめに [#x4327d85] Windows 210 October 2018 Updateというリリースで,ひっそりとWindows 10にパケットキャプチャソフトを導入している. 従来は,Microsoft Network MonitorやWiresharkをインストールする必要があったけれど,これが内蔵されているというのは,少々問題があるかもしれない. 今回用いるマシンは,Windows 10の2020 Mayアップデートを適用したもので,pktmonというLANアナライザおよびパケットドロップをレポートするプログラムになる. このpktmonについては,現時点(2020/05/24)では,Microsoftの公式サイト上でドキュメントはない. **無邪気に実行してみる [#f3f5c053] コマンドプロンプトで,pktmonを実行してみる. Microsoft Windows [Version 10.0.18363.836] (c) 2019 Microsoft Corporation. All rights reserved. C:\Users\ujpadmin>pktmon🆑 pktmon { filter | comp | reset | start | stop } [OPTIONS | help] 内部パケット伝達レポートとパケット ドロップ レポートを監視します。 コマンド filter パケット フィルターを管理します。 comp 登録されたコンポーネントを管理します。 reset カウンターをゼロにリセットします。 start パケットの監視を開始します。 stop 監視を停止します。 format ログ ファイルをテキストに変換します。 unload PktMon ドライバーをアンロードします。 help コマンドのヘルプ テキストを表示します。 C:\Users\ujpadmin ヘルプが表示された. まずは,現在設定を確認してみる. C:\Users\ujpadmin> pktmon filter list🆑 PktMon ドライバー サービスを開始できませんでした: アクセスが拒否されました。🈁 C:\Users\ujpadmin> 一般ユーザ権限では,実行できないので,管理者権限でコマンドプロンプトを実行する. **現在設定を確認する[#uff5e546] コマンドプロンプトを管理者権限で起動する. フィルタ設定の使い方のヘルプを確認. C:\Windows\system32>pktmon filter help🆑 pktmon filter { list | add | remove } [OPTIONS | help] コマンド list アクティブなパケット フィルターを表示します。 add 報告対象のパケットを制御するフィルターを追加します。 remove すべてのフィルターを削除します。 help コマンドのヘルプ テキストを表示します。 C:\Windows\system32> listを使って,現在のパケットフィルタ状態を確認する. Microsoft Windows [Version 10.0.18363.836] (c) 2019 Microsoft Corporation. All rights reserved. C:\Windows\system32>pktmon filter list🆑 パケット フィルターはありません。 C:\Windows\system32> パケットキャプチャ設定は設定されてない. **パケットフィルタ設定を追加する addオプション [#wc22fbd2] Webアクセスで用いる,HTTP(80番)とHTTPS(443番)ポートをパケットキャプチャする設定を追加する. まずは,使い方を確認. C:\Windows\system32>pktmon filter add help🆑 pktmon filter add <名前> [-m mac [mac2]] [-v vlan] [-d { IPv4 | IPv6 | number }] [-t { TCP [flags...] | UDP | ICMP | ICMPv6 | number }] [-i ip [ip2]] [-p port [port2]] [-e [port]] 報告対象のパケットを制御するフィルターを追加します。パケットを 報告対象にするには、パケットが少なくとも 1 つのフィルターの、指定されたすべての条件に一致する必要があります。 一度に最大 8 つのフィルターをアクティブにすることができます。 name フィルターの名前または説明 (オプション)。 イーサネット フレーム -m, --mac[-address] ソースまたは宛先の MAC アドレスを一致条件とします。2 つの MAC が指定された場合、 ソースか宛先かに関係なく、フィルターはその両方を含む パケットを検出します。 -v, --vlan 802.1Q ヘッダー内の VLAN ID (VID) を一致条件とします。 -d, --data-link[-protocol], --ethertype データ リンク (レイヤー 2) プロトコルを一致条件とします。IPv4、IPv6、ARP、または プロトコル番号とすることができます。 IP ヘッダー -t, --transport[-protocol], --ip-protocol トランスポート (レイヤー 4) プロトコルを一致条件とします。TCP、UDP、ICMP、ICMPv6、または プロトコル番号とすることができます。 TCP パケットをさらにフィルター処理するために、一致条件とする TCP フラグの一覧を指定できます (オプション)。サポートされているフラグは FIN、SYN、RST、PSH、ACK、URG、ECE、CWR です。 -i, --ip[-address] ソースまたは宛先の IP アドレスを一致条件とします。2 つの IP が指定された場合、 ソースか宛先かに関係なく、フィルターはその両方を含む パケットを検出します。 TCP/UDP ヘッダー -p, --port ソースまたは宛先のポート番号を一致条件とします。2 つのポートが指定された場合、 ソースか宛先かに関係なく、フィルターはその両方を含む パケットを検出します。 カプセル化 -e, --encap カプセル化したヘッダーをフィルター条件とします。 サポートされるカプセル化の種類: VXLAN、GRE、NVGRE、IP-in-IP。 カスタム VXLAN ポートはオプションです。既定値は 4789 です。 C:\Windows\system32> 80番ポートを追加する. C:\Windows\system32>pktmon filter add -p 80🆑 フィルターが追加されました。 C:\Windows\system32> 追加された設定を確認する. C:\Windows\system32>pktmon filter list🆑 # 名前 ポート - -- --- 1 <empty> 80🈁 C:\Windows\system32> 443番ポートを追加して確認する. C:\Windows\system32>pktmon filter add -p 443🆑 フィルターが追加されました。 C:\Windows\system32>pktmon filter list🈁 # 名前 ポート - -- --- 1 <empty> 80 2 <empty> 443🈁 C:\Windows\system32> やっぱり443ポートは止めるので消す. 消す時はremoveコマンドの模様. C:\Windows\system32>pktmon filter remove help🆑 pktmon filter remove すべてのパケット フィルターを削除します。 C:\Windows\system32> 全部消す方法しかないらしい. 削除して,消えたか確認する. C:\Windows\system32>pktmon filter remove🆑 すべてのフィルターが削除されました。🈁 C:\Windows\system32>pktmon filter list🆑 パケット フィルターはありません。🈁 C:\Windows\system32> そして再度,80番ポートだけ追加して,追加を確認する. C:\Windows\system32>pktmon filter add -p 80🆑 フィルターが追加されました。🈁 C:\Windows\system32>pktmon filter list🆑 # 名前 ポート - -- --- 1 <empty> 80🈁 C:\Windows\system32> 今回は,この80番ポートのみ,キャプチャ対象として実行する. **pktmon startでキャプチャを実行する [#cc815884] pktmonはstartオプションを指定する事で実行できるが,パラメータを確認する. C:\Windows\system32>pktmon start help🆑 pktmon start [-c { all | nics | [ids...] }] [-d] [--etw [-p size] [-k keywords]] [-f] [-s] [-r] [-m] パケットの監視を開始します。 -c, --components 監視対象のコンポーネントを選択します。すべてのコンポーネント、NIC のみ、または コンポーネント ID の一覧を指定できます。既定値は all です。 -d, --drop-only ドロップされたパケットのみを報告します。既定では、正常に処理されたパケット伝達 も報告します。 ETW ロギング --etw パケット キャプチャのロギング セッションを開始します。 -p, --packet-size 各パケットからログに記録するバイト数。常にパケット全体を ログに記録するには、0 に設定します。既定値は 128 バイトです。 -k, --keywords どのイベントがログに記録されるかを制御する 16 進数の ビットマスク (以下のフラグを合わせたもの)。既定では、すべてのイベントがログに記録されます。 フラグ: 0x001 - 全般構成イベント。 0x002 - カウンターを含むコンポーネント関連情報。 0x004 - 事前に解析されたパケット。 0x008 - パケット メタデータ (NBL OOB)。 0x010 - 未処理のパケット ペイロード。 -f, --file-name .etl ログ ファイル。既定値は PktMon.etl です。 -s, --file-size ログ ファイルの最大サイズ (MB 単位)。既定値は 512 MB です。 ロギング モード -r, --circular 最大ファイル サイズに達すると、新しいイベントによって 最も古いイベントが上書きされます。 -m, --multi-file 最大ファイル サイズに達すると、新しいログ ファイルが作成されます。 ログ ファイルには、PktMon1.etl、PktMon2.etl のように順番に番号が付けられます。 C:\Windows\system32> ETWとは,Event Tracing for Windowsの事.通信ログはこのETWに流れてくるそうで,これをログイングするために--etwオプションを設定する.またパケットサイズは全てを保存するので0を設定. そのほかのオプションはデフォルトとする. 次のようにコマンドプロンプトで実行する. C:\Windows\system32>pktmon start --etw -p 0🆑 ログ ファイル名: C:\Windows\system32\PktMon.etl🈁 ログ モード: 循環 最大ファイル サイズ: 512 MB アクティブな測定を開始しました。 C:\Windows\system32> ブラウザを使って,適度にWebブラウジングする. 次に,パケットキャプチャを停止する. C:\Windows\system32>pktmon stop🆑 ログ ファイル: C:\Windows\system32\PktMon.etl (イベントは失われていません) Intel(R) Dual Band Wireless-AC 7265 ID 名前 カウンター 方向 パケット バイト | 方向 パケット バイト -- -- ----- -- ---- --- | -- ---- --- 34 Native WiFi Filter Dr... Upper Rx 828 1,148,635 | Tx 189 25,038 33 VirtualBox NDIS Light... Upper Rx 828 1,148,635 | Tx 189 25,038 32 QoS Packet Scheduler Upper Rx 0 0 | Tx 189 25,038 | 95 TCPIP (NDIS) Lower Rx 828 1,148,635 | Tx 189 25,038 77 LLTDIO Lower Rx 828 1,148,635 | Tx 0 0 73 NDISUIO Lower Rx 828 1,148,635 | Tx 0 0 C:\Windows\system32> これでキャプチャ完了. **ログファイルを可読化する pkmon format[#g35025b2] キャプチャした際のログファイルを確認する. C:\Windows\system32>dir C:\Windows\system32\PktMon.etl🆑 ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は F464-9747 です C:\Windows\system32 のディレクトリ 2020/05/24 20:10 83,886,080 PktMon.etl🈁 1 個のファイル 83,886,080 バイト 0 個のディレクトリ 373,325,750,272 バイトの空き領域 C:\Windows\system32> 83MBのファイルができていた.(キャプチャした内容に依存する) ETW形式でバイナリなので人間が読めるように変換をし,返還後のファイルサイズを確認. C:\Windows\system32>pktmon format PktMon.etl -o pktmon.txt🆑 処理しています... 書式設定されたイベント: 15406 書式設定されたファイル: pktmon.txt C:\Windows\system32>dir pktmon.txt🆑 ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は F464-9747 です C:\Windows\system32 のディレクトリ 2020/05/24 20:13 7,778,150 pktmon.txt 1 個のファイル 7,778,150 バイト 0 個のディレクトリ 373,320,957,952 バイトの空き領域 C:\Windows\system32> テキストになった方がサイズは減った. **変換したログをメモ帳で開く [#j92d6ab9] 記録されたファイルは,可読性のあるテキストという事で,開いてみる. #ref(site://modules/xelfinder/index.php?page=view&file=7108&pktmon01.png,center,mw:600,mh:600) IPアドレス,MACアドレスなどが記録されていることはわかる.また,日本語に変換されていて,区切り文字が「、」だったりするし,このままの生ログだと実質人間は読めない... このログファイルは,Microsoft Network Monitorを利用することで,読みやすくできる模様.
編集の要約:
Q & A 認証:
ページ更新時は次の質問にお答えください。(プレビュー時は必要ありません)
Q:
「名古屋」の読みがな?(ひらがなで)
A:
お名前:
タイムスタンプを変更しない
テキスト整形のルールを表示する
[1]
添付ファイル
[2]
:
Links list
(This host) = http://www.ujp.jp
(This host)
/modules/tech_regist2/?cmd=edit&help=true&page=Windows10%2Fpktmon
(This host)
/modules/tech_regist2/?plugin=attach&pcmd=list&refer=Windows10%2Fpktmon