如何在C#控制台应用程序中执行telnet

Soh*_*ail 1 c# console-application

在C#控制台中,应用程序需要执行telnet实用程序并知道所需的端口是否已打开

   var ping = new Ping();
        var rply = ping.Send("192.168.1.117");
        if (rply.Status == IPStatus.Success)
        {
            Console.WriteLine("up");
            Console.WriteLine("Press any key to continue");
            Console.ReadKey(true);

          }
        else
        {
            Console.WriteLine("down");
            Console.WriteLine("Press any key to continue");
            Console.ReadKey(true);
Run Code Online (Sandbox Code Playgroud)

我使用上面的代码ping,但是对于telnet和port我应该怎么做,这样在控制台应用程序中它应该执行telnet实用程序并让用户知道所需的端口是打开的

Cra*_*sta 5

一般来说,服务器管理员不喜欢你连接然后丢弃(唯一真正的方法来查看端口是否打开).但是,如果你想这样做,你可以这样做:

TcpClient tc = null;
try
{
    tc = new TcpClient("192.168.1.117", 23);
    // If we get here, port is open
} 
catch(SocketException se) 
{
    // If we get here, port is not open, or host is not reachable
}
finally
{
   if (tc != null)
   {
      tc.Close(); 
   }
}
Run Code Online (Sandbox Code Playgroud)