示例#1
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));
        }
示例#2
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();
        }
示例#3
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));
        }