Windows 10でIPアドレスからポート番号を取得するのは、毎日行う作業ではありませんが、ネットワークの不具合をトラブルシューティングしたり、PCに接続しているデバイスを特定したりする場合に非常に役立ちます。それほど複雑ではありませんが、古いWindowsでは操作が少し複雑になることがあります。そこで、この簡単なガイドでは、コマンドプロンプトを使ってアクティブなネットワーク接続を確認し、特定のIPアドレスにリンクされているポートを特定する方法を紹介します。数回実行すれば、不審なアクティビティを見つけたり、接続の問題を解決したりできるようになるでしょう。
Windows 10でIPアドレスからポート番号を取得する方法
基本的に、ここでの目標は、現在のすべてのネットワーク接続を確認し、使用されているポートと関連するIPアドレスを特定することです。これは、自分のネットワークをスパイするようなものですが、合法かつ安全に行うことができます。設定によっては、コマンドから大量の情報が得られる場合があるため、特定のポートまたはIPでフィルタリングして絞り込むことをお勧めします。ローカルアドレスとリモートアドレス、ポート、そして場合によってはプロセスIDが表示されたリストが表示されるはずです。これは、良くも悪くも、帯域幅を占有している原因や接続の問題の原因を突き止めるのに役立ちます。
コマンドプロンプトを開く
- [スタート]をクリックし、「cmd」と入力します。
- コマンドプロンプトEnterを押したりクリックしたりします。
魔法が起こるのはここです。Windowsのコマンドプロンプトは、複雑なGUIオプションをいじりたくないときに、ネットワークのトラブルシューティングに役立つ隠れた名ツールです。Windowsではこうした情報を無料で入手するのが難しいと感じることもありますが、これらのコマンドは、どこを見ればよいかを知っていれば、それでも役立ちます。
Netstatコマンドを実行する
- 入力し
netstat -a
て押しますEnter。
アクティブなネットワーク接続とそのポート番号をすべて一覧表示します。「127.0.0.1:8080」や「192.168. XX:443」といったエントリが表示されます。負荷の高いマシンではリストが長くなることがあるため、後でフィルタリングすることをお勧めします。「-a」はアクティブな接続とリッスンポートをすべて表示することを意味します。これは、簡単なスキャンには十分な場合が多いです。
結果をフィルタリングして特定のIPまたはポートを見つける
- 必要なポートまたは IP を入力し
netstat -an | findstr :
て置き換えます。:
- たとえば、ポート 80 を使用するすべての接続を検索する場合は、次のように入力します
netstat -an | findstr :80
。
これにより、対象を絞り込み、ステータスコードの山に溺れるのを防ぐことができます。「findstr」コマンドは、関心のあるポートまたはIPを含む行のみを表示するため、関連する情報を分析するのがはるかに簡単になります。一部のマシンでは、特に複数のアプリが同時に通信している場合、長いリストが表示されることがあります。辛抱強く待って、疑わしいIPアドレスや予期しないIPアドレスを探してください。
ローカルアドレスとリモートアドレスの列を確認する
- 「ローカル アドレス」(PC)と「外部アドレス」(リモート IP)に注意してください。
- 見慣れない IP や奇妙なポートには注意してください。マルウェア、リモート アクセス、または通常のアプリである可能性があります。
これらの列には、必要な情報がすべて表示されます。ルーター、サーバー、既知のサービスなど、見慣れたIPアドレスが表示されることもあります。また、外国のランダムなIPアドレスが表示されることもあります。これは、予期していなかった場合、危険信号となる可能性があります。
詳細情報を得るための追加のNetstatオプションの使用方法
- 実行する
netstat -b
と、各接続を使用しているアプリケーションを確認できます。この情報にアクセスするには、コマンドプロンプトを管理者として実行する必要がある場合があります。 - 実行する
netstat -o
と、各接続に割り当てられたプロセスID(PID)が取得されます。その後、タスクマネージャーでPIDを調べて、どのアプリが原因となっているかを確認できます。 - 場合によっては、
netstat -anob
アプリ情報と詳細な状態の両方を取得するために、管理者権限で実行する必要があります。 Get-NetTCPConnection
また、特にスクリプトに慣れている場合は、より構造化されたデータを得るために、コマンドとともに PowerShell を使用することを検討してください。
Windows 10でIPアドレスからポート番号を取得するヒント
- データを分解することは
netstat -b
便利ですが、管理者権限が必要になる場合があり、一部のシステムで遅延やハングが発生する可能性があります。そのため、準備ができたときに実行してください。 findstr
調べるポートまたは IP がわかっている場合は、フィルタリングが役立ちます。そうでない場合、リストが膨大になる可能性があります。- 一部のポートはWindowsや特定のサービス用に予約されているので注意してください。その用途を本当に理解していない限り、ポートをいじらないでください。
netstat -o
タスク マネージャー ( Ctrl + Shift + Esc >詳細タブ) と組み合わせてPID を検索し、どのプロセスが何を引き起こしているかを把握します。- 時々アクティブな接続を確認することは悪い習慣ではありません。特に、ネットワークの速度が異常に低下したり、説明できないアクティビティが発生している場合は、確認することをお勧めします。
よくある質問
そもそもポート番号とは何でしょうか?
お使いのマシン上の特定のサービスやアプリケーションのアパート番号のようなものだと考えてください。ブラウザ、ゲーム、バックグラウンドアプリなど、ネットワークトラフィックを適切な場所に誘導します。
ポート番号を探す手間がかかるのはなぜですか?
ブラウジングの速度低下や接続切断などの問題が発生した場合、どのポートが開いているか、または使用中であるかを把握することで、問題を特定したり、マルウェアが侵入しようとしているかどうかを確認したりすることができます。
これらのコマンドを実行するのは危険ですか?
実際にはそうではありません。情報を表示するだけで、何も変更しません。ただし、netstat -b
やadmin
レベルのコマンドなどのコマンドを実行するには権限が必要なので、コマンドプロンプトは必ず管理者として実行してください。
ここから接続を閉じたりブロックしたりできますか?
netstat を使って直接接続を閉じるのはネイティブではありませんが、タスクマネージャーでプロセスを終了したり、高度なツールを使用したりできます。まずは疑わしいアクティビティを特定することをお勧めします。
コマンドプロンプトが表示されない場合はどうすればいいでしょうか?
おそらく権限の問題でしょう。右クリックして「管理者として実行」を選択する必要があるかもしれません。特に仕事用のマシンでは、特定の制限によりこれらのツールが完全にブロックされることがあります。
まとめ
- コマンドプロンプトを開きます(管理者権限でのアクセスが望ましい)。
- 実行する
netstat -a
と、すべてのアクティブな接続が表示されます。 findstr
特定のポート/IPでフィルタリングします。- ローカル アドレスとリモート アドレスをチェックして、異常がないか確認します。
- アプリケーションと PID に関する詳細情報を取得するには、
-b
またはなどの追加フラグを使用します。-o
まとめ
コマンドプロンプトでポート番号を調べるのは、ネットワークのトラブルシューティングにおけるちょっとした秘密の握手のような感じです。確かに、必ずしも直感的ではないし、最初は情報量が多すぎて圧倒されることもありますが、コマンドをいろいろと試していくうちに、実際に何が起こっているのかがわかってきて、満足感を得られます。これは単なるオタク趣味ではなく、奇妙なネットワークの不具合を診断したり、怪しい接続を見つけたりする上で、実際に不可欠なこともあります。なぜうまくいくのかはよく分かりませんが…とにかく、うまくいくのです。