【问题标题】:How can a server find real client IP address?服务器如何找到真实的客户端 IP 地址?
【发布时间】:2011-07-19 06:23:30
【问题描述】:

我只能从 NAT 和代理后面的地方访问互联网。 This site 但是也显示了我机器的私有 LAN 地址,以及我的 NAT 的公共地址。他们显然在这个过程中使用了javascript,但我只能找到他们设置值的代码,而不是他们如何找到它。那么,我们如何使用 javascript 找出客户端机器的私有 IP 地址呢?

【问题讨论】:

    标签: javascript ip-address nat


    【解决方案1】:

    他们为此使用 Java:

    <span class="pbb" id="lanip"><b>Router IP Address Testing...</b></span>
    <script>
    function MyAddress(IP)
    { document.getElementById("lanip").innerHTML = IP; }
    </script>
    <applet code="MyAddress.class" MAYSCRIPT width=0 height=0>
    You Need To Enable Java For This To Work
    </applet> 
    

    【讨论】:

    • 但我认为这段代码只会更新显示的 html 元素内的值。那仍然留下一个问题,他们如何检测 ip 地址?
    • MyAddress.class 小程序正在做这件事,它是 Java 代码。禁用 Java,它可能不起作用。这是一个讨论java代码的线程:exampledepot.com/egs/java.net/Local.html
    【解决方案2】:

    你确定你在只是一个 NAT 路由器后面吗?如果您使用代理,则代理很可能会添加 X-Forwarded-For 标头。

    【讨论】:

    • 我至少落后于一个 NAT,也许更多。该页面确实显示检测到透明代理,但它显示的代理地址是我的公共 IP 地址,而不是我在浏览器中使用的私有代理。
    • 是的,代理在标头中发送X-forwarded-for。刚刚使用ericgiguere.com/tools/http-header-viewer.html 进行了检查。
    猜你喜欢
    • 1970-01-01
    • 2010-12-22
    • 2023-03-30
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    • 1970-01-01
    相关资源
    最近更新 更多