public async Task <DebugSession> ConnectToServerAsync(string ipAddressOrHostname) { if (IsLocal) { CurrentServer = new IPAddress(new byte[] { 127, 0, 0, 1 }); return(new DebugSession(this, null, false)); } IPAddress server; if (IPAddress.TryParse(ipAddressOrHostname, out server)) { CurrentServer = server; } else { IPAddress[] adresses = Dns.GetHostEntry(ipAddressOrHostname).AddressList; CurrentServer = adresses.FirstOrDefault(ip => ip.AddressFamily == AddressFamily.InterNetwork); } bool compress = TraceRoute.GetTraceRoute(CurrentServer.ToString()).Count() > 1; var tcp = new TcpClient(); await tcp.ConnectAsync(CurrentServer, MessagePort); return(new DebugSession(this, tcp.Client, compress)); }
public NdisNetworkInterfaceManager() { this._basicInformation = HuaweiWebApi.BasicInformation(); this.NetworkInterface = NetworkInterface .GetAllNetworkInterfaces() .FirstOrDefault(ni => ni.Description.Contains("NDIS")); this.IpAddress = NetworkInterface?.GetIPProperties().UnicastAddresses .FirstOrDefault(ua => ua.PrefixOrigin == PrefixOrigin.Dhcp)?.Address; IPAddress remoteIp = IPAddress.Parse("1.1.1.1"); this.GatewayIpAddress = TraceRoute.GetTraceRoute(this.IpAddress, remoteIp).First().MapToIPv4(); }
private void DoTraceRoute() { Logger.Log(new string('-', 100)); Logger.Log("TraceRoute to " + traceRouteDomain); Logger.Log(new string('-', 100)); var temp = TraceRoute.GetTraceRoute(traceRouteDomain); //foreach (var item in temp.ToArray()) //{ // Logger.Log(item.ToString()); //} Logger.Log(new string('-', 100)); }