localhost のポート 80 などを使用しているプロセス/実行可能ファイルを特定するにはどうすればよいですか? たとえば、Apacheサーバーなどであるかどうかを知りたいです。
ipProperties.GetActiveTcpListeners() から情報を取得できますか? ローカル エンドポイント、リモート エンドポイント、および状態のみを確認しました。
localhost のポート 80 などを使用しているプロセス/実行可能ファイルを特定するにはどうすればよいですか? たとえば、Apacheサーバーなどであるかどうかを知りたいです。
ipProperties.GetActiveTcpListeners() から情報を取得できますか? ローカル エンドポイント、リモート エンドポイント、および状態のみを確認しました。
の出力をパイプしてnetstat -o
解析することはできますが、それはおそらく頭痛の種とエッジケースでいっぱいのひどい考えです。
バックグラウンドでは、IPHelper ライブラリのGetTcpTable2netstat -o
API メソッドを使用します。これは、MIB_TCPROW2 構造体で表される各ポートを使用して、MIB_TCPTABLE2 構造体を返します。P/Invoke を使用して C# からこれにアクセスし、テーブルと行の相互運用構造を構築する必要があります。
PInvoke.Net を確認すると、同様の API 呼び出しが既に C# にマップされていることがわかります - GetExtendedTcpTable - アプリで使用可能な TCP ポートを一覧表示します。これを、相互運用構造体と宣言を構築するためのベースとして使用できます。