一种利用js脚本实现nat内网ip探测的方法
【技术领域】
1.本发明涉及nat边界监测检测的技术领域,特别是一种利用js脚本实现nat内网ip探测的方法。
背景技术:2.nat(network address translation),即网络地址转换技术,作为目前ipv4地址资源日益枯竭的临时解决办法被广泛的运用,大至运营商,小至家庭网络都有它的身影。
3.nat的运用极大的降低了网络接入的门槛,同时使得网络拓扑变得更加复杂,大大增加了运维管理的难度。特别是大型的专用网络无法有效地感知nat边界的存在,导致无法及时有效的对nat接入的设备进行管理。为解决以上问题,有必要提出一种利用js脚本实现nat内网ip探测的方法。
技术实现要素:4.本发明的目的就是解决现有技术中的问题,提出一种利用js脚本实现nat内网ip探测的方法,能够及时有效地发现接入网内的nat边界点。
5.为实现上述目的,本发明提出了一种利用js脚本实现nat内网ip探测的方法,包括以下步骤:
6.s1.在web服务器上增加检测nat的js脚本,浏览器访问web加载并运行js脚本;
7.s2.js脚本使用webrtc对预设的nat私网网关地址进行连接探测,通过返回的连接状态以及时效分析获取其设备ip地址;
8.s3.将步骤s2获取的ip地址与web服务器接收到的连接的remote_addr地址进行比对,判断是否是nat边界接入。
9.作为优选,步骤s2具体包括以下步骤:
10.s21.执行js脚本,使用webrtc对预设的nat私网网关地址发起连接扫描,返回并记录连接状态及连接时效;
11.s22.对成功探测的nat内网网关执行遍历扫描,使用webrtc进行发起连接探测,返回并记录连接状态及连接时效;
12.s23.将所有连接成功的信息发送至web服务器,所述连接成功的信息包括nat内网ip地址及时效信息。
13.作为优选,步骤s3中,判断是否是nat边界接入的具体步骤为:web服务器收集浏览器发送的扫描结果,同时使用浏览器连接的remote_addr进行比对,若两者地址存在差异,则表明该remote_addr为nat接入点,其子网为扫描得到的内网ip所使用的网段。
14.作为优选,步骤s1中,终端pc使用浏览器访问目标服务器,并运行检测nat的js脚本。
15.作为优选,所述预设的nat私网网关地址包括192.168.*.1、192.168.*.254、172.[16-31].*.1、172.[16-31].*.254。
[0016]
本发明的有益效果:与传统终端代理程序相比,本发明部署方便无需要求在所有设备上安装代理程序,即可检测全网设备,能及时有效的检测网内的nat边界点。
[0017]
本发明的特征及优点将通过实施例结合附图进行详细说明。
【附图说明】
[0018]
图1是本发明一种利用js脚本实现nat内网ip探测的方法的流程图。
【具体实施方式】
[0019]
参阅图1,本发明一种利用js脚本实现nat内网ip探测的方法,通过在web服务器上增加检测nat的js脚本,并运行js脚本;js脚本使用webrtc对预设的nat私网网关地址进行连接探测,通过返回的连接状态以及时效分析获取其设备ip地址;将获取的ip地址与web服务器接收到的连接的remote_addr地址进行比对,判断是否是nat边界接入。具体步骤如下:
[0020]
a)在web服务器上增加检测nat的js脚本,用于被访问时对设备nat接入情况的检测分析;
[0021]
b)终端pc使用浏览器访问目标服务器,加载并运行检测nat的js脚本;
[0022]
c)执行js脚本,使用webrtc对预设的nat私网网关地址(包括192.168.*.1、192.168.*.254、172.[16-31].*.1、172.[16-31].*.254)发起连接扫描,返回并记录连接状态及连接时效;
[0023]
d)对成功探测的nat内网网关执行遍历扫描,使用webrtc进行发起连接探测,返回并记录连接状态及连接时效;
[0024]
e)将所有连接成功的信息发送至web服务器,所述连接成功的信息包括nat内网ip地址及时效信息;
[0025]
f)web服务器收集浏览器发送的扫描结果,同时使用浏览器连接的remote_addr进行比对,若两者地址存在差异,则表明该remote_addr为nat接入点,其子网为扫描得到的内网ip所使用的网段。
[0026]
上述实施例是对本发明的说明,不是对本发明的限定,任何对本发明简单变换后的方案均属于本发明的保护范围。
技术特征:1.一种利用js脚本实现nat内网ip探测的方法,其特征在于:包括以下步骤:s1.在web服务器上增加检测nat的js脚本,浏览器访问web加载并运行js脚本;s2.js脚本使用webrtc对预设的nat私网网关地址进行连接探测,通过返回的连接状态以及时效分析获取其设备ip地址;s3.将步骤s2获取的ip地址与web服务器接收到的连接的remote_addr地址进行比对,判断是否是nat边界接入。2.如权利要求1所述的一种利用js脚本实现nat内网ip探测的方法,其特征在于:步骤s2具体包括以下步骤:s21.执行js脚本,使用webrtc对预设的nat私网网关地址发起连接扫描,返回并记录连接状态及连接时效;s22.对成功探测的nat内网网关执行遍历扫描,使用webrtc进行发起连接探测,返回并记录连接状态及连接时效;s23.将所有连接成功的信息发送至web服务器,所述连接成功的信息包括nat内网ip地址及时效信息。3.如权利要求1或2所述的一种利用js脚本实现nat内网ip探测的方法,其特征在于:步骤s3中,判断是否是nat边界接入的具体步骤为:web服务器收集浏览器发送的扫描结果,同时使用浏览器连接的remote_addr进行比对,若两者地址存在差异,则表明该remote_addr为nat接入点,其子网为扫描得到的内网ip所使用的网段。4.如权利要求1所述的一种利用js脚本实现nat内网ip探测的方法,其特征在于:步骤s1中,终端pc使用浏览器访问目标服务器,并运行检测nat的js脚本。5.如权利要求1所述的一种利用js脚本实现nat内网ip探测的方法,其特征在于:所述预设的nat私网网关地址包括192.168.*.1、192.168.*.254、172.[16-31].*.1、172.[16-31].*.254。
技术总结本发明提出了一种利用js脚本实现NAT内网IP探测的方法,包括以下步骤:S1.在web服务器上增加检测NAT的JS脚本,浏览器访问WEB加载并运行JS脚本;S2.JS脚本使用webRTC对预设的NAT私网网关地址进行连接探测,通过返回的连接状态以及时效分析获取其设备IP地址;S3.将步骤S2获取的IP地址与web服务器接收到的连接的remote_addr地址进行比对,判断是否是NAT边界接入。与传统终端代理程序相比,本发明部署方便无需要求在所有设备上安装代理程序,即可检测全网设备,能及时有效的检测网内的NAT边界点。点。点。
技术研发人员:朱国耀 金张强 杨玲 赵雨农 傅如毅
受保护的技术使用者:浙江远望信息股份有限公司
技术研发日:2022.06.09
技术公布日:2022/11/1