C#でnetstatのような機能を実装してみる


スポンサーリンク

C#のデフォルトの機能を使って、コマンドプロンプトで「netstat -an」を実行するのと同じような情報を出力してみたいと思います。

実装したコードは以下のとおりです。

public static void Main(string[] args)
{
    var ip = System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties();

    Console.WriteLine("プロトコル\tローカルアドレス\t外部アドレス\t状態");
    foreach (var tcp in ip.GetActiveTcpConnections())
    {
        Console.Write("TCP" + "\t"); //express only tcp
        Console.Write(tcp.LocalEndPoint.Address + ":" + tcp.LocalEndPoint.Port + "\t");
        Console.Write(tcp.RemoteEndPoint.Address +":" +tcp.RemoteEndPoint.Port +  "\t");
        Console.Write(tcp.State);
        
        Console.WriteLine();
    }

    Console.ReadLine();
}

これを実行すると、以下のように表示されます。

f:id:sho322:20150122072215j:plain


独習C# 第3版

独習C# 第3版

  • 作者: ハーバート・シルト,エディフィストラーニング株式会社矢嶋聡
  • 出版社/メーカー: 翔泳社
  • 発売日: 2010/12/03
  • メディア: 大型本
  • 購入: 5人 クリック: 55回
  • この商品を含むブログ (6件) を見る