js获取设备内网ip
可以直接使用,不需要导入其他配置
看代码
1 <script>
2 //获取内网ip
3 var RTCPeerConnection = window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection;
4 if (RTCPeerConnection) (
5 function () {
6 var rtc = new RTCPeerConnection({iceServers:[]});
7 if (1 || window.mozRTCPeerConnection) {
8 rtc.createDataChannel('', {reliable:false});
9 };
10
11 rtc.onicecandidate = function (evt) {
12 if (evt.candidate) grepSDP("a="+evt.candidate.candidate);
13 };
14 rtc.createOffer(function (offerDesc) {
15 grepSDP(offerDesc.sdp);
16 rtc.setLocalDescription(offerDesc);
17 }, function (e) { console.warn("offer failed", e); });
18 var addrs = Object.create(null);
19 addrs["0.0.0.0"] = false;
20 function updateDisplay(newAddr) {
21 if (newAddr in addrs) return;
22 else addrs[newAddr] = true;
23 var displayAddrs = Object.keys(addrs).filter(function (k) { return addrs[k]; });
24 for(var i = 0; i < displayAddrs.length; i++){
25 if(displayAddrs[i].length > 16){
26 displayAddrs.splice(i, 1);
27 i--;
28 }
29 }
30 //打印出该设备连接的所有内网ip
31 console.log(displayAddrs);
32 //排第一个ip
33 console.log(displayAddrs[0]);
34 }
35 function grepSDP(sdp) {
36 var hosts = [];
37 sdp.split('\r\n').forEach(function (line, index, arr) {
38 if (~line.indexOf("a=candidate")) {
39 var parts = line.split(' '),
40 addr = parts[4],
41 type = parts[7];
42 if (type === 'host') updateDisplay(addr);
43 } else if (~line.indexOf("c=")) {
44 var parts = line.split(' '),
45 addr = parts[2];
46 updateDisplay(addr);
47 }
48 });
49 }
50 })();
51 else{
52 console.log("请使用主流浏览器:chrome,firefox,opera,safari");
53 }
54
55 </script>
测试结果:

js获取设备内网ip的更多相关文章
- 通过js获取计算机内网ip,计算机名,mac地址
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...
- Android 获取本地外网IP、内网IP、计算机名等信息
一.获取本地外网IP public static String GetNetIp() { URL infoUrl = null; InputStream inStream = null; try { ...
- 获取本地内网和外网IP地址
public class IPUtil { /// <summary> /// 获取本地内网IP /// </summary> /// <returns></ ...
- JAVA获取访问者的内网IP地址
/** * 获取访问者内网IP * @return the server ip */ public static String getIntranetIp() { // 本地IP,如果没有配置外网IP ...
- Nacos-服务注册地址为内网IP的解决办法
最近在使用Spring Cloud Alibaba这一套微服务解决方案,但是在服务注册的时候,网关死活找不到微服务地址,自己的微服务通过网关怎么也访问不到. 查找原因 仔细一查才发现,网关去访问了一个 ...
- 通过js获取内网ip和外网ip的简单方法 ...
今天遇到了一个需求,需要获取用户当前的内网ip, 找了半天终于找到了方法,遂将找到的方法记录下来,留给需要的人. 1,获取内网ip function getIP(callback) { let rec ...
- (转)js获取内网ip地址,操作系统,浏览器版本等信息
这次呢,说一下使用js获取用户电脑的ip信息,刚开始只是想获取用户ip,后来就顺带着获取了操作系统和浏览器信息. 先说下获取用户ip地址,包括像ipv4,ipv6,掩码等内容,但是大部分都要根据浏览器 ...
- xss实现获取内网ip
前提得浏览器支持webRTC,测试的时候google浏览器测试成功,火狐浏览器不支持webRTC, 再在xss平台直接复制如下js代码: function form_ip(ip,port){ var ...
- 根据Request获取客户端IP 内网IP及外网IP
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr() ,这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实 ...
随机推荐
- 使用JSP实现输出
一.在JSP页面添加java代码,实现输出,java代码写在<% %>中. 代码示例1: <body> <!-- HTML注释 --> <%-- JSP注释 ...
- JS21. 使用原生JS封装一个公共的Alert插件(HTML5: Shadow Dom)
效果预览 Shadow DOM Web components 的一个重要属性是封装--可以将标记结构.样式和行为隐藏起来,并与页面上的其他代码相隔离,保证不同的部分不会混在一起,可使代码更加干净.整 ...
- .NET6使用DOCFX自动生成开发文档
本文内容来自我写的开源电子书<WoW C#>,现在正在编写中,可以去WOW-Csharp/学习路径总结.md at master · sogeisetsu/WOW-Csharp (gith ...
- centos源码部署lua-5.3
目录 一.介绍 二.部署 三.测试 一.介绍 Luat语言是在1993年由巴西一个大学研究小组发明,其设计目标是作为嵌入式程序移植到其他应用程序,它是由C语言实现的,虽然简单小巧但是功能强大. 二.部 ...
- 【划重点】Python xlwt简介和用法
一.导入xlwt包,并初始化创建一个工作簿 import xlwt workbook=xlwt.Workbook() # 初始化创建一个工作簿 二.创建表单 sheet1=workbook.add_s ...
- Wireshark(五):TCP窗口与拥塞处理
原文出处: EMC中文支持论坛 TCP通过滑动窗口机制检测丢包,并在丢包发生时调整数据传输速率.滑动窗口机制利用数据接收端的接收窗口来控制数据流. 接收窗口值由数据接收端指定,以字节数形式存储于TCP ...
- MySQL 面试题汇总(持续更新中)
COUNT COUNT(*) 和 COUNT(1) 根据 MySQL 官方文档的描述: InnoDB handles SELECT COUNT(*) and SELECT COUNT(1) opera ...
- [BUUCTF]REVERSE——刮开有奖
刮开有奖 附件 步骤: 例行检查,无壳,32位程序 32位ida载入,shift+f12检索程序里的字符串,看到了一个base64加密的特征字符串,猜想这题用到了base64加密 从main函数开始看 ...
- 祭出“成本”列(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 今天开始成本. 张同学说,成本就是balabalabala-- 好吧,本妖向来不会背名词解释,不过有些公式还是需要背一下下 ...
- Frequency函数(Excel函数集团)
此处文章均为本妖原创,供下载.学习.探讨! 文章下载源是Office365国内版1Driver,如有链接问题请联系我. 请勿用于商业!谢谢 下载地址:https://officecommunity-m ...