2

いくつかのTCPポートにバインドするWindowsサービスがあります。このポートは、アプリケーション間のIPCに使用されます。

どのアプリケーションが私のポートに接続されているかを知るためのプログラミング(WinAPI / WinSocketなど)の方法はありますか?

つまり、Windowsサービスで、自分のポートに接続されているプロセスのPIDを取得したいと思います。

4

2 に答える 2

3

と同じことを行う WinAPI の方法を探している場合netstat。おそらく次の API が必要です。 GetExtendedTcpTable

引数を使用して結果を探しTCP_TABLE_OWNER_PID_ALLます。

結果の構造には、探しているプロセス ID をMIB_TCPTABLE_OWNER_PID持つ多くのMIB_TCPROW_OWNER_PID構造があります。dwOwningPid

于 2009-05-05T19:20:18.073 に答える
0

ポートを使用している (リッスンしている、またはポートを使用して接続している) プロセスを意味する場合は、次のコマンドを使用します。

netstat -a -b -o -n

-aすべての接続が表示されます (LISTENING 状態であっても)

-bそのポートを使用するアプリケーションの実行可能ファイルが表示されます

-oアプリケーションの PID が表示されます

-nDNS 変換は行いません (アプリケーションについて知るためにこれらはおそらく必要ありません)、必要ありません

于 2009-05-05T17:51:24.077 に答える