Windows 11/10でNetstatを使ってネットワークのトラブルシューティングを効果的に行う方法
Windows 11/10 でのネットワークトラブルシューティングに Netstat を使用する
正直なところ、Windows でネットワークの問題に対処するのは、時に非常に面倒な作業になることがあります。ping、traceroute、さらには Wireshark でも十分な手がかりが得られない場合、netstat が救世主となるかもしれません。ただし、何を探せばいいのかが分かっている場合に限ります。netstat は見落としがちなコマンドラインツールですが、接続の診断、不正なアプリケーションの追跡、あるいは単にシステム内部で何が起こっているかを把握するのに非常に役立ちます。ただし、出力が乱雑だったり、アクティブな接続が何をしているのかが明確でなかったりすることがあります。しかし、少し調整するだけで、netstat をネットワークの探偵に変身させることができます。しかも、netstat は高速で、追加のインストールなしで最近のすべての Windows バージョンで動作します。
ネットワークのトラブルシューティングにNetstatを使用する方法
基本から始めましょう: コマンドプロンプトを管理者として実行する
- スタートメニューを右クリックするか、Win + X
- Windowsターミナル(管理者)またはコマンドプロンプト(管理者)を選択します
netstat の一部のオプションは昇格された権限を必要とするため、これは必須です。そうしないと、取得できる情報が制限されるか、まったく取得できなくなります。Windows がなぜこれを複雑にする必要があるのかは分かりませんが、現状はこうなっています。
netstat コマンドを使用して現在の接続を素早く確認する
- 入力し
netstatて押すEnter
アクティブなTCP接続とUDP接続が表示されますが、慣れていないと列の内容が分かりにくいことがあります。Proto列はTCPかUDPかを示し、Local Address列はマシンのIPアドレスとポート番号、Foreign Address列はリモートサーバー、State列は接続がESTABLISHEDかTIME_WAITかなどを示します。かなり分かりやすいのですが、時々分かりにくい部分もあります。
ヒント:ポート番号が数字ではなく名前で表示される場合があり、混乱を招く可能性があります。これを解消してポート番号そのものを表示するには、次のコマンドを実行してください。
netstat -n
一時的な接続をキャッチするために、定期的にネットワーク情報を更新します
- 走る:
netstat -n 5
これにより、リストが5秒ごとに更新されるので、接続の変化をリアルタイムで確認できます。停止するには、 を押してくださいCtrl + C。注:間隔は調整可能です(5を任意の秒数に置き換えてください)。不安定なネットワークでは、瞬きするよりも早く接続が表示されたり消えたりすることがあるので、この方法は役立ちます。
接続をフィルタリングし、パラメータでさらに深く掘り下げる
Netstatには、何が起こっているかを把握するのに役立つスイッチが多数あります。ここでは、よく使われるスイッチをいくつか紹介します。
アクティブな接続と非アクティブな接続を表示します。netstat -a
すべてのリスニングポートとアクティブなセッションの概要を把握するのに最適です。ポートを占有しているサービスやアプリを見つけたいときに便利です。
接続に関連付けられたプロセスを一覧表示します。netstat -b
ちょっと奇妙ですが、設定によっては、特に通常のコマンドプロンプトウィンドウで実行している場合、情報収集に時間がかかることがあります。各接続にどのアプリが関与しているかが表示されます。マルウェアや不正アプリがネットワークに侵入している疑いがある場合に便利です。
プロトコル統計を表示:netstat -s
これにより、ネットワーク トラフィックがプロトコル別に分類され、送受信されたパケット、エラーなどが表示されます。ネットワークの輻輳やパケット損失を正確に特定するのに適しています。
ルーティングテーブルを参照してください:netstat -r
これは、PCのトラフィックのルーティング方法を示すマップのようなものです。接続に問題が発生している場合は、ルーティングを確認することで、設定ミスや競合が明らかになることがあります。
リスニングポートを表示します:netstat -an | find "LISTEN"
このコンボは、ネットワークリストをフィルタリングし、着信接続を待機しているポートのみを表示します。セキュリティチェックや、特定のサービスにアクセスできない原因のトラブルシューティングに便利です。(LISTENINGnetstat -anを検索して検索することもできます。)
オプションを組み合わせて特定の情報を取得する
例えば、すべてのUDP接続とプロセスIDを確認したいですか?複数のパラメータを追加するだけです。
netstat -aua
特定のフラグを覚えていて、すべてのオプションを確認したい場合は、次のように入力します。
netstat /?
サポートされているすべてのスイッチのリストが表示されます。システムによっては、スイッチを組み合わせることで非常に詳細な情報を表示できますが、大量の情報が表示される場合があります。まるで消火栓から大量の情報を飲むような感じです。
ネットワークコマンドとネットワーク設定のリセットに関する注意事項
netstatでトラフィックの問題や疑わしい接続が見つかった場合は、ネットワークスタックをリセットすると改善することがあります。以下の方法でリセットできます。
netsh int ip reset
または
netsh winsock reset
これらのコマンドは必ず管理ウィンドウで実行してください。リセット後、ネットワークが一時的に切断される場合があり、その場合はPCの再起動が必要になることがあります。念のためお知らせしますが、Windowsはこのプロセスを本来よりも少し面倒にしています。
まとめ
- フルアクセスのために管理者権限でnetstatを起動する
netstat -n生のポート/番号に使用する- 情報を更新する
netstat -n 5 - 、、などの
netstat -aコマンドでフィルタリングするnetstat -bnetstat -r - スイッチを組み合わせて詳細表示
- 問題が長引いていると思われる場合はネットワーク設定をリセットしてください
まとめ
全体的に見て、netstat は最初は少し使いにくいように思えるかもしれませんが、一度使い方を覚えてしまえば、ネットワークの状況を追跡するのに非常に便利です。特定のポートが動作しない理由を突き止めたり、奇妙な接続を見つけたり、あるいは単にネットワークトラフィックをより深く理解したい場合など、netstat は役立つツールです。ただし、出力が明確でない場合もあるため、情報をつなぎ合わせたり、他のツールと組み合わせたりする必要があることを覚えておいてください。それでも、追加のソフトウェアなしで、ある程度の可視性を得るための簡単な方法です。
これで誰かの時間節約になれば幸いです。適切なコマンドを知っていれば、ネットワークのトラブルシューティングはそれほど複雑になる必要はありません。