【问题标题】:How to get LAN IP of a client using .net?如何使用 .net 获取客户端的 LAN IP?
【发布时间】:2012-12-03 17:40:12
【问题描述】:

我想获取访问我网站的计算机的地址 IP(LAN ip)。

我怎样才能得到它?

【问题讨论】:

标签: c# network-programming ip ip-address lan


【解决方案1】:

我假设您使用的是 asp.net,在这种情况下,您可以使用 Request.UserHostAddress 来检索客户端的 IP 地址。

【讨论】:

  • 我试过了。但是我得到了internetIp。我想得到IntranetIP
  • 好的。我知道了。你为什么要那个?
  • 我网站中的一个页面显示所有连接到该网站的机器。我只想显示我的网络(内部网络)中的机器
  • 但如果您获得内部 IP,则存在重复的风险。您如何确定它是否真的来自您的网络?
  • 首先,我得到机器和客户端的互联网IP,如果相同我检查内网IP。
【解决方案2】:

方法一:

您可以使用下面提到的链接来获得它。

List the IP Address of all computers connected to a single LAN

方法二:

你也可以试试下面的。

public string GetUserIP()
    {
        string ipList = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

        if (!string.IsNullOrEmpty(ipList))
        {
            return ipList.Split(',')[0];
        }

        return Request.ServerVariables["REMOTE_ADDR"];
    }

方法三:

System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList.GetValue(0).ToString();

希望对你有帮助。

【讨论】:

    【解决方案3】:

    你不能。

    浏览器不会在 HTTP 标头中发送其本地 IP,因此您无法获取它。您只能获得路由器的外部(互联网)IP。

    【讨论】:

    • 我可以得到它...查看我发布的答案
    • 没有。当然,您可以在本地程序中获得它。但是您无法获取通过 HTTP 连接到您网站的人们的本地 IP 地址。在您的回答中,它仅适用于本地计算机。
    • 啊,你说得对..你确定没有办法得到它吗?
    • 我很确定。作为记录,浏览器也不会自己发送远程地址,它是您的服务器从 TCP 连接收集客户端的互联网 IP。当数据通过 Internet IP 发送回客户端时,客户端路由器的工作是将其发送到客户端网络中的本地计算机。所以,没有。
    • 好的!谢谢你的解释!有人告诉我,我可以在客户端做......你知道吗?
    【解决方案4】:

    使用此功能:

     public string GetLanIP()
        {
            IPHostEntry host;
            string localIP = "?";
            host = Dns.GetHostEntry(Dns.GetHostName());
            foreach (IPAddress ip in host.AddressList)
            {
                if (ip.AddressFamily == AddressFamily.InterNetwork)
                {
                    localIP = ip.ToString();
                }
            }
            return localIP;
    
        }
    

    【讨论】:

    • 亲爱的,如果您将应用程序托管到其他服务器并尝试从某个 Intranet 运行它,则它无法正常工作。
    猜你喜欢
    • 2011-02-20
    • 2021-07-07
    • 2013-05-09
    • 2021-09-15
    • 2022-07-27
    • 2012-03-31
    • 1970-01-01
    • 2021-03-15
    • 1970-01-01
    相关资源
    最近更新 更多