首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找本地主机上的外部IP地址

问查找本地主机上的外部IP地址
EN

Stack Overflow用户
提问于 2017-07-23 11:49:14
回答 1查看 951关注 0票数 0

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

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

坦率地说,我对ip地址这一领域知之甚少,但我对客户端、服务器、ip地址、端口号等内容有足够的了解。这是我在社交模块中学到的。

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

我确实做了关于堆栈溢出、码项目的研究,无论我能从哪个方面找到帮助,但它总是返回::1,我认为它是127.0.0.1我们默认的本地主机地址?

我已经试过了下面的所有这些实验它们产生了什么。

代码语言:javascript
复制
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;
}

我还在网上读到,我实际上可以从一个外部来源从一个网站获得我的外部ip地址,这个答案是基于下面的堆栈溢出。

这里

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

还是找不到我要找的东西。

有人能帮忙吗?会很感激你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-23 12:09:32

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

客户端IP地址可以通过:Http​请求.​用户​主机​地址读取。

您在服务器中接收的IP地址将是客户端的“公共”地址。也就是说,如果用户在代理后面,您将得到代理地址。

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

配置IIS日志记录

在“W3C日志记录字段”对话框中,选择下列一个或多个选项: 客户机IP地址(C):提出请求的客户端的IP地址.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45264744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档