Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

No such host is known socket connection

I'm trying to work with this library for telnet connections. I have called the function correctly and it executes the code below but fails giving the following error:

System.Net.Sockets.SocketException was unhandled
  HResult=-2147467259
  Message=No such host is known
  Source=System
  ErrorCode=11001
  NativeErrorCode=11001
  StackTrace:
       at System.Net.Sockets.TcpClient..ctor(String hostname, Int32 port)
       at MinimalisticTelnet.TelnetConnection..ctor(String Hostname, Int32 Port) in c:\users\kylec\documents\visual studio 2010\Projects\Mail Server Capture\Mail Server Capture\TelnetInterface.cs:line 36
       at Mail_Server_Capture.Form1.btn_MailGet_Click(Object sender, EventArgs e) in c:\users\kylec\documents\visual studio 2010\Projects\Mail Server Capture\Mail Server Capture\Form1.cs:line 55
       at System.Windows.Forms.Control.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ButtonBase.WndProc(Message& m)
       at System.Windows.Forms.Button.WndProc(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
       at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
       at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
       at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
       at System.Windows.Forms.Application.Run(Form mainForm)
       at Mail_Server_Capture.Program.Main() in c:\users\kylec\documents\visual studio 2010\Projects\Mail Server Capture\Mail Server Capture\Program.cs:line 18
       at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException: 

Code:

public TelnetConnection(string Hostname, int Port)
        {
            tcpSocket = new TcpClient(Hostname, Port);

        }

I have searched here looking for this problem and it seems pretty common. Some people are saying the host truly is unreachable (this is not the case), its a Microsoft .NET problem or its just an exception that can be ignored. I can't seem to get the program to pass it though if it is something that can be ignored. I also can't seem to find any solutions as to fixing it. I'm pretty lost on this one, any help would be appreciated.

like image 829
Kyle Avatar asked May 30 '14 18:05

Kyle


People also ask

Can't create IP socket no such host is known?

The root cause of the “No such host is known” error Basically, your application tries to call an API URL or to connect to a service but it is not able to find the hostname or your server is not able to do DNS lookup for that hostname.

What is system net sockets SocketException?

A SocketException is thrown by the Socket and Dns classes when an error occurs with the network. The parameterless constructor for the SocketException class sets the ErrorCode property to the last operating system socket error that occurred.


4 Answers

#No such host is known in asp.net web api

In your appsetting.json file check for the connection string if host name not included add the host name eg:

"ConnectionStrings": {
    "AppCon" : "Server=yourDbServer;Database=YourDbName;Host:localhost;Port=5050;User Id=postgres;Password=1234"
}

This Solved My problem.Check Other Forums also

like image 199
Sam Fenilto Avatar answered Oct 11 '22 03:10

Sam Fenilto


I'm going to put this answer in here for people who are getting this error like me, who never seemed to find an answer:

If you're trying to grab a client hostname from the DNS server within your company's network using: Dns.GetHostEntry(ClientIP) and each time you keep getting the "No such host is known socket connection error," your DNS server may not have Reverse Lookup Zones set for the IP range you're passing in code.

For example, I have a program that works with our web application that captures the computer name and IP address of the employee submitting a help request. It worked if the computer using the application was on a vlan that was in the reverse lookup zone.

If you have access to your domain's DNS server, add reverse lookup zones for all of the IP addresses that you use on your domain, or have your network administrator do it.

Always have a try catch around it, just in case you have a situation where someone accesses your webapp from outside of your network.

Knowing this would have saved me hours of frustration.

like image 39
Anthony Griffis Avatar answered Oct 11 '22 02:10

Anthony Griffis


Related but rare/fringe case: I was getting this same error in my C# .NET 4.7.2 web app (calling a http endpoint) because the machine I was on (a Parallels Win10 VM) had silently lost its network connection (no internet) due to some Parallels bug. Once I disabled and re-enabled the network adapter the error went away. /eyeroll

like image 44
Christopher Avatar answered Oct 11 '22 03:10

Christopher


The solution was something quite easy and overlooked. First I noticed that the tcpclient prefers an ip address and not a name. Then I also realized that sometimes there were extra spaces on either side of the domain name. So I used the below code to strip the characters and change it to an ip.

string.Trim();
//Telnet Start
IPHostEntry hostInfo = Dns.Resolve(hostnamehere);
like image 30
Kyle Avatar answered Oct 11 '22 02:10

Kyle