首页 > 解决方案 > 识别用户的内部 IP 地址

问题描述

我的网站需要获取有关访问者内部 IP 地址的信息。然后它在内部 LAN 中显示与我的网站关联的所有设备(从 1-254 逐步结束以识别本地网络中的设备)。它能够通过 WebRTC 识别前三个部分(例如 192.168.0.x)。但现在已经不可能了。

请问有什么想法,如何通过网站上的网络浏览器识别它?(例如使用 javascript)

标签: javascripthtml

解决方案


这是一个可能有效的未经测试的 Java 小程序解决方案:

Socket socket = new Socket(getDocumentBase().getHost(), port);
ip = socket.getLocalAddress().getHostAddress();
package com.mkyong.applet;

import java.applet.*;
import java.awt.Graphics;
import java.io.IOException;
import java.net.Socket;

public class AppletExample extends Applet {

    String ip;

    public void init() {

      try{
        int port;

        if(getDocumentBase().getPort()!=-1){
            port = getDocumentBase().getPort();
        }else{
            port = 80;
        }

            Socket socket = new Socket(getDocumentBase().getHost(), port);
        ip = socket.getLocalAddress().getHostAddress();

            }catch(IOException io){
        System.out.println(io.getMessage());
        }
    }

    public void paint( Graphics g ) {

       StringBuffer sb = new StringBuffer()
        .append(" IP address : ").append(ip);

       g.drawString(sb.toString(), 0,100);
    }

}

这不是我的代码,请查看许可证来源


推荐阅读