Windows10でネットワークスニファーツールPktMon.exeを使用する方法

Windows 10には、内部パケット伝播およびパケットドロップレポートを監視するための組み込みのネットワークスニファーツール(Network Sniffer Tool)PktMon.exe )が用意されています。(PktMon.exe)このツールは、詮索するのに役立ちます。ネットワークは、ネットワーク遅延の原因を解決し、影響を受けるアプリケーションを特定し、追加のツールセットと一緒に使用すると、上位のメトリックへの洞察を提供するのに役立ちます。この投稿では、 Windows 10で新しい(Windows 10)ネットワークスニファーツール(Network Sniffer Tool)PktMon.exe)を使用する方法を紹介します。

(Network Sniffer Tool)Windows10の(Windows 10)ネットワークスニファーツールpktmon.exe

PktMon.exeまたはPacketMonitorは、新しいネットワークスニファまたはネットワーク診断およびパケット監視ツールです。これはSystemsフォルダーにあります。つまり、(Systems)実行(Run)またはコマンドプロンプト(Command Prompt)またはPowerShellから呼び出すことができます。

プログラムがNetshTraceCommand(Netsh Trace)について思い出させるなら、あなたは正しいです。Netsh Traceコマンドは、ネットワーク接続の問題のトラブルシューティングを支援するために、ネットワークトレースを有効にして構成するのに役立ちます。

ネットワークスニファツールpktmon.exe

PktMonは何ができますか?

コマンドプロンプトでPktMon.exeヘルプ(PktMon.exe Help)を実行した場合 。これがあなたが得るものです:

  • filter:パケットフィルターを管理します。
  • comp:登録されたコンポーネントを管理します。
  • リセット:(reset:)カウンターをゼロにリセットします。
  • start:パケット監視を開始します。
  • stop:監視を停止します。
  • 形式:(format:)ログファイルをテキストに変換します。
  • アンロード:(unload:) PktMonドライバーをアンロードします。

また、特定のコマンドについてさらにヘルプが必要な場合は、そのコマンドに対してヘルプを実行できます。外観は次のとおりです。

pktmon filter help

pktmon filter { list | add | remove } [OPTIONS | help]
Commands
list Display active packet filters.
add Add a filter to control which packets are reported.
remove Removes all filters.

PktMon.exeには、PCAPNGファイル形式のリアルタイム監視とサポートも付属しています。

読む(Read)Windows10でDNSoverHTTPSを有効にしてテストする方法(How to enable and test DNS over HTTPS in Windows 10)

PktMonを使用してネットワークトラフィックを監視する方法

簡単な例でそれを使用する方法の例はここにあります。

  1. ポートを監視するためのフィルターを作成する
  2. 監視を開始します
  3. ログを読み取り可能な形式にエクスポートする

この例では、問題が頻繁に発生する可能性のあるコンピューターのポート番号を監視することを想定しています。

1.フィルターを作成します

トラフィックを監視できる主なオプションは—filterです。このオプションを使用すると、イーサネットフレーム(Ethernet Frame)、IPヘッダー、TCPヘッダー、およびカプセル化(Encapsulation)に基づいて報告されるパケットを制御するフィルターを作成できます。下記のプログラムを実行すると、フィルターで何ができるかについての完全な詳細が得られます。

pktmon filter add help

トピックに戻って、TCPポート(monitor TCP port)番号1088を監視するとします。これは、クラッシュしているカスタムアプリケーションで使用されるポートである可能性があり、PktMonはネットワークに問題があるかどうかを判断するのに役立ちます。

管理者権限でコマンドプロンプト(Command Prompt)またはPowerShellを開く

コマンド「pktmonfilteradd-p [port]」を使用して、パケットフィルターを作成します。

pktmon filter add -p 1088

次に、コマンド「pktmon filter list」を実行して、追加されたフィルターのリストを表示できます。

ネットワークスニファツールPktMon.exe

すべてのフィルターを削除するには、コマンド「pktmonfilterremove」を実行します

2.監視を開始します

これはバックグラウンドで実行される自動プログラムではありませんが、オンデマンドで動作するため、手動で監視を開始する必要があります。次のコマンドを実行して、パケットの監視を開始します

pktmon start --etw - p 0

監視を開始し、指定された場所にログファイルを作成します。ロギングを停止するには、「stop」引数の使用を手動で停止する必要があります。そうしないと、コンピューターがシャットダウンしたときに終了します。「-p0」を指定してコマンドを実行すると、128バイトのパケットのみがキャプチャされます。

Log filename: C:\Windows\system32\PktMon.etl
Logging mode: Circular
Maximum file size: 512 MB

3.ログ(Log)を読み取り可能な形式にエクスポートします

pktmon読み取りログファイル

ログファイルはPktMon.ETLファイルに保存され、次のコマンドを使用して人間が読める形式に変換できます。

pktmon format PktMon.etl -o port-monitor-1088.txt

それが終わったら、メモ帳でファイルを開いて読んでいる間、意味をなすために、MicrosoftNetworkMonitorを使用する必要があります。 ETLファイルを直接読み取ることができます。

そうは言っても、Microsoftは(Microsoft)Windows 10 2004で期待されていたリアルタイム監視のサポートの展開を開始する予定ですが、そのオプションはまだわかりません。

関連(Related read)記事:Windows10用の無料パケットスニッフィングツール。(Free Packet Sniffing Tools)