0

ホストからのすべてのhttpアクティブ接続を一覧表示したいのですが、以下のコードを使用して、tcp接続を一覧表示していますが、このtcpリストから具体的にhttp接続を検索したいと思います。

Console.WriteLine("Active TCP Connections");
IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties();
TcpConnectionInformation[] connections = properties.GetActiveTcpConnections();
foreach (TcpConnectionInformation c in connections)
{
    Console.WriteLine("{0} <==> {1}",
                      c.LocalEndPoint.ToString(),
                      c.RemoteEndPoint.ToString());
}
4

2 に答える 2

3

ポート80は標準のHTTPポートであり、ポート443は標準のHTTPSポートです。両方をフィルタリングすることをお勧めします。

foreachループを次のように変更します。

foreach (TcpConnectionInformation c in connections)
{
    if ((c.RemoteEndPoint.Port == 80) || (c.RemoteEndPoint.Port == 443))
    {
        Console.WriteLine("{0} <==> {1}:{2}",
                          c.LocalEndPoint.ToString(),
                          c.RemoteEndPoint.ToString(),
                          c.RemoteEndPoint.Port);
    }
}
于 2013-02-28T18:35:49.260 に答える
0

TCPポートが開いているからといって、HTTPトラフィックだけがそのポートを通過するわけではありません。TCP接続を「HTTP」接続として識別するために使用する他の基準がない限り、ポート80のフィルタリングは、おそらく取得するのと同じくらい近いものです。

于 2013-02-28T18:31:57.203 に答える