Windows 10 システムで ICMP 要求を検出する

Windows 10 システムで ICMP 要求を検出する

Windows 10 システムで ICMP 要求 (例: ping) を検出する方法を探しています。残念ながら、ICMP はポートに依存しないため、netstat では機能しません。そのため、TCPview などの他の軽量ツールも機能しません。

Windows 10 システムで ICMP を監視するためのネイティブ コマンドはありますか? あるいは、他に解決策がない場合は、できれば Wireshark よりもシンプルで軽量なサードパーティ ツールを使用します。ヒントや解決策があれば、ぜひ教えてください。

答え1

残念ながら、ICMPはポートに依存しないため、netstatでは動作しません。

いいえ、ICMPハンドラが通常のソケットただし、IP スタックに組み込まれています。ただし、たとえば UDP または TCP パケットを生成するために「raw ソケット」を使用するプログラム (たとえば、nmap が該当すると思います) がある場合、netstat でもそれらが表示されません。

また、ICMPはデータグラムベースのプロトコルであり、単一の「未接続」ソケットがあらゆるソースからパケットを受信できるため、いずれにしても機能しない。たとえそれがUDP(するnetstat に表示される場合、*:*サーバーが 50 の異なるクライアントに応答している場合でも、通常は 1 つの「Foreign Address:」ソケットのみが表示されます。

Windows 10 システムで ICMP を監視するネイティブ コマンドはありますか?

Windows 10 はpktmon2018 年にリリースされました。

pktmon filter add -p ICMP
pktmon start --etw -m real-time
pktmon filter add -p ICMP
pktmon start -c
...
pktmon stop
pktmon etl2txt .\PktMon.etl

トレースはさまざまな OS レイヤーで実行されるため、同じパケットが複数の Windows コンポーネントを通過しているように見えます (1 か所でのみ取得する Npcap とは異なります)。

PktmonのETLキャプチャファイルも.pcapng に変換Wireshark で使用するため。

あるいは、他に解決策がない場合は、サードパーティのツールを使用します。できれば、Wiresharkよりもシンプルで軽量なものが望ましいです。

tsharkWireshark には、ターミナルにパケットをキャプチャする (tcpdump に非常に似ていますが、Wireshark の解析機能のみを備えています)コマンドライン ツールと、dumpcap生の pcapng ファイルを出力する (オプション付きの tcpdump と同様) コマンドライン ツールの 2 つが付属しています-w

(他のツールも、Wireshark と一緒にインストールされる同じ Npcap ドライバーを直接使用する場合があります。たとえば、そのための tcpdump ポートが存在する可能性があります。ただし、Wireshark には特別な例外がある Npcap のライセンスに注意する必要があります。これらのツールの一部では、Npcap を「WinPcap 互換」モードでインストールする必要がある場合もあります。)

答え2

ICMPプローブを検出できる無料ツールは ワイヤーシャーク

ネットワーク アダプターを選択してキャプチャを開始したら、表示フィルターを ICMP に設定できます。

以下は検出の例ですping localhost:

ここに画像の説明を入力してください

関連情報