特定のプログラムが使用しているポートを把握できるようにしたい。オンラインで利用できるプログラムや、コンピューターのどのポートをどのプロセスが使用しているかを知らせるウィンドウが付属するプログラムはありますか?
PS-プログラミングの質問ではないため、これをダウンモッドする前に、ネットワークコードをテストするプログラムを探しています。
netstat -b -a
は使用中のポートをリストし、各ポートを使用している実行可能ファイルを提供します。これを行うには管理者グループに参加する必要があると思いますが、Vistaにどのようなセキュリティ上の影響があるかはわかりません。
通常、-n
を追加して少し速くしますが、-b
を追加するとかなり遅くなります。
Edit:netstatが提供する以上の機能が必要な場合は、 vasacが推奨しますTCPView を試してください。
TCPView はあなたが要求したことをすることができます。
Vistaでは、netstatで-bオプションを使用するには昇格した権限が必要です。それを回避するには、「netstat -ano」を実行して、開いているすべてのポートと関連するプロセスIDを表示します。次に、タスクリストを使用して、対応するIDを持つプロセスを検索できます。
C:\>netstat -ano
Active Connections
Proto Local Address Foreign Address State PID
...
TCP [::]:49335 [::]:0 LISTENING 1056
...
C:\>tasklist /fi "pid eq 1056"
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
sqlservr.exe 1056 Services 0 66,192 K
既にProcess Explorer(Sysinternals、現在はMicrosoftの一部)がインストールされている場合があります。そうでない場合は、今すぐインストールしてインストールしてください。
Process Explorerで、問題のプロセスを見つけ、右クリックして[TCP/IP]タブを選択します。ソケットごとに、そのソケットを開いたコードを表すスタックトレースも表示されます。
GUIインターフェイスを使用する場合は、 CurrPorts は無料で、すべてのバージョンのウィンドウで機能します。ポートと、それらを開いているプロセスを表示します。
「netstat -natp」は私がいつも使用しているものです。
Windowsにはnetstat
ユーティリティが付属しており、これはまさにあなたが望むことをするはずです。
Windows 8(およびおそらく7 + Vista)も、リソースモニターでビューを提供します。 [ネットワーク]タブを選択すると、[リスニングポート]というセクションがあります。ポート番号でソートし、それを使用しているプロセスを確認できます。
Open Ports Scanner 私にとってはうまくいきます。
コマンドラインで、netstat -aは多くの情報を提供します。
これには「netstat」コマンドを使用できます。この種のことを行う説明があります here 。