CN116915653B - 一种基于网络地址转换的设备数量检测方法及系统 - Google Patents

一种基于网络地址转换的设备数量检测方法及系统 Download PDF

Info

Publication number
CN116915653B
CN116915653B CN202311161522.5A CN202311161522A CN116915653B CN 116915653 B CN116915653 B CN 116915653B CN 202311161522 A CN202311161522 A CN 202311161522A CN 116915653 B CN116915653 B CN 116915653B
Authority
CN
China
Prior art keywords
message
router
operating system
type
analyzing
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.)
Active
Application number
CN202311161522.5A
Other languages
English (en)
Other versions
CN116915653A (zh
Inventor
董亮
杨文山
徐晓明
朱立通
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Geer Guoxin Technology Co ltd
Original Assignee
Beijing Geer Guoxin Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Geer Guoxin Technology Co ltd filed Critical Beijing Geer Guoxin Technology Co ltd
Priority to CN202311161522.5A priority Critical patent/CN116915653B/zh
Publication of CN116915653A publication Critical patent/CN116915653A/zh
Application granted granted Critical
Publication of CN116915653B publication Critical patent/CN116915653B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种基于网络地址转换的设备数量检测方法及系统,属于通信技术领域,基于网络地址转换的设备数量检测方法包括获取路由器与外部服务器之间的通信报文,并分析通信报文得到路由器所连接设备的操作系统类型;所述路由器将设备的私有地址转换为公共地址;获取路由器与外部服务器之间的传输协议报文;基于操作系统类型对传输协议报文进行解析,统计预设窗口时长内每个操作系统类型所包含的长连接数;根据多个预设窗口时长内每个操作系统类型所包含的长连接数,估算路由器所连接设备的数量。本申请具有便于对网络地址转换后的设备数量进行检测的效果。

Description

一种基于网络地址转换的设备数量检测方法及系统
技术领域
本发明涉及通信技术领域,尤其是涉及一种基于网络地址转换的设备数量检测方法及系统。
背景技术
网络地址转换,即NAT(Network Address Translation),是一种地址转换技术,是指设备在局域网内部使用私有地址(通常IP地址是192开头的设备),在与外部服务器进行通讯时,通过路由器将私有地址替换成公用地址,从而实现设备在外部服务器上正常使用。通过地址转换的方式将局域网内的多个设备的私有地址映射到一个公共地址,从而可以使多台设备共享网络连接,解决了公用地址紧缺的问题。
然而,采用网络地址转换技术虽然解决了地址紧缺的问题,但是由于在地址转换时改变了原有的私有地址,难以通过私有地址找到对应的设备,从而无法通过统计私有地址的方式确定连接外网的设备数量,不利于网络监管与统计。
发明内容
为了便于对网络地址转换后的设备数量进行检测,本申请提供了一种基于网络地址转换的设备数量检测方法及系统。
第一方面,本申请提供的一种基于网络地址转换的设备数量检测方法,采用如下的技术方案:
一种基于网络地址转换的设备数量检测方法,包括:
获取路由器与外部服务器之间的通信报文,并分析通信报文得到路由器所连接设备的操作系统类型;所述路由器将设备的私有地址转换为公共地址;
获取路由器与外部服务器之间的传输协议报文;
基于操作系统类型对传输协议报文进行解析,统计预设窗口时长内每个操作系统类型所包含的长连接数;
根据多个预设窗口时长内每个操作系统类型所包含的长连接数,估算路由器所连接设备的数量。
通过采用上述技术方案,先分析通信报文得到网络所连接设备的操作系统类型,再获取传输协议报文,由于不同的操作系统类型的发送的传输协议报文都有所不同,基于操作系统类型对传输报文进行解析便于更尽可能多的正确解析并统计出预设窗口时长内每个操作系统类型所包含的长连接数,根据长连接数即能够估算出路由器所连接设备的数量,从而便于对网络地址转换后的设备数量进行检测的效果。
可选的,若通信报文是banner信息,所述获取路由器与外部服务器之间的通信报文,并分析通信报文得到路由器所连接设备的操作系统类型,具体包括:
发送第一报文请求;
基于第一报文请求,接收来自外部服务器的banner信息,并对banner信息进行拓展,得到banner拓展信息;
从banner拓展信息中抓取外部服务器软件版本,并根据外部服务器软件版本确定设备的操作系统类型。
通过采用上述技术方案,利用第一报文请求获取来自外部服务器的banner信息,再对banner信息进行拓展,从拓展后的banner拓展信息即能够抓取到外部服务器软件版本,由于不同操作系统类型所需的软件版本不一致,所以通过软件版本即能够得知设备的操作系统类型。
可选的,若通信报文是HTTP报文,所述获取路由器与外部服务器之间的通信报文,并分析通信报文得到路由器所连接设备的操作系统类型,具体包括:
发送第二报文请求;
基于第二报文请求,接收来自外部服务器的Http报文,并从Http报文中抓取标识字段,所述标识字段包括路由器所连接设备的操作系统类型。
通过采用上述技术方案,利用第二报文请求获取来自外部服务器的Http报文,Http报文中包含操作系统类型的标识字段,通过抓取标识字段即能够获取到路由器所连接的操作系统类型。
可选的,若通信报文是传输控制报文,所述获取路由器与外部服务器之间的通信报文,并分析通信报文得到路由器所连接设备的操作系统类型,具体包括:
发送第三报文请求;
基于第三报文请求,接收来自外部服务器的传输控制报文;
对传输控制报文进行分析,得到最大网段数量以及窗口数值;
根据最大网段数量和窗口数值,得到路由器所连接设备的操作系统类型。
通过采用上述技术方案,利用第三报文请求接收来自外部服务器的传输控制报文,传输控制报文主要用于控制消息传递,所以对传输控制报文进行分析能够得到用于指示是否允许消息传递的最大网段数量以及用于指示接收缓冲区大小的窗口数值,由于不同操作系统类型的最大网段数量以及窗口数值都所有不同,所以通过获取最大网段数量和窗口数值,即能够得到路由器所连接设备的操作系统类型。
可选的,所述基于操作系统类型对传输协议报文进行解析,统计预设窗口时长内每个操作系统类型所包含的长连接数,具体包括:
根据操作系统类型对传输协议报文进行解析,得到连接建立信息以及连接终止信息;
根据连接建立信息以及连接终止信息,统计每个操作系统类型在预设窗口时长内的长连接数,以得到每个操作系统类型所包含的长连接数。
通过采用上述技术方案,由于已知路由器所连接设备的操作系统类型,根据操作系统类型便于更加准确全面的对不同操作系统类型的传输协议报文进行解析,得到连接建立信息以及连接终止信息,通过得到连接建立信息以及连接终止信息即能够统计出每个操作系统类型在预设窗口时长内的长连接数,从而实现了对每个操作类型所包含的长连接数进行统计。
可选的,所述根据多个预设窗口时长内每个操作系统类型所包含的长连接数,估算路由器所连接设备的数量,具体包括:
对多个预设单位时间内建立的长连接数取平均值,得到平均长连接数;
将平均长连接数作为路由器所连接设备的数量。
通过采用上述技术方案,利用取平均值的方式,使得估算出的设备数量更加接近设备的真实值。
可选的,还包括对预设窗口时长的调整步骤,所述调整步骤包括:
根据路由器所连接设备的数量,对预设窗口时长进行调整。
通过采用上述技术方案,利用路由器所连接设备的数量对预设窗口时长进行调整,便于提高下一次利用调整后的预设窗口时长估算的设备数量的准确性。
第二方面,本申请提供一种基于网络地址转换的设备数量检测系统,采用如下技术方案:
一种基于网络地址转换的设备数量检测系统,包括:
操作系统获取单元,用于获取路由器与外部服务器之间的通信报文,并分析通信报文得到路由器所连接设备的操作系统类型;所述路由器将设备的私有地址转换为公共地址;
报文获取单元,用于获取路由器与外部服务器之间的传输协议报文;
长连接数生成单元,用于基于操作系统类型对传输协议报文进行解析,统计预设窗口时长内每个操作系统类型所包含的长连接数;
设备数量生成单元,用于根据多个预设窗口时长内每个操作系统类型所包含的长连接数,估算路由器所连接设备的数量。
第三方面,本申请提供一种计算机设备,采用如下技术方案:
一种计算机设备,包括存储器、处理器以及储存在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行如上述任一种方法的计算机程序。
第四方面,本申请提供一种计算机可读存储介质,采用如下技术方案:
一种计算机可读存储介质,包括存储有能够被处理器加载并执行如上述任一方法中的计算机程序。
附图说明
图1是本申请其中一实施例设备数量检测的方法流程图。
图2是本申请其中一实施例确定设备操作系统类型的方法流程图。
图3是本申请另一实施例确定设备操作系统类型的方法流程图。
图4是本申请其中一实施例设备数量检测系统的框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
首先,在对本申请提供的相关实施例进行示例性介绍之前,对本申请涉及的相关术语进行解释说明。
NAT(Network Address Translation,网络地址转换),用于私有地址的设设备通过路由器发送数据包时,私有地址被转换成合法的IP地址,一个局域网只需使用少量IP地址即可实现私有地址网络内所有计算机与外部网络通信需求。
banner报文是指在网络通信中,服务器在建立连接时发送给客户端的一段信息。它通常包含服务器的软件版本、操作系统信息等。banner报文可以用于识别服务器的类型和版本,有助于进行系统漏洞扫描和攻击。
IIS(Internet Information Services)是微软公司开发的一款用于托管和提供Web服务的服务器软件。它支持HTTP、HTTPS、FTP、SMTP等协议,并提供了丰富的功能和工具,如网站托管、虚拟目录、安全性配置等。
ISAPI扩展(Internet Server Application Programming Interface)是一种用于扩展Internet信息服务(IIS)功能的技术。它允许开发人员使用C++或其他编程语言编写扩展程序,以实现对IIS的控制和自定义功能的添加。
User-Agent信息是HTTP协议中的一个头部字段,用于标识发起请求的客户端应用程序或浏览器的相关信息。它包含了客户端的名称、版本号、操作系统等信息,服务器可以根据User-Agent信息来进行内容适配和统计分析。
ICMP报文(Internet Control Message Protocol)是一种用于在IP网络中传递控制和错误信息的协议。它通常用于网络诊断和故障排除,包括ping命令和traceroute命令等。ICMP报文可以用于发送错误报告、请求回应和网络探测等功能。
TTL字段(Time to Live)是IP报文头部中的一个字段,用于限制报文在网络中的传输跳数。每当一个路由器转发一个IP报文,它会将TTL字段减1。当TTL字段减为0时,路由器会丢弃该报文并发送一个ICMP错误报文给源主机。TTL字段的作用是防止报文在网络中无限循环,同时也可以用于测量网络的延迟和路径跟踪。
TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输层协议。它提供了可靠的数据传输、流量控制、拥塞控制等功能。TCP通过建立连接、传输数据和释放连接的三次握手和四次挥手过程,确保数据的可靠传输。TCP被广泛应用于Web浏览、电子邮件、文件传输等应用。
基于前述背景技术所提及的技术问题,由于在网络地址转换后无法通过统计私有地址的方式确定连接外网的设备数量,所以对于网络地址转换后设备检测通常采用的方法有IPID序列法、timestamp检测法以及cookie检测法。IP ID序列法利用某些操作系统IP报文中ID字段与所发IP报文数目同步递增的特点,通过检测网关出口流量中连续的ID序列段数目来估计主机数目,但由于不同操作系统对于报文处理方式不同,ID字段并不一定是按递增处理,且还会受丢包、延时、序列段交叉的影响,所以无法有效估计网络地址转换后的主机数目。timestamp检测法利用不同主机发出的TCP报文中timestamp字段与接收时间表现出不同的线性关系这一特点,通过计算不同的线性关系数目来估计主机数目,由于timestamp为TCP报文的选项字段,许多操作系统并不使用,所以该方法在某些情况下就无法进行使用。cookie检测法通过提取所捕获http报文的cookie字段,统计同一网站下不同cookie的数量来估计主机数目,然而cookie字段本来就是一个比较敏感的配置,不仅涉嫌侵犯用户隐私,同时由于https的广泛采用,cookie检测法也不能广泛适用。
基于此,本申请实施例公开一种基于网络地址转换的设备数量检测方法。参照图1,一种基于网络地址转换的设备数量检测方法,包括:
步骤S101:获取路由器与外部服务器之间的通信报文,并分析通信报文得到路由器所连接设备的操作系统类型。
其中,路由器用于将设备的私有地址转换为公共地址,以实现私有地址的转换。
其中,通信报文可以是banner报文、HTTP报文以及传输控制报文。
步骤S102:获取路由器与外部服务器之间的传输协议报文。
其中,传输协议报文是路由器与外部服务器建立连接的报文,例如,传输协议报文可以是TCP报文。
步骤S103:基于操作系统类型对传输协议报文进行解析,统计预设窗口时长内每个操作系统类型所包含的长连接数。
应当理解,不同的操作系统发送的传输协议报文格式或者内容都会有细微的差别,区分操作系统能更好的对不同的传输协议报文进行处理。
步骤S104:根据多个预设窗口时长内每个操作系统类型所包含的长连接数,估算路由器所连接设备的数量。
上述实施方式中,先分析通信报文得到网络所连接设备的操作系统类型,再获取传输协议报文,由于不同的操作系统类型的发送的传输协议报文都有所不同,基于操作系统类型对传输报文进行解析便于更尽可能多的正确解析并统计出预设窗口时长内每个操作系统类型所包含的长连接数,根据长连接数即能够估算出路由器所连接设备的数量,从而便于对网络地址转换后的设备数量进行检测的效果。
作为步骤S101的一种实施方式,若通信报文是banner信息,步骤S101具体包括:
步骤S201:发送第一报文请求。
步骤S202:基于第一报文请求,接收来自外部服务器的banner信息,并对banner信息进行拓展,得到banner拓展信息。
其中,对banner信息拓展可以通过ISAPI扩展,具体地,在IIS中使用ISAPI扩展后得到的banner拓展信息包含有便于识别操作系统类型的字段。
步骤S203:从banner拓展信息中抓取外部服务器软件版本,并根据外部服务器软件版本确定设备的操作系统类型。
其中,外部服务器软件版本可以是IIS版本,IIS版本和操作系统类型之间通常存在对应关系,例如,当IIS版本为IIS 5.0时,对应的操作系统类型为Windows 2000;当IIS版本为IIS 5.1时,对应的操作系统类型为Windows XP;当IIS版本为IIS 6.0时,对应的操作系统类型为Windows 2003;当IIS版本为IIS 5.0时,对应的操作系统类型为Windows 2000;当IIS版本为IIS 7.0时,对应的操作系统类型为Windows 2008, Windows Vista;当IIS版本为IIS 7.5时,对应的操作系统类型为Windows 2008 R2, Windows 7。
上述实施方式中,利用第一报文请求获取来自外部服务器的banner信息,再对banner信息进行拓展,从拓展后的banner拓展信息即能够抓取到外部服务器软件版本,由于不同操作系统类型所需的软件版本不一致,所以通过软件版本即能够得知设备的操作系统类型。
作为步骤S101的一种实施方式,若通信报文是HTTP报文,步骤S101具体包括:
步骤S301:发送第二报文请求;
步骤S302:基于第二报文请求,接收来自外部服务器的Http报文,并从Http报文中抓取标识字段。
其中,标识字段包括路由器所连接设备的操作系统类型,标识字段可以是User-Agent信息。
上述实施方式中,利用第二报文请求获取来自外部服务器的Http报文,Http报文中包含操作系统类型的标识字段,通过抓取标识字段即能够获取到路由器所连接的操作系统类型。
作为步骤S101的一种实施方式,若通信报文是传输控制报文,步骤S101具体包括:
步骤S401:发送第三报文请求;
步骤S402:基于第三报文请求,接收来自外部服务器的传输控制报文。
其中,传输控制报文可以是ICMP报文和TCP报文,ICMP报文可以是ICMP请求报文,也可以是ICMP应答报文。
步骤S403:对传输控制报文进行分析,得到最大网段数量以及窗口数值。
其中,最大网段数量是允许数据经过的最大路由器数,即数据在网络中的传输跳数。窗口数值用于指示缓冲的接收数据 (字节) 量,窗口数值可以是TCP窗口的大小数值。
具体地,对ICMP报文进行分析以得到最大网段数量,具体地,可以通过抓取ICMP报文中的TTL字段得到最大网段数量。对TCP报文进行分析以得到窗口数值。
步骤S404:根据最大网段数量和窗口数值,得到路由器所连接设备的操作系统类型。
应当理解,仅从最大网点数量或仅从窗口数值无法得知准确的操作系统类型,只有结合最大网点数量和窗口数值才能够得到操作系统类型。
例如,当最大网点数量为64、窗口数值为5840时,操作系统类型为Linux (Kernel2.4 and 2.6);最大网点数量为64、窗口数值为5720时,操作系统类型为Google Linux;最大网点数量为64、窗口数值为65535,操作系统类型为FreeBSD;最大网点数量为128、窗口数值为65535时,操作系统类型为Windows XP;最大网点数量为128、窗口数值为8192时,操作系统类型为Windows Vista and 7 (Server 2008);最大网点数量为255、窗口数值为4128时,操作系统类型为Windows Vista and 7 (Server 2008)。
上述实施方式中,利用第三报文请求接收来自外部服务器的传输控制报文,传输控制报文主要用于控制消息传递,所以对传输控制报文进行分析能够得到用于指示是否允许消息传递的最大网段数量以及用于指示接收缓冲区大小的窗口数值,由于不同操作系统类型的最大网段数量以及窗口数值都所有不同,所以通过获取最大网段数量和窗口数值,即能够得到路由器所连接设备的操作系统类型。
作为步骤S103的一种实施方式,步骤S103具体包括:
根据操作系统类型对传输协议报文进行解析,得到连接建立信息以及连接终止信息。根据连接建立信息以及连接终止信息,统计每个操作系统类型在预设窗口时长内的长连接数,以得到每个操作系统类型所包含的长连接数。
其中,传输协议报文可以是TCP报文。连接建立信息以及连接终止信息可以通过提取TCP报文得到,连接建立信息可以包括SYN标志位、SYN-ACK标志位和ACK标志位,连接终止信息可以包括FIN标志位和ACK标志位。
具体地,通过分析连接建立信息以及连接终止信息分析设备与外部服务器连接建立和关闭过程。作为一种可能的实现方式,在连接建立时有三次握手的过程,可以通过分析TCP报文中的SYN、SYN-ACK和ACK标志位来判断连接的建立。在连接关闭时有四次挥手的过程,可以通过分析TCP报文中的FIN和ACK标志位来判断连接的关闭。通过统计这些连接建立和关闭的过程,可以得到当前活动的长连接数。
更详细地,SYN(Synchronize),用于建立TCP连接。当路由器向服务器发送连接请求时,会将SYN标志位置为1,并附带一个初始序列号,表示路由器请求与服务器建立连接。SYN-ACK(Synchronize-Acknowledgment),用于确认建立TCP连接。当服务器收到路由器的连接请求后,会将SYN和ACK标志位置为1,并附带一个确认序列号和一个初始序列号,表示服务器同意与路由器建立连接,并发送确认序列号。ACK(Acknowledgment),用于确认数据的接收。在TCP连接建立后,通信双方会使用ACK标志位来确认已接收到的数据。当一方收到数据后,会将ACK标志位置为1,并附带一个确认序列号,表示已成功接收到指定序列号之前的所有数据。FIN(Finish),用于终止TCP连接。当一方希望关闭连接时,会将FIN标志位置为1,表示不再发送数据。另一方收到FIN后,会发送ACK确认,并进入半关闭状态。
需要说明的是,从TCP报文中解析出连接建立信息以及连接终止信息,涉及到TCP报文的字节序和状态机等内容,而字节序以及状态机通常会根据不同的操作系统类型有所不同,所以根据操作系统了类型对TCP报文进行解析使得获取到的连接建立信息以及连接终止信息更加准确全面。其中,字节序是TCP报文头部中的一些字段,如端口号、序列号和确认号等,需要根据不同操作系统类型的字节序(大端序或小端序)进行解析和转换。状态机是TCP连接的变化过程,在解析TCP报文时,需要根据操作系统类型的状态机规则来确定报文的状态和下一步的处理操作。
还需要说明的是,在步骤S403中,需要对TCP报文进行分析以得到窗口数值,由于获取窗口数值并不涉及TCP报文字节序或状态机的相关内容,所以即使在操作系统类型未知时,仍然能够准确解析出TCP报文中的窗口数值。
上述实施方式中,由于已知路由器所连接设备的操作系统类型,根据操作系统类型便于更加准确全面的对不同操作系统类型的传输协议报文进行解析,得到连接建立信息以及连接终止信息,通过得到连接建立信息以及连接终止信息即能够统计出每个操作系统类型在预设窗口时长内的长连接数,从而实现了对每个操作类型所包含的长连接数进行统计。
作为步骤S104的一种实施方式,步骤S104具体包括:
对多个预设单位时间内建立的长连接数取平均值,得到平均长连接数;将平均长连接数作为路由器所连接设备的数量。
上述实施方式中,利用取平均值的方式,使得估算出的设备数量更加接近设备的真实值。
作为设备数量检测方法的进一步实施方式,设备数量检测方法还包括对预设窗口时长的调整步骤,调整步骤包括:
根据路由器所连接设备的数量,对预设窗口时长进行调整。
上述实施方式中,利用路由器所连接设备的数量对预设窗口时长进行调整,便于提高下一次利用调整后的预设窗口时长估算的设备数量的准确性。
本申请实施例公开一种基于网络地址转换的设备数量检测系统。参照图1,一种基于网络地址转换的设备数量检测系统,包括:
操作系统获取单元,用于获取路由器与外部服务器之间的通信报文,并分析通信报文得到路由器所连接设备的操作系统类型;所述路由器将设备的私有地址转换为公共地址;
报文获取单元,用于获取路由器与外部服务器之间的传输协议报文;
长连接数生成单元,用于基于操作系统类型对传输协议报文进行解析,统计预设窗口时长内每个操作系统类型所包含的长连接数;
设备数量生成单元,用于根据多个预设窗口时长内每个操作系统类型所包含的长连接数,估算路由器所连接设备的数量。
本申请提供的一种基于网络地址转换的设备数量检测系统能够实现上述一种基于网络地址转换的设备数量检测方法,且一种基于网络地址转换的设备数量检测系统的具体工作过程可参考上述方法实施例中的对应过程。
需要说明的是,在上述实施例中,对各个实施例的描述各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
基于同一技术构思,本发明还公开一种计算机设备,包括存储器、处理器以及储存在所述存储器上并可在处理器上运行的计算机程序,处理器执行如上述任一种方法的计算机程序。
本发明还公开一种计算机可读储存介质,一种计算机可读存储介质,包括存储有能够被处理器加载并执行如上述任一方法中的计算机程序。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上均为本申请的较佳实施例,并非依此限制本申请的保护范围,本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

Claims (7)

1.一种基于网络地址转换的设备数量检测方法,其特征在于,包括:
获取路由器与外部服务器之间的通信报文,并分析通信报文得到路由器所连接设备的操作系统类型;所述路由器将设备的私有地址转换为公共地址;
获取路由器与外部服务器之间的传输协议报文;
基于操作系统类型对传输协议报文进行解析,统计预设窗口时长内每个操作系统类型所包含的长连接数;所述基于操作系统类型对传输协议报文进行解析,统计预设窗口时长内每个操作系统类型所包含的长连接数,具体包括:根据操作系统类型对传输协议报文进行解析,得到连接建立信息以及连接终止信息;根据连接建立信息以及连接终止信息,统计每个操作系统类型在预设窗口时长内的长连接数,以得到每个操作系统类型所包含的长连接数;通过统计连接建立和关闭的过程,得到当前活动的长连接数;
其中,传输协议报文是TCP报文;连接建立信息以及连接终止信息通过提取TCP报文得到,连接建立信息包括SYN标志位、SYN-ACK标志位和ACK标志位,连接终止信息包括FIN标志位和ACK标志位;
其中,从TCP报文中解析出连接建立信息以及连接终止信息,涉及到TCP报文的字节序和状态机内容,字节序以及状态机会根据不同的操作系统类型有所不同,根据操作系统类型对TCP报文进行解析使得获取到的连接建立信息以及连接终止信息更加准确全面;其中,字节序是TCP报文头部中的一些字段,根据不同操作系统类型的字节序对TCP报文进行解析和转换;状态机是TCP连接的变化过程,在解析TCP报文时,根据操作系统类型的状态机规则来确定报文的状态和下一步的处理操作;
根据多个预设窗口时长内每个操作系统类型所包含的长连接数,估算路由器所连接设备的数量;所述根据多个预设窗口时长内每个操作系统类型所包含的长连接数,估算路由器所连接设备的数量,具体包括:对多个预设窗口时长内建立的长连接数取平均值,得到平均长连接数;将平均长连接数作为路由器所连接设备的数量;
还包括对预设窗口时长的调整步骤,所述调整步骤包括:根据路由器所连接设备的数量,对预设窗口时长进行调整。
2.根据权利要求1所述的方法,其特征在于,若通信报文是banner信息,所述获取路由器与外部服务器之间的通信报文,并分析通信报文得到路由器所连接设备的操作系统类型,具体包括:
发送第一报文请求;
基于第一报文请求,接收来自外部服务器的banner信息,并对banner信息进行拓展,得到banner拓展信息;
从banner拓展信息中抓取外部服务器软件版本,并根据外部服务器软件版本确定设备的操作系统类型。
3.根据权利要求1所述的方法,其特征在于,若通信报文是HTTP报文,所述获取路由器与外部服务器之间的通信报文,并分析通信报文得到路由器所连接设备的操作系统类型,具体包括:
发送第二报文请求;
基于第二报文请求,接收来自外部服务器的HTTP报文,并从HTTP报文中抓取标识字段,所述标识字段包括路由器所连接设备的操作系统类型。
4.根据权利要求1所述的方法,其特征在于,若通信报文是传输控制报文,所述获取路由器与外部服务器之间的通信报文,并分析通信报文得到路由器所连接设备的操作系统类型,具体包括:
发送第三报文请求;
基于第三报文请求,接收来自外部服务器的传输控制报文;
对传输控制报文进行分析,得到最大网段数量以及窗口数值;
根据最大网段数量和窗口数值,得到路由器所连接设备的操作系统类型。
5.一种基于网络地址转换的设备数量检测系统,基于上述权利要求1-4任一所述的方法,其特征在于,包括:
操作系统获取单元,用于获取路由器与外部服务器之间的通信报文,并分析通信报文得到路由器所连接设备的操作系统类型;所述路由器将设备的私有地址转换为公共地址;
报文获取单元,用于获取路由器与外部服务器之间的传输协议报文;
长连接数生成单元,用于基于操作系统类型对传输协议报文进行解析,统计预设窗口时长内每个操作系统类型所包含的长连接数;
设备数量生成单元,用于根据多个预设窗口时长内每个操作系统类型所包含的长连接数,估算路由器所连接设备的数量;
窗口时长调节模块,用于根据路由器所连接设备的数量,对预设窗口时长进行调整。
6.一种计算机设备,其特征在于:包括存储器、处理器以及储存在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行如权利要求1-4中任一所述的一种基于网络地址转换的设备数量检测方法的计算机程序。
7.一种计算机可读存储介质,其特征在于,包括存储有能够被处理器加载并执行如权利要求1-4中任一所述的一种基于网络地址转换的设备数量检测方法中的计算机程序。
CN202311161522.5A 2023-09-11 2023-09-11 一种基于网络地址转换的设备数量检测方法及系统 Active CN116915653B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311161522.5A CN116915653B (zh) 2023-09-11 2023-09-11 一种基于网络地址转换的设备数量检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311161522.5A CN116915653B (zh) 2023-09-11 2023-09-11 一种基于网络地址转换的设备数量检测方法及系统

Publications (2)

Publication Number Publication Date
CN116915653A CN116915653A (zh) 2023-10-20
CN116915653B true CN116915653B (zh) 2024-02-02

Family

ID=88360563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311161522.5A Active CN116915653B (zh) 2023-09-11 2023-09-11 一种基于网络地址转换的设备数量检测方法及系统

Country Status (1)

Country Link
CN (1) CN116915653B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106020413A (zh) * 2016-05-03 2016-10-12 深圳市金立通信设备有限公司 一种降低终端功耗的方法及终端
US10200259B1 (en) * 2016-09-21 2019-02-05 Symantec Corporation Systems and methods for detecting obscure cyclic application-layer message sequences in transport-layer message sequences
CN110049147A (zh) * 2019-03-28 2019-07-23 中国科学院计算技术研究所 一种nat后主机数量检测方法
CN111565203A (zh) * 2020-07-16 2020-08-21 腾讯科技(深圳)有限公司 业务请求的防护方法、装置、系统和计算机设备
CN113507471A (zh) * 2021-07-12 2021-10-15 深圳市共进电子股份有限公司 获取终端系统类型的方法、装置、路由器及存储介质
CN114172980A (zh) * 2021-12-08 2022-03-11 北京天融信网络安全技术有限公司 一种识别操作系统类型的方法、系统、装置、设备及介质
CN114338068A (zh) * 2021-05-31 2022-04-12 深圳市亿威尔信息技术股份有限公司 多节点漏洞扫描方法、装置、电子设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106020413A (zh) * 2016-05-03 2016-10-12 深圳市金立通信设备有限公司 一种降低终端功耗的方法及终端
US10200259B1 (en) * 2016-09-21 2019-02-05 Symantec Corporation Systems and methods for detecting obscure cyclic application-layer message sequences in transport-layer message sequences
CN110049147A (zh) * 2019-03-28 2019-07-23 中国科学院计算技术研究所 一种nat后主机数量检测方法
CN111565203A (zh) * 2020-07-16 2020-08-21 腾讯科技(深圳)有限公司 业务请求的防护方法、装置、系统和计算机设备
CN114338068A (zh) * 2021-05-31 2022-04-12 深圳市亿威尔信息技术股份有限公司 多节点漏洞扫描方法、装置、电子设备及存储介质
CN113507471A (zh) * 2021-07-12 2021-10-15 深圳市共进电子股份有限公司 获取终端系统类型的方法、装置、路由器及存储介质
CN114172980A (zh) * 2021-12-08 2022-03-11 北京天融信网络安全技术有限公司 一种识别操作系统类型的方法、系统、装置、设备及介质

Also Published As

Publication number Publication date
CN116915653A (zh) 2023-10-20

Similar Documents

Publication Publication Date Title
EP3535932B1 (en) Application characterization using transport protocol analysis
Jiang et al. Passive estimation of TCP round-trip times
US7779133B2 (en) Estimation of web client response time
EP1698087B1 (en) Transparent optimization for tcp flow control
US10355961B2 (en) Network traffic capture analysis
US20020078164A1 (en) System and method for data transfer acceleration in a TCP network environment
US7881214B2 (en) Method for performing remote testing of network using IP measurement protocol packets
JP2014531866A (ja) テストトラフィックインターセプタ
US7827257B2 (en) System and method for automatic and adaptive use of active network performance measurement techniques to find the fastest source
US7894355B2 (en) Method for enabling non-predetermined testing of network using IP measurement protocol packets
KR20110057529A (ko) 더미요청 태그를 이용한 서버의 응답시간 측정 시스템 및 그 방법
CN116915653B (zh) 一种基于网络地址转换的设备数量检测方法及系统
US20040090921A1 (en) Method and apparatus for testing an IP network
US7336618B2 (en) Method for monitoring performance of network using IP measurement protocol packets
US20040098479A1 (en) Method for using different packet type and port options values in an IP measurement protocol packet from those used to process the packet
Mondal et al. Viscous: An end to end protocol for ubiquitous communication over internet of everything
KR102489541B1 (ko) 전송 제어 프로토콜에 대한 트립 시간 추정
US7336619B2 (en) Method for converting an IP measurement protocol packet to a data packet
EP3100413B1 (en) Reliable network probing session
Vernersson Analysis of UDP-based reliable transport using network emulation
JP2013243534A (ja) 遅延時間評価装置および遅延時間評価方法
JP2004140596A (ja) Tcp上のデータ転送における品質を推定する方法およびシステム
Kato et al. Intelligent protocol analyzer with TCP behavior emulation for interoperability testing of TCP/IP protocols
Debala Chanu et al. TCP Connection Monitoring System
WO2023088634A1 (en) Method and apparatus for determining a round-trip delay in a communication network

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
GR01 Patent grant
GR01 Patent grant