CN111917706A - 一种识别nat设备及确定nat后终端数的方法 - Google Patents
一种识别nat设备及确定nat后终端数的方法 Download PDFInfo
- Publication number
- CN111917706A CN111917706A CN202010433061.2A CN202010433061A CN111917706A CN 111917706 A CN111917706 A CN 111917706A CN 202010433061 A CN202010433061 A CN 202010433061A CN 111917706 A CN111917706 A CN 111917706A
- Authority
- CN
- China
- Prior art keywords
- nat
- terminal
- client
- network
- server
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000000737 periodic effect Effects 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 239000000284 extract Substances 0.000 claims description 2
- 235000014510 cooky Nutrition 0.000 description 12
- 230000036541 health Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- 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
- H04L61/2503—Translation of Internet protocol [IP] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开有效识别NAT设备的方法,以及确定NAT后的终端数量的方法,基于网络准入控制的客户端与服务器端,通过判断客户端发送至服务器端的周期信息IP是否与客户端本身的IP相同,如果发生了改变,说明客户端的网络数据经过了NAT设备的转换,从而识别出NAT设备;同时,基于上述的NAT设备识别方法,提高终端数统计的准确性。
Description
技术领域
本发明属于网络通信安全技术领域,尤其是涉及一种识别NAT设备与确定NAT后终端数的方法。
背景技术
为了对接入网络的终端进行管理,安全网关设备多采用客户端接入认证,一旦客户端被认证通过,对应的终端IP便允许接入互联网,网关即开始通过IP实现对终端的网络监控。但是,目前的这种方案存在一个问题,如果到达网关的数据包IP被事先修改,网关便无法识别该数据包的准确来源,例如NAT 设备可以将内网所有终端的本地IP转换为同一个对外IP,该网络内只要有一个终端通过认证,其他的终端也都可以接入网络了,容易被非法利用,带来安全隐患;特别是当大量的NAT设备接入时,更是增加了管理难度。
因此,如何准确识别出网络中的NAT设备,进而采取针对性措施就成为解决上述问题的主要方式;同时,如何确定在一个公网IP地址后面有多少个终端,即通过特定的方法来计算NAT设备后面的终端数,对于网络控制也非常有必要。现有的各种NAT设备识别及终端数统计方法,普遍依赖于网络数据包中的特殊字段,其识别效果主要取决于该字段,受到操作系统以及用户上网习惯的制约。
发明内容
鉴于以上现状,本发明旨在提出一种有效识别NAT设备的方法,以及确定NAT后的终端数量的方法,其技术方案如下所述。
一种识别NAT设备的方法,应用于包括客户端与服务器端的网络准入控制,其特征在于,包括:接收客户端发送的周期信息,判断所述周期信息的IP与客户端上报至服务器端的IP是否一致;若所述周期信息的IP与客户端上报至服务器端的IP不一致,则判断所述周期信息的IP对应NAT设备。
具体识别过程包括:所述服务器端预设终端的IP列表,每一个客户端接入网络时,将其对应的终端标识与终端IP上报至所述IP列表;客户端接入网络后周期性的向所述服务器端发送包括终端标识的数据信息,服务器端提取数据信息中的IP,并根据终端标识从所述IP列表查找对应的终端IP,判断所述周期数据信息中的IP与所述终端IP是否一致,若不一致则该周期数据信息的IP对应NAT设备。
作为一种优选的,若服务器端未接收到客户端的周期信息,判断同一IP的网络数据是否具有不同操作系统的特征,若同一IP的网络数据具有不同操作系统的特征,则该IP对应NAT设备。
或者,若同一IP的网络数据具有不同操作系统的特征,判断该IP为疑似NAT设备;进一步提取该IP的网络数据TCP头中的时间戳与端口数量,若所述时间戳跳变超出预设的阈值,和/或所述端口数量变化超出预设的阈值,则确定该IP对应NAT设备。
一种确定NAT后终端数的方法,包括:识别出NAT设备后,建立NAT设备IP与所述终端IP的关联表;继续获取来自该NAT设备的周期信息,根据周期信息中的终端标识确定其终端IP,判断该终端IP是否存在于所述关联表,若存在则结束,若不存在则将该终端IP加入所述关联表;统计所述关联表中的终端IP数量,则得到NAT设备后的终端数量。
另一种确定NAT后终端数的方法是:终端通过客户端被服务器端认证后,接入网络时访问预设的特定网站;统计来自同一NAT设备的数据包中的访问所述固定网站的CookieID,则得到该NAT设备后的终端数量。
以上的技术方案,具有以下有益效果:首先基于网络准入控制的客户端与服务器端,通过判断客户端发送至服务器端的周期信息IP是否与客户端本身的IP相同,如果发生了改变,说明客户端的网络数据经过了NAT设备的转换,从而识别出NAT设备;并且进一步的,如果服务器端无法收到客户端的交互信息,则通过抓取客户端的数据进行分析进行判断,提高识别的及时性和准确性;同时,基于上述的NAT设备识别方法,提高终端数统计的准确性。
附图说明
图1为本发明的NAT设备识别方法的一种实施例,工作流程示意图;
图2为本发明的NAT后终端数确定方法的一种实施例,工作流程示意图。
具体实施方式
下面结合附图与实施例,对本发明的技术方案进行详细说明。首先是对涉及到的相关技术现状进行简要说明。
网络安全准入系统主要用于解决不可信终端的随意接入可能带来的企业网络及信息资源违规占用、企业资料泄密以及越权访问等诸多安全问题,例如:未经身份授权的终端,设备非法外联(如通过3G/4G网卡,或者通过代理、VPN绕过上网限制等),越权访问的终端,修改IP、修改MAC、克隆MAC等仿冒问题非法接入,外来未经访问许可的终端等。网络安全准入控制能够实现终端、网络使用的过程化管理,主要功能包括:网络终端设备和人员的双重授权、终端的安全检查与修复、访问权限的管理和终端的持续安全监控。
作为一种网络安全准入控制系统的实施方式,包含客户端和服务器端:服务器端,用于完成用户认证准入,存储用户账户、密码、vlan及对应策略信息,读取用户对应健康策略,并将需要检查的健康项告知客户端,同时接收来自客户端发送过来的健康信息,做出健康评估,确定能否入网;客户端,用于用户发起入网请求,向管理员索取用户名、密码信息,进行身份认证,如果认证成功,进入健康检查;认证不成功,终端被隔离。
基于上述的网络安全准入控制,提出一种NAT设备识别的方法,并且进一步提出一种NAT后终端数的确定方法。
如图1所述,一种识别NAT设备的方法,应用于包括客户端与服务器端的网络准入控制,包括:
服务器端预设终端的IP列表,每一个客户端接入网络进行认证时,将其对应的终端标识与终端IP上报至所述IP列表;
客户端接入网络后,周期性的向所述服务器端发送包括终端标识的数据信息;所述的终端标识表示该终端唯一性,例如MAC地址;
接收客户端发送的周期信息,如果该周期信息经过NAT设备转发,其IP地址会修改为该NAT设备的IP;
因此,提取数据信息中的IP,并根据终端标识从所述IP列表查找对应的终端IP,判断所述周期信息的IP与客户端上报至服务器端的IP是否一致;若所述周期信息的IP与客户端上报至服务器端的IP不一致,则可以确定周期信息的IP对应NAT设备。
作为进一步优化的实施方式,若由于网络等问题,服务器端未接收到客户端的周期信息,则可以判断同一IP的网络数据是否具有不同操作系统的特征,若同一IP的网络数据具有不同操作系统的特征,则该IP对应NAT设备。
或者,若服务器端未接收到客户端的周期信息,判断同一IP的网络数据是否具有不同操作系统的特征,若同一IP的网络数据具有不同操作系统的特征,判断该IP为疑似NAT设备;进一步提取该IP的网络数据TCP头中的时间戳与端口数量,若所述时间戳跳变超出预设的阈值,和/或所述端口数量变化超出预设的阈值,则确定该IP对应NAT设备。
上述的时间戳是TCP协议的选项字段,发送方可以在数据包中放置一个时间戳,接收方在收到该带有时间戳的数据包后,在确认包中返回这个数值,从而使发送方能够为每一个ACK 回复包计算 RTT 值。时间戳是个单调递增的数值,在开机瞬间从0 开始计数,之后的数值等于该终端从开机到当前时间的毫秒数,当系统重启该值也会重新置 0。 基于时间戳的以上性质,可以根据时间戳的不同取值获取终端的开机时间,一般说来不同终端的开机时间不可能完全相同,所以不同终端与标准时间之差往往按照一定比例线性变化,因此可以根据时间戳与标准时间的差值识别NAT设备。
所述判断同一IP的网络数据是否具有不同操作系统的特征,包括:建立不同操作系统的特征库,获取同一IP的网络数据,与所述特征库进行匹配,若至少与两种操作系统的特征匹配成功,则该IP对应NAT设备;所述不同操作系统的特征,包括流量特征与httpoption特征。
利用HTTP协议中的User-Agent字段(User-Agent字段的数据如操作系统类型,操作系统版本号,软件名称,软件版本号,硬件品牌,硬件型号等)可以获取客户端的操作系统信息。User-Agent 是一个特殊的只读字符串头,声明了浏览器用于 HTTP 请求的用户代理头的值,使得服务器能够识别客户使用的操作系统及版本、浏览器及版本、CPU 类型等。因此应用层数据报文中的 HTTP 报头中的 UserAgent 字段因操作系统版本、浏览器版本和补丁的差异而不尽相同,通过分析 HTTP 报头中的该字段可以确定NAT设备。
而且,由于NAT设备后面的内部网络中有多台设备,其流量数据与普通终端的流量数据有很大的区别,因此可以通过数据特征可以识别出不同操作系统。如NAT设备与普通终端的区别数据有:网址字段、OICQ协议的指定软件的客户端版本与指定软件的客户标识信息、内部IP端TTL值、数据包上行下行数据包数量与占比、数据包上行下行数据包字节数与占比、数据包TCP/UDP流数量与占比、IP包时间间隔分布、DNS数据request数量、端口号及数量中的一种或多种。
获取TCP流中的SYNC数据包,该数据包为TCP连接时发送的第一个数据包,用于和接收端建立联系,也即和接收端的第一次握手时发送的数据包。提取SYNC数据包中的option选项,提取出SYNC数据包中的option选项,不同的操作系统(如IOS、Linux或Windows)中的option选项的内容特征不同,该内容特征至少包括MSS、WS、TIMESTAMP及SACK选项,不同的终端设备中的内容特征不同,如不同的终端设备中MSS、WS、TIMESTAMP及SACK选项的顺序排列不同,因此可以根据其顺序判断终端设备的系统类型。
如图2所示,确定NAT后终端数的方法,按上述方法识别出NAT设备后,统计该NAT设备后的终端数量,包括:
识别出NAT设备后,建立NAT设备IP与所述终端IP的关联表;
继续获取来自该NAT设备的周期信息,根据周期信息中的终端标识确定其终端IP,判断该终端IP是否存在于所述关联表,若存在则结束,若不存在则将该终端IP加入所述关联表;
统计所述关联表中的终端IP数量,则得到NAT设备后的终端数量。
作为另一种确定NAT后终端数的方法,按上述方法识别出NAT设备后,终端通过客户端被服务器端认证后,接入网络时访问预设的特定网站;统计来自同一NAT设备的数据包中的访问所述固定网站的CookieID,则得到该NAT设备后的终端数量。
Cookie是HTTP中用于浏览器与Web服务器之间传输状态信息的,是网站为了辨别用户身份而存储在用户本地终端的数据信息。一般情况下,当用户浏览某网站时,Web服务器返回给用户相应内容,并伴随一个含有用户ID信息和日期时间等信息的Cookie。用户浏览器将该Cookie保存在本地,当用户再次访问该网站时,会将该 Cookie 带出,该网站根据Cookie 可以得到该用户的相关信息。在HTTP协议中,Web服务器对初次访问该网站的用户分配的 Cookie信息中会设置有效期,若没设置有效期,则该Cookie从打开浏览器到关闭浏览器之间有效。由于在 Cookie 有效期内,同一网站为不同用户分配的 Cookie ID 值是不同的。因此统计分析某一IP地址发出的HTTP请求报文,如果同一IP地址下访问特定相同网站有多个 CookieID 值,就可以确定这个IP 地址后有多台终端共享接入网络,并且还可以根据Cookie ID的数目确定NAT设备后终端的数目。
例如,在本发明的实施例中,客户端接入网络进行认证可以使用周期的向特定网站发送请求,此时就获取到了客户端对应的CookieID,当所有客户端都访问该特定网站,即可保证终端数量统计的准确性。
另外,可以通过统计IPID确定NAT设备后终端数。具体的:IPID 是IP层中用来标识IP 数据包的字段,在实际应用中操作系统常常将 IPID 作为一个计数器使用不论数据包属于哪个连接,同一终端每发出一个数据包 IPID 值就会递增 1。不同终端的IPID值独立地递增,因此,当同一个网络中的多台终端同时访问网络时,每台终端的 IPID 值按照各自的序列递增。因为不同终端开机时间不尽相同,活动频率也不相同,因此NAT 后的不同终端产生相同的 IPID 轨迹的概率极小。据此,通过分析统计一个指定 IP 地址发出的数据包的IPID值,查看其有多少个不同的连续轨迹,可以较准确地识别这个NAT设备后的终端数。
以上的技术方案,能够有效提高NAT设备识别的准确性,并且能够准确确定NAT设备后的终端数,以便网络安全准入控制进行高效的策略下发等操作,提高工作效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如:ROM/RAM、磁碟、光盘等。
Claims (7)
1.一种识别NAT设备的方法,应用于包括客户端与服务器端的网络准入控制,其特征在于,包括:接收客户端发送的周期信息,判断所述周期信息的IP与客户端上报至服务器端的IP是否一致;若所述周期信息的IP与客户端上报至服务器端的IP不一致,则判断所述周期信息的IP对应NAT设备。
2.根据权利要求1所述的识别方法,其特征在于,具体识别过程包括:所述服务器端预设终端的IP列表,每一个客户端接入网络时,将其对应的终端标识与终端IP上报至所述IP列表;客户端接入网络后周期性的向所述服务器端发送包括终端标识的数据信息,服务器端提取数据信息中的IP,并根据终端标识从所述IP列表查找对应的终端IP,判断所述周期数据信息中的IP与所述终端IP是否一致,若不一致则该周期数据信息的IP对应NAT设备。
3.根据权利要求2所述的识别方法,其特征在于,若服务器端未接收到客户端的周期信息,判断同一IP的网络数据是否具有不同操作系统的特征,若同一IP的网络数据具有不同操作系统的特征,则该IP对应NAT设备。
4.根据权利要求2所述的识别方法,其特征在于,若服务器端未接收到客户端的周期信息,判断同一IP的网络数据是否具有不同操作系统的特征,若同一IP的网络数据具有不同操作系统的特征,判断该IP为疑似NAT设备;
进一步提取该IP的网络数据TCP头中的时间戳与端口数量,若所述时间戳跳变超出预设的阈值,和/或所述端口数量变化超出预设的阈值,则确定该IP对应NAT设备。
5.根据权利要求3或4所述的识别方法,其特征在于,所述判断同一IP的网络数据是否具有不同操作系统的特征,包括:建立不同操作系统的特征库,获取同一IP的网络数据,与所述特征库进行匹配,若至少与两种操作系统的特征匹配成功,则该IP对应NAT设备;所述不同操作系统的特征,包括流量特征与http option特征。
6.确定NAT后终端数的方法,执行如权利要求1所述的方法识别出NAT设备后,统计该NAT设备后的终端数量,其特征在于,包括:
识别出NAT设备后,建立NAT设备IP与所述终端IP的关联表;
继续获取来自该NAT设备的周期信息,根据周期信息中的终端标识确定其终端IP,判断该终端IP是否存在于所述关联表,若存在则结束,若不存在则将该终端IP加入所述关联表;
统计所述关联表中的终端IP数量,则得到NAT设备后的终端数量。
7.确定NAT后终端数的方法,执行如权利要求1所述的方法识别出NAT设备后,统计该NAT设备后的终端数量,其特征在于,终端通过客户端被服务器端认证后,接入网络时访问预设的特定网站;统计来自同一NAT设备的数据包中的访问所述固定网站的CookieID,则得到该NAT设备后的终端数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010433061.2A CN111917706A (zh) | 2020-05-21 | 2020-05-21 | 一种识别nat设备及确定nat后终端数的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010433061.2A CN111917706A (zh) | 2020-05-21 | 2020-05-21 | 一种识别nat设备及确定nat后终端数的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111917706A true CN111917706A (zh) | 2020-11-10 |
Family
ID=73237988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010433061.2A Pending CN111917706A (zh) | 2020-05-21 | 2020-05-21 | 一种识别nat设备及确定nat后终端数的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111917706A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112887264A (zh) * | 2020-12-30 | 2021-06-01 | 浙江远望信息股份有限公司 | 一种针对nat接入设备的违规外联检测方法 |
CN112887265A (zh) * | 2020-12-31 | 2021-06-01 | 浙江远望信息股份有限公司 | 一种针对nat下防止未注册终端伪造为合法通信的准入方法 |
CN114928586A (zh) * | 2022-02-09 | 2022-08-19 | 浙江远望信息股份有限公司 | 一种基于主动扫描的nat设备发现方法 |
-
2020
- 2020-05-21 CN CN202010433061.2A patent/CN111917706A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112887264A (zh) * | 2020-12-30 | 2021-06-01 | 浙江远望信息股份有限公司 | 一种针对nat接入设备的违规外联检测方法 |
CN112887264B (zh) * | 2020-12-30 | 2024-02-02 | 浙江远望信息股份有限公司 | 一种针对nat接入设备的违规外联检测方法 |
CN112887265A (zh) * | 2020-12-31 | 2021-06-01 | 浙江远望信息股份有限公司 | 一种针对nat下防止未注册终端伪造为合法通信的准入方法 |
CN112887265B (zh) * | 2020-12-31 | 2024-03-26 | 浙江远望信息股份有限公司 | 一种针对nat下防止未注册终端伪造为合法通信的准入方法 |
CN114928586A (zh) * | 2022-02-09 | 2022-08-19 | 浙江远望信息股份有限公司 | 一种基于主动扫描的nat设备发现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103067385B (zh) | 防御会话劫持攻击的方法和防火墙 | |
Han et al. | A timing-based scheme for rogue AP detection | |
KR101095447B1 (ko) | 분산 서비스 거부 공격 차단 장치 및 방법 | |
CN102204170B (zh) | 用于网络入侵检测的方法和设备 | |
US7370354B2 (en) | Method of remotely managing a firewall | |
US20070124806A1 (en) | Techniques for tracking actual users in web application security systems | |
CN111586025B (zh) | 一种基于sdn的sdp安全组实现方法及安全系统 | |
CN111917706A (zh) | 一种识别nat设备及确定nat后终端数的方法 | |
US10735501B2 (en) | System and method for limiting access request | |
CN100463413C (zh) | 客户机间通信记录的一致性保证管理系统 | |
KR20140093060A (ko) | 지연시간 기반 역 접속 탐지 시스템 및 그 탐지 방법 | |
JP6435695B2 (ja) | コントローラ,及びその攻撃者検知方法 | |
CN112910854B (zh) | 物联网安全运维的方法、装置、终端设备和存储介质 | |
US20080141369A1 (en) | Method, Device and Program for Detecting Address Spoofing in a Wireless Network | |
CN105554009A (zh) | 一种通过网络数据获取设备操作系统信息的方法 | |
EP4105799A1 (en) | Method and system for preventing malicious automated attacks | |
KR20150090925A (ko) | 왕복 시간 변화를 이용하여 익명 네트워크를 통한 우회 접속을 탐지하는 방법 | |
US20220174072A1 (en) | Data Processing Method and Device | |
CN111882704A (zh) | 一种智能门锁系统的控制方法以及智能门锁管理系统 | |
CN106790073B (zh) | 一种Web服务器恶意攻击的阻断方法、装置及防火墙 | |
CN112311722B (zh) | 一种访问控制方法、装置、设备及计算机可读存储介质 | |
CN101888296B (zh) | 一种影子用户检测方法、装置、设备和系统 | |
US20090213752A1 (en) | Detecting Double Attachment Between a Wired Network and At Least One Wireless Network | |
CN108833410B (zh) | 一种针对HTTP Flood攻击的防护方法及系统 | |
CN113938312B (zh) | 一种暴力破解流量的检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20201110 |