我如何获得连接的IP地址?

时间:2017-07-13 14:04:16

标签: c# networking tcp ip

我想知道连接的IP地址。不是本地IP。

本地IP:192.168。#。# WAN IP:#。#。#。#

您在http://whatismyip.org

看到您的WAN IP

我试过这个问题,但这给了本地IP。

using System;
using System.Linq;
using System.Net;
using System.Net.Sockets;

namespace FasterComputer
{
    class Program
    {
        static void Main(string[] args)
        {
            string ip = Ipfind();
            Console.WriteLine(ip);
            Console.ReadLine();
        }
        static string Ipfind()
        {
            if (!System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())
            {
                return "Disconnected";
            }

            IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());

            return Convert.ToString(host
                .AddressList
                .FirstOrDefault(ip => ip.AddressFamily == AddressFamily.InterNetwork));
        }
    }
}

1 个答案:

答案 0 :(得分:0)

如果您需要公共IP, 可以离开您的网络。为什么您的代码会隐式知道您的 public IP?

谢天谢地,您可以使用icanhazip

等服务
string publicIp = new WebClient().DownloadString("http://icanhazip.com");