原理

使用webRTC技术获取本地局域网IP地址,如:192.168.1.123。

代码

function getUserIP(onNewIP) {

var myPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;

var pc = new myPeerConnection({

iceServers: []

}),

noop = function() {},

localIPs = {},

ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g,

key;

function iterateIP(ip) {

if (!localIPs[ip]) onNewIP(ip);

localIPs[ip] = true;

}

pc.createDataChannel("");

pc.createOffer().then(function(sdp) {

sdp.sdp.split('\n').forEach(function(line) {

if (line.indexOf('candidate') < 0) return;

line.match(ipRegex).forEach(iterateIP);

});

pc.setLocalDescription(sdp, noop, noop);

}).catch(function(reason) {

// An error occurred, so handle the failure to connect

});

pc.onicecandidate = function(ice) {

if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex)) return;

ice.candidate.candidate.match(ipRegex).forEach(iterateIP);

};

}

getUserIP(function(ip){

alert("Got IP! :" + ip);

});

内网html获取当前ip,JavaScript 获取本地局域网 IP 地址相关推荐

  1. php网站内网用什么系统服务器,php获取服务器内网ip

    php获取服务器内网ip 内容精选 换一换 DHCP无法正常获取内网IP,当DHCP无法正常获取内网IP时,不同系统的云服务器表现如下:Linux系统表现为无法获取内网IP.windows系统由于自身 ...

  2. 如何让本地局域网IP端口映射到域名

    外网用户不能通过访问内网IP来实现访问我们的FTP.Web.SVN等应用服务器,也不能直接通过内网IP来远程桌面到内网主机电脑.对于外网用户,起唯一地址作用的就是域名,你的服务器是需要让外网能够识别的 ...

  3. 内网渗透-cobaltstrike之cs上线获取shell

    cobaltstrike之cs上线获取shell 文章目录 cobaltstrike之cs上线获取shell 前言 一.什么是cobaltstrike 二.cs上线获取shell 1.环境搭建 CS安 ...

  4. 内网多个DHCP Server无法获取到地址上网的解决办法

    问题: 用户反映,经常有人自带路由器上网,通常内网会存在多个 dhcp服务器,内网用户自动获取ip地址,由于dhcp发的是广播包,时常会获取到其他路由器上的地址,造成无法上网. 解决方案: 1.路由器 ...

  5. 简单内网穿透-利用树莓派-低成本建站 无需公网ip

    很多人都想试试自己建站玩一玩 (比如博客.自建网盘.远程下载等),但家里宽带没公网 IP,特意买台服务器又显得浪费.那么有没成本小.可玩性高.又能长期稳定使用的方案呢? 其实,免费的内网穿透工具 (如 ...

  6. html实现获取电脑时间戳,JavaScript 获取当前时间戳

    JavaScript 获取当前时间戳: 第一种方法: var timestamp = Date.parse(new Date()); 结果:1280977330000 第二种方法: var times ...

  7. php js 获取当前时间戳,JavaScript 获取当前时间戳的代码_时间日期

    JavaScript 获取当前时间戳: 第一种方法: var timestamp = Date.parse(new Date()); 结果:1280977330000 第二种方法: var times ...

  8. js获取应用服务器时间,JavaScript获取服务器端时间的方法

    用js做时间校正,获取本机时间,是存在bug的. 使用js也可获取到服务器时间,原理是使用 ajax请求,返回的头部信息就含有服务器端的时间信息,获取到就可以了.以下: 1.依赖jQuery 代码: ...

  9. 穿透内网群晖NAS实现远程访问【无公网IP】

    现代科技日新月异,我们身边的电子设备也在不断更新,日积月累之下,被淘汰的电子设备越来越多,难道就让这些性能不算差的电子设备从此闲置么,这明显不符合我们物尽其用的原则,不少玩家都将闲置的电脑改造成了家庭 ...

  10. SpringBoot创建项目内网穿透过程在到jar包本地运行小案例

    目录 1.创建SpringBoot项目 2.做这个demo的初衷(有赞获取token) 3.解决内网穿透的问题 4.测试内网穿透是否成功 5.SpringBoot打包Jar运行 6.本地运行jar 1 ...

最新文章

  1. 做一个计算器_2019年初级会计考试考生能不能带计算器?现在统一回复!
  2. LeetCode 340. Longest Substring with At Most K Distinct Characters
  3. Objective-C总Runtime的那点事儿(一)消息机制
  4. LeetCode Algorithm 剑指 Offer 55 - II. 平衡二叉树
  5. Nginx配置proxy_pass
  6. php mysql orm_PHP ORM框架与简单代码实现(转)
  7. 用python绘制心形_如何利用Python绘制一个爱心
  8. jquery的快捷手册
  9. 58-20210406华为海思Hi3516DV300的linux系统下获取IMX335的视频(eMMC模式)
  10. 微信小游戏正式发布!什么!审核失败!流量主广告接入指南!
  11. 关于Snoop的用法
  12. 如何将win7电脑变身WIFI热点,让手机、笔记本共享上网?
  13. Gradle 2.0 用户指南翻译——第十九章. Gradle 守护进程
  14. MyBatis入门级(增删改查)
  15. 小暑将至,这组小暑海报送给你们
  16. LeetCode——复数乘法 C++
  17. 最全Hadoop视频教程(从入门到精通 视频教程下载)Hadoop八天完全攻克Hadoop视频教程 Hadoop开发新版Hadoop视频教程
  18. ftl和html的区别?
  19. 关于《管理:技艺之精髓》一书中提到的管理任务和工具
  20. 正则表达式新手入门笔记(一)

热门文章

  1. php来源德育管理系统,西安交通大学城市学院学生服务中心互联网学生工作管理系统...
  2. 基于matlab的语音识别系统
  3. HTMLTestRunnerNew 测试报告详解
  4. 安卓和iOS测试的区别
  5. cad上样条曲线上的点太多了_CAD中如何编辑样条曲线增加夹点? 看完你就知道了...
  6. SAP MM采购仓储入门视频教程——适合新手入门学习
  7. Java自定义数组排序
  8. iOS 视频播放器 VLC的集成和基本使用
  9. dll反编译工具java_JAVA反编译工具的使用
  10. Python 监控linux之dstat