3

localhost のポート 80 などを使用しているプロセス/実行可能ファイルを特定するにはどうすればよいですか? たとえば、Apacheサーバーなどであるかどうかを知りたいです。

ipProperties.GetActiveTcpListeners() から情報を取得できますか? ローカル エンドポイント、リモート エンドポイント、および状態のみを確認しました。

4

1 に答える 1

5

の出力をパイプしてnetstat -o解析することはできますが、それはおそらく頭痛の種とエッジケースでいっぱいのひどい考えです。

バックグラウンドでは、IPHelper ライブラリのGetTcpTable2netstat -o API メソッドを使用します。これは、MIB_TCPROW2 構造体で表される各ポートを使用して、MIB_TCPTABLE2 構造体を返します。P/Invoke を使用して C# からこれにアクセスし、テーブルと行の相互運用構造を構築する必要があります。

PInvoke.Net を確認すると、同様の API 呼び出しが既に C# にマップされていることがわかります - GetExtendedTcpTable - アプリで使用可能な TCP ポートを一覧表示します。これを、相互運用構造体と宣言を構築するためのベースとして使用できます。

于 2012-02-02T10:03:19.107 に答える