Beispiel #1
0
        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}");
                }
            }
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        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();
        }
Beispiel #5
0
        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));
        }
Beispiel #6
0
 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;
     }
     }
 }
Beispiel #7
0
        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);
            }
        }