CN108289131A - 一种获取用户客户端内网和公网ip地址的方法 - Google Patents
一种获取用户客户端内网和公网ip地址的方法 Download PDFInfo
- Publication number
- CN108289131A CN108289131A CN201711313767.XA CN201711313767A CN108289131A CN 108289131 A CN108289131 A CN 108289131A CN 201711313767 A CN201711313767 A CN 201711313767A CN 108289131 A CN108289131 A CN 108289131A
- Authority
- CN
- China
- Prior art keywords
- client
- data
- address
- public network
- browser
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/59—Network arrangements, protocols or services for addressing or naming using proxies for addressing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种获取用户客户端内网和公网IP地址的方法。本方法为:1)当客户端访问目标网站时,该目标网站创建该客户端的浏览器与WebRTC服务器之间的数据通信连接;2)通过该客户端的浏览器获取WebRTC服务器的服务接口返回数据,筛选出与该客户端IP相关的数据;3)通过该客户端的浏览器将与该客户端IP相关的数据发送至数据接收平台;该数据接收平台根据对比该客户端IP相关的数据和TCP会话中的源IP地址,识别出该客户端是否使用了代理以及代理前的IP、并获取该客户端的公网IP地址;该TCP会话为该客户端与目标网站之间的TCP会话。本发明可获取客户端所处网络环境的本地局域网及公网的IP地址。
Description
技术领域
本发明属于计算机软件技术领域,涉及一种通过WebRTC在浏览器中获取用户客户端内网和公网IP地址的方法。
背景技术
IP地址:IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
内网:内网也就是局域网(LAN),局域网是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等功能。局域网是封闭型的,可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算机组成。
公网:公网也就是广域网(WAN),是由许多交换机组成的,交换机之间采用点到点线路连接,几乎所有的点到点通信方式都可以用来建立广域网,包括租用线路、光纤、微波、卫星信道。而广域网交换机实际上就是一台计算机,有处理器和输入/输出设备进行数据包的收发处理。
WebRTC:浏览器中的一种通信协议,名称源自网页实时通信(Web Real-TimeCommunication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的技术。
STUN:STUN(Simple Traversal of UDP over NATs,NAT的UDP简单穿越)是一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。这些信息被用来在两个同时处于NAT路由器之后的主机之间建立UDP通信。该协议由RFC 3489定义。目前RFC3489协议已被RFC 5389协议所取代,新的协议中,将STUN定义为一个协助穿越NAT的工具,并不独立提供穿越的解决方案。它还有升级版本RFC 7350,目前正在完善中。
STUN服务器:通过STUN服务器,客户终端可以了解他们的公共地址、挡在他们前面的NAT类型和通过NAT与特定局部端口相连的因特网方端口。这些信息将被用于建立客户终端与VOIP服务商之间的UDP通信,以便实现通话。STUN协议在RFC 3489中予以定义。虽然是在UDP端口3478连接STUN服务器,但会暗示客户终端在另外一个IP和端口号上实施测试(STUN服务器有两个IP地址)。RFC规定这个端口和IP是随意的。
网站管理人员常见的获取用户客户端IP的方法,是通过HTTP连接的来源IP(TCP会话的source IP地址)来标记网站访客IP;该方法仅能发现用户客户端的公网出口IP,不能获取用户客户端的内网IP地址;且用户如果使用了HTTP/Socks4/Socks5代理,将仅能够获取到最后一层代理出口IP地址,无法准确捕捉到真实的IP地址。
发明内容
针对现有技术中存在的技术问题,本发明的目的在于提供一种通过WebRTC在浏览器中获取用户客户端内网和公网IP地址的方法。本发明可用于在用户的浏览器客户端中获取所处网络环境的本地局域网及公网的IP地址。
本发明的使用的场景包括:分析网站访客的来源IP,以及通过对比出口IP和代理之前的真实IP来识别使用了代理服务的用户群体;分析网站Web服务无法记录的内网IP;溯源到用户代理前真实IP。
本发明的技术方案为:
一种获取用户客户端内网和公网IP地址的方法,其步骤包括:
1)当客户端访问目标网站时,该目标网站创建该客户端的浏览器与WebRTC服务器之间的数据通信连接;
2)通过该客户端的浏览器获取WebRTC服务器的服务接口返回数据,筛选出返回数据中与该客户端IP相关的数据;
3)通过该客户端的浏览器将与该客户端IP相关的数据发送至数据接收平台;该数据接收平台根据对比该客户端IP相关的数据和TCP会话中的源IP地址,识别出该客户端是否使用了代理以及代理前的IP、并从该客户端IP相关的数据中获取该客户端的公网IP地址;该TCP会话为该客户端与目标网站之间的TCP会话。
进一步的,所述返回数据为该客户端与WebRTC服务器的日志,所述与该客户端IP相关的数据为该客户端的内网IP地址和公网IP地址。
进一步的,所述步骤1)中,当客户端访问目标网站时,该目标网站向该客户端发送一插件,该插件利用JS在该客户端的浏览器中调用Flash软件,通过Flash软件的XMLSocket创建该客户端的浏览器与WebRTC服务器之间的数据通信连接。
进一步的,识别出该客户端是否使用了代理以及代理前的IP的方法为:对比该TCP会话的源IP与该客户端IP相关的数据中的IP数据,如果两者不匹配,则判定该客户端使用了代理,代理前的IP为该客户端与目标网站建立起该TCP会话时,该TCP会话的源IP。
进一步的,从该客户端IP相关的数据中获取该客户端的公网IP地址的方法为:通过设置的内网私有IP段列表从该客户端IP相关的数据中筛选出该客户端的内网IP,将该客户端IP相关的数据中剩余的IP则判定为该客户端的公网IP。
进一步的,所述数据接收平台为该目标网站。
进一步的,所述数据接收平台为设定的监控平台。
目前,主流的浏览器均已经实现了WebRTC,允许向STUN服务器发出请求,返回的请求中包含了用户的本地和公共IP地址。可通过JavaScript发出并获取到这些请求的返回结果,因此可以通过JavaScript获取到用户浏览器所运行的内网和公网的IP地址。
因此,本发明的主要流程为:
步骤1:当客户端访问目标网站时,目标网站创建客户端与WebRTC服务器的连接。
步骤2:目标网站通过该客户端的浏览器获取WebRTC的服务接口返回的数据,筛选出返回数据中与该目标客户端IP相关的数据。
步骤3:将IP数据回传至数据接收平台(可以是目标网站或设定的监控平台),数据接收平台根据对比客户端提交的通过WebRTC获取到的数据和TCP会话中的源IP(sourceIP)地址(该TCP会话为该客户端与目标网站之间的TCP会话),区分出客户端是否使用了代理、代理前的IP。对比TCP会话的源IP与通过WebRTC获取得到的IP数据,如果两者不匹配,则认为客户端使用了代理。代理IP:客户端与目标网站建立起TCP会话时,TCP会话的源IP为代理IP,真实的公网IP:从WebRTC连接日志中筛选得出真实的公网IP。
本发明主要具有以下优点:
本发明利用WebRTC技术,实现了获取用户内网、公网IP地址的目的,摆脱了以往仅仅能够获取公网出口IP地址的局限,并且能够在浏览器使用了代理的情况下获取代理之前的真实IP地址,大大的提高了获取到的信息的价值以及精准性。
附图说明
图1为本发明的方法流程图。
具体实施方式
为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图作详细说明如下。
如图1所示,详细的获取过程和方法为:
某网上在线商城,为了保证客户的资金安全,需要获取访问用户的真实IP地址,以验证客户身份,确认是否为用户本人在常用地址进行操作。
首先,需要确定用户客户端使用的浏览器是否支持WebRTC组件。如Google Chrome中的window.RTCPeeerConnection方法。
可通过用户所在客户端的浏览器建立与WebRTC服务器的连接,获取客户端与WebRTC服务器连接状态及日志。日志中包括了浏览器与WebRTC服务器建立起会话的过程的详细信息,其中包含了当前客户端的内网IP、公网IP地址,再在日志中将IP信息通过正则表达式的方式筛选取出。本发明维护了一个内网私有IP段列表(如192.168.0.0/16、10.0.0.0/8,主要参考自权威机构IANA发布《From IANA IPv4Special-Purpose AddressRegistry》),通过对比此列表筛选出内网IP,其余的IP认为是客户端的真实公网IP。通过筛选可以取得三类数据:客户端内网IP、客户端流量出口(即TCP会话源IP地址、公网IP地址)、客户端代理之前的IP。
获取过程示例:(仅举例用于说明过程,此示例中的代码仅能在Chrome中运行)
1、同WebRTC服务器建立连接
2、监听候选事件(即是否建立完连接),当客户端浏览器建立同WebRTC服务器通信连接时会调用此事件进行处理
3、通过前面的设定建立客户端与WebRTC服务器的数据通信通道
pc.createDataChannel("")。
4、读取客户端本地的日志信息,通过正则表达式提取出日志中与IP有关的数据
通过分隔符分割日志,遍历每一行日志记录,筛选出以“candidate:”开头的。该行日志为客户端IP相关日志,将此行日志提交给“监听候选事件”进行IP数据的匹配、提取。
目前多数浏览器支持无交互调用Adobe Flash软件。因为Flash属于浏览器之外的第三方程序,所以可以利用JS在浏览器中调用Flash软件,通过Flash软件的XMLSocket功能实现于网站服务器建立连接,如此一来就可以跨过浏览器中配置的代理,网站服务器可获取到客户端真实的IP地址。
以上实施仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。
Claims (7)
1.一种获取用户客户端内网和公网IP地址的方法,其步骤包括:
1)当客户端访问目标网站时,该目标网站创建该客户端的浏览器与WebRTC服务器之间的数据通信连接;
2)通过该客户端的浏览器获取WebRTC服务器的服务接口返回数据,筛选出返回数据中与该客户端IP相关的数据;
3)通过该客户端的浏览器将与该客户端IP相关的数据发送至数据接收平台;该数据接收平台根据对比该客户端IP相关的数据和TCP会话中的源IP地址,识别出该客户端是否使用了代理以及代理前的IP、并从该客户端IP相关的数据中获取该客户端的公网IP地址;该TCP会话为该客户端与目标网站之间的TCP会话。
2.如权利要求1所述的方法,其特征在于,所述返回数据为该客户端与WebRTC服务器的日志,所述与该客户端IP相关的数据为该客户端的内网IP地址和公网IP地址。
3.如权利要求1或2所述的方法,其特征在于,所述步骤1)中,当客户端访问目标网站时,该目标网站向该客户端发送一插件,该插件利用JS在该客户端的浏览器中调用Flash软件,通过Flash软件的XMLSocket创建该客户端的浏览器与WebRTC服务器之间的数据通信连接。
4.如权利要求1所述的方法,其特征在于,识别出该客户端是否使用了代理以及代理前的IP的方法为:对比该TCP会话的源IP与该客户端IP相关的数据中的IP数据,如果两者不匹配,则判定该客户端使用了代理,代理前的IP为该客户端与目标网站建立起该TCP会话时,该TCP会话的源IP。
5.如权利要求1所述的方法,其特征在于,从该客户端IP相关的数据中获取该客户端的公网IP地址的方法为:通过设置的内网私有IP段列表从该客户端IP相关的数据中筛选出该客户端的内网IP,将该客户端IP相关的数据中剩余的IP则判定为该客户端的公网IP。
6.如权利要求1所述的方法,其特征在于,所述数据接收平台为该目标网站。
7.如权利要求1所述的方法,其特征在于,所述数据接收平台为设定的监控平台。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711313767.XA CN108289131A (zh) | 2017-12-12 | 2017-12-12 | 一种获取用户客户端内网和公网ip地址的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711313767.XA CN108289131A (zh) | 2017-12-12 | 2017-12-12 | 一种获取用户客户端内网和公网ip地址的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108289131A true CN108289131A (zh) | 2018-07-17 |
Family
ID=62831589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711313767.XA Pending CN108289131A (zh) | 2017-12-12 | 2017-12-12 | 一种获取用户客户端内网和公网ip地址的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108289131A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110557465A (zh) * | 2019-09-09 | 2019-12-10 | 浪潮云信息技术有限公司 | 一种用户端ip地址的获取方法及装置 |
CN114024774A (zh) * | 2022-01-05 | 2022-02-08 | 北京微步在线科技有限公司 | 一种攻击者画像的生成方法、装置及电子设备 |
CN114666306A (zh) * | 2022-02-18 | 2022-06-24 | 阿里巴巴(中国)有限公司 | WebRTC网络连接建立方法和服务器、电子设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104125145A (zh) * | 2014-08-12 | 2014-10-29 | 中国联合网络通信集团有限公司 | 基于网页浏览器的通信方法、设备和系统 |
US20150058469A1 (en) * | 2013-08-20 | 2015-02-26 | Futurewei Technologies, Inc. | Monitoring NAT Behaviors Through URI Dereferences in Web Browsers |
US9247062B2 (en) * | 2012-06-19 | 2016-01-26 | Twilio, Inc. | System and method for queuing a communication session |
CN105812443A (zh) * | 2014-12-31 | 2016-07-27 | 乐视网信息技术(北京)股份有限公司 | 一种p2p系统及业务接入方法 |
CN106686151A (zh) * | 2015-11-11 | 2017-05-17 | 阿里巴巴集团控股有限公司 | 一种ip地址获取方法及装置 |
-
2017
- 2017-12-12 CN CN201711313767.XA patent/CN108289131A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9247062B2 (en) * | 2012-06-19 | 2016-01-26 | Twilio, Inc. | System and method for queuing a communication session |
US20150058469A1 (en) * | 2013-08-20 | 2015-02-26 | Futurewei Technologies, Inc. | Monitoring NAT Behaviors Through URI Dereferences in Web Browsers |
CN104125145A (zh) * | 2014-08-12 | 2014-10-29 | 中国联合网络通信集团有限公司 | 基于网页浏览器的通信方法、设备和系统 |
CN105812443A (zh) * | 2014-12-31 | 2016-07-27 | 乐视网信息技术(北京)股份有限公司 | 一种p2p系统及业务接入方法 |
CN106686151A (zh) * | 2015-11-11 | 2017-05-17 | 阿里巴巴集团控股有限公司 | 一种ip地址获取方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110557465A (zh) * | 2019-09-09 | 2019-12-10 | 浪潮云信息技术有限公司 | 一种用户端ip地址的获取方法及装置 |
CN114024774A (zh) * | 2022-01-05 | 2022-02-08 | 北京微步在线科技有限公司 | 一种攻击者画像的生成方法、装置及电子设备 |
CN114666306A (zh) * | 2022-02-18 | 2022-06-24 | 阿里巴巴(中国)有限公司 | WebRTC网络连接建立方法和服务器、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9451036B2 (en) | Method and apparatus for fingerprinting systems and operating systems in a network | |
US9825819B2 (en) | Cloud service usage monitoring system | |
US9860107B2 (en) | Computer network system and a method for monitoring and controlling a network | |
US9197604B1 (en) | Network services platform | |
Das et al. | Packet tracing and analysis of network cameras with Wireshark | |
US20090290492A1 (en) | Method and apparatus to index network traffic meta-data | |
CN108289131A (zh) | 一种获取用户客户端内网和公网ip地址的方法 | |
CN108040134A (zh) | 一种dns透明代理的方法及装置 | |
DE112020000535T5 (de) | Fehlerbehebung innerhalb und außerhalb der eigenen Räumlichkeiten | |
CN107995321A (zh) | 一种vpn客户端代理dns的方法及装置 | |
CN110392066A (zh) | 一种访问服务的方法和装置 | |
CN106411819A (zh) | 一种识别代理互联网协议地址的方法及装置 | |
CN103368783B (zh) | 一种网络通信过程的监听方法、系统和设备 | |
Alcock et al. | Sneaking past the firewall: quantifying the unexpected traffic on major TCP and UDP ports | |
Yu et al. | Traffic identification and overlay measurement of Skype | |
Cohen | Source attribution for network address translated forensic captures | |
Spiekermann et al. | Using network data to improve digital investigation in cloud computing environments | |
Stanley et al. | Correlating network services with operational mission impact | |
US20120047271A1 (en) | Network address translation device and method of passing data packets through the network address translation device | |
Trammell et al. | Report from the IAB workshop on stack evolution in a middlebox Internet (SEMI) | |
Pietikäinen et al. | Socio-technical security assessment of a voip system | |
US10721207B1 (en) | Pattern-based techniques to discover relationships between hosts | |
O’Reilly | Availability of required data to support criminal investigations involving large-scale ip address–sharing technologies | |
US9325741B2 (en) | Method and system for evaluating access granted to dynamically provisioned virtual servers across endpoints in a network | |
CN112073258B (zh) | 一种识别用户的方法及电子设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180717 |
|
RJ01 | Rejection of invention patent application after publication |