private void RunTest(object state) { lock (testLock) { try { PrintTestStatus(true); SpeedTest speedTest = new SpeedTest(); SpeedTestResult speedTestResult = speedTest.Run(speedTestServerId); TraceRoute traceRoute = new TraceRoute(); TraceRouteResult traceRouteResult = traceRoute.Run(speedTestResult.Server.Ip); results.Add(new DiagnosticResult { SpeedTestResult = speedTestResult, TraceRouteResult = traceRouteResult }); WriteResults(); PrintTestStatus(); } catch (Exception e) { Console.WriteLine($"[{DateTime.Now:MM-dd hh:mm:ss}] Exception encountered running test: {e}"); } } }
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)); }
private bool TryLookupInternal(out CivicAddress address, out GeoCoordinate coordinates) { TraceRoute trace = new TraceRoute(); TraceRouteResponse response; trace.TrySearchForFirstExternalAddress(Dns.GetHostEntry("google.com").AddressList[0], 30, out response); return(TryLookupInternal(response.FirstResponseIP, out address, out coordinates)); }
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)); }
public void OnOperationResponse(SendData sendData) { switch (sendData.Code) { case 0: { List <KeyValuePair <string, string> > data = new List <KeyValuePair <string, string> >((Dictionary <string, string>)sendData.Parameters); foreach (KeyValuePair <string, string> now in data) { linker.StartP2PConnect(TraceRoute.IPEndPointParse(now.Value, AddressFamily.InterNetworkV6), (remote, publicremote, peer, success) => { Console.WriteLine(now.Key + " " + success); }); } break; } } }
private void TraceRouteWorker_DoWork(object sender, DoWorkEventArgs e) { BackgroundWorker thisWorker = (BackgroundWorker)sender; string hostName = (string)e.Argument; TraceRoute traceRouter = new TraceRoute(3000, 30); try { foreach (var reply in traceRouter.Send(hostName)) { thisWorker.ReportProgress(0, reply); } } catch (PingException pingEx) { Debug.WriteLine(pingEx); } }