1.如果你是通過路由上網的,可以通過訪問ip138之類的地址來獲取外網IP
2.如果是通過PPPOE撥號上網的,可以使用以下代碼獲取IP
//獲取寬帶連接(PPPOE撥號)的IP地址,timeout超時(秒),當寬帶未連接或者連接中的時候獲取不到IP public static string GetIP_PPPOE(int timeout) { int i = timeout * 2; while (i > 0) { try { NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces(); bool havePPPOE = false; foreach (NetworkInterface adapter in nics) { if (adapter.NetworkInterfaceType == NetworkInterfaceType.Ppp) { havePPPOE = true; IPInterfaceProperties ip = adapter.GetIPProperties(); //IP配置信息 if (ip.UnicastAddresses.Count > 0) { return ip.UnicastAddresses[0].Address.ToString(); } } } //當沒有寬帶連接的時候直接返回空 if (!havePPPOE) return ""; } catch (Exception ex) { Console.WriteLine("獲取寬帶撥號IP出錯:" + ex.Message); } i--; Thread.Sleep(500); } return ""; }