C# 正在本地主机上查找外部IP地址

C# 正在本地主机上查找外部IP地址,c#,asp.net,ip,localhost,ip-address,C#,Asp.net,Ip,Localhost,Ip Address,嗨,我正在学校的一个安全网站上登录,但它都是基于本地主机的 我希望能抓到任何访问我网站的人。实际上,我想捕获用户正在使用的任何机器的外部IP地址。例如,当我运行我的网站并点击一个按钮时,它会立即捕获我的外部ip地址 坦率地说,我对ip地址这方面的知识不多,但我对什么是客户端、服务器、ip地址、端口号等有足够的了解。。这是我在网络模块中学到的 为了提供更多信息,当您访问或访问任何其他什么是您的ip网站时,您会获得您的外部ip地址。我实际上想捕获这个IP地址并将其保存到我的数据库中 我确实对stac

嗨,我正在学校的一个安全网站上登录,但它都是基于本地主机的

我希望能抓到任何访问我网站的人。实际上,我想捕获用户正在使用的任何机器的外部IP地址。例如,当我运行我的网站并点击一个按钮时,它会立即捕获我的外部ip地址

坦率地说,我对ip地址这方面的知识不多,但我对什么是客户端、服务器、ip地址、端口号等有足够的了解。。这是我在网络模块中学到的

为了提供更多信息,当您访问或访问任何其他什么是您的ip网站时,您会获得您的外部ip地址。我实际上想捕获这个IP地址并将其保存到我的数据库中

我确实对stackoverflow、codeproject进行了研究,无论我从哪个方面可以找到帮助,但它总是返回::1,我按的是127.0.0.1我们的默认本地主机地址

我已经尝试了下面所有的方法来试验他们的产品

protected void getIP_Click(object sender, EventArgs e)
{
    String hostName = System.Net.Dns.GetHostName();
    String clientIpAddressHostName = System.Net.Dns.GetHostAddresses(hostName).GetValue(0).ToString();
    IP1.Text = clientIpAddressHostName;

    String clientIpAddress = HttpContext.Current.Request.ServerVariables["REMOTE_HOST"].ToString();
    IP2.Text = clientIpAddress;

    String ip = null;

    if (String.IsNullOrEmpty(HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]))
    {
        ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
    }

    IP3.Text = ip;

    String ipNext = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
    IP4.Text = ipNext;

    String ipNextNext = HttpContext.Current.Request.UserHostAddress;
    IP5.Text = ipNextNext;

    String last = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList.GetValue(0).ToString();
    IP6.Text = last;
}
我也在网上读到,根据下面stackoverflow的回答,我可以从一个网站的外部来源获得我的外部ip地址

但我还没有试过,因为我认为这不是一种安全的方法?如果我错了,请纠正我

4.到处找,还是找不到我想要的东西


有人能帮忙吗?非常感谢您的帮助

看起来您正在读取服务器IP地址

可以通过以下方式读取客户端IP地址:

您在服务器中收到的IP地址将是客户端的“公共”地址。i、 例如,如果用户在代理后面,您将获得代理地址

如果使用IIS托管网站,可以将其配置为记录客户端IP地址。在这种情况下,您不需要编写任何代码来记录IP地址

在W3C日志记录字段对话框中,选择以下一个或多个选项:

客户端IP地址(c-IP):发出请求的客户端的IP地址


感谢您的帮助@Subbu。。我不认为我想进入配置iis的领域,我对此一无所知。。我将尝试使用您提供的代码行,看看我得到了什么,然后回到这里。非常感谢。很抱歉更正我的输出。。当我使用HttpRequest.UserHostAddress-::1尝试从外部网络访问您的网站时,我遇到了这个问题。例如,从家里访问(没有任何VPN),我实际上尝试了这种方法。。我得到了219.xxx.xxx.xxx,这就是我要找的。。但这条路安全吗?从外部站点获取我的IP地址。