javascript - 识别用户的内部 IP 地址
问题描述
我的网站需要获取有关访问者内部 IP 地址的信息。然后它在内部 LAN 中显示与我的网站关联的所有设备(从 1-254 逐步结束以识别本地网络中的设备)。它能够通过 WebRTC 识别前三个部分(例如 192.168.0.x)。但现在已经不可能了。
请问有什么想法,如何通过网站上的网络浏览器识别它?(例如使用 javascript)
解决方案
这是一个可能有效的未经测试的 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);
}
}
这不是我的代码,请查看许可证来源。
推荐阅读
- python - Numpy 2d ndarray 按给定的特定二维数组排序
- html - 如何将父块包裹在移动的子块周围?
- java - PreparedStatement java的第二个参数-ORDER BY-语法错误
- r - 具有 4 个变量的 r 中的分组条形图
- c# - Unity 2D How to Make a Multi Input Attack
- c# - ContentView 获取选择器选择的值
- c - char** argv 作为字符串数组传递
- c - 如何将标准输入和标准输出附加到 call_usermodehelper 调用的用户进程
- html - 4 个响应式 div 在选项卡和移动设备上未正确显示
- python - Tensorflow/Spyder 重置没有错误