获取内网ip

内网IP获取借助WebRTC API,通过修改Chrome浏览器设置可揭示本地IP。本文介绍了如何通过chrome://flags禁用#enable-webrtc-hide-local-ips-with-mdns,重启浏览器后能看到内网IP。注意,此方法仅在Chrome中测试有效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先

内网IP的获取相对比较复杂,主要是需要依赖 webRTC 这么一个非常用的API

WebRTC,名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准。

webRTC 是HTML 5 的一个扩展,允许去获取当前客户端的IP地址,可以查看当前网址:net.ipcalf.com/

但如果使用 chrome 浏览器打开,此时可能会看到一串类似于:

e87e041d-15e1-4662-adad-7a6601fca9fb.local

的机器码,这是因为chrome 默认是隐藏掉 内网IP地址的,可以通过修改 chrome 浏览器的配置更改此行为:

1、在chrome 浏览器地址栏中输入:chrome://flags/

2、搜索 #enable-webrtc-hide-local-ips-with-mdns 该配置 并将属性改为disabled

3、点击relaunch 浏览器即可查看到本机的内网IP地址

let getIP = new Promise((resolve,reject) => {
   
    let recode = {
   };
    let RTCPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
    // 如果不存在则使用一个iframe绕过
    if (!RTCPeerConnection) {
   
        // 因为这里用到了iframe,所以在调用这个方法的script上必须有一个iframe标签
        // <iframe id="iframe" sandbox="allow-same-origin" style="display:none;"></iframe>
        let win = iframe.contentWindow;
        RTCPeerConnection = win
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值