一种基于局域网的ntp服务器检测方法

文档序号:8945632阅读:1058来源:国知局
一种基于局域网的ntp服务器检测方法
【技术领域】
[0001]本发明涉及局域网中NTP服务器的IP地址获取领域,尤其是一种基于局域网的NTP服务器检测方法。
【背景技术】
[0002]目前没有明确的基于局域网的NTP服务器感知方法的相关研究,现有感知NTP服务器的可用方法是端口扫描,即:针对局域网内的所有目标主机,逐个对一段端口或指定的端口进行扫描,通过扫描结果获取某台计算机上提供的应用服务类型,从而感知局域网内的NTP服务器。端口扫描的原理是检测主机向目标主机的某一个端口提出建立连接的请求,发出请求包,如果目标主机提供此项服务,就会回复应答包;如果目标主机不提供此项服务,在接收到检测主机发送的应答包后,将其丢弃不回复应答包。因此,通过查看目标主机的应答包可感知其提供的应用服务信息。利用这个原理,如果想感知局域网内的NTP服务器,必须知道NTP服务对应的端口号,对局域网内的所有目标主机进行端口扫描,如果局域网内有其他主机的应用服务占用了 NTP服务对应的端口号,检测主机则无法准确感知局域网内提供NTP服务的主机的信息。

【发明内容】

[0003]本发明所要解决的技术问题是:通过分析研究现有的利用端口扫描感知局域网内NTP服务器的方法,针对它存在的准确度和精确性不够好的问题,提出一种基于局域网的NTP服务器检测方法,可以准确地获取NTP服务器IP地址信息。
[0004]本发明采用的技术方案如下:
一种基于局域网的NTP服务器检测方法包括:
步骤1:检测模块依照TCP/IP协议簇,构造NTP请求包;
步骤2:检测模块通过广播方式发送构造后的NTP请求包给所有主机,所有主机通过数据采集模块返回数据给检测模块;
步骤3:过滤模块过滤采集模块返回的数据后,发送给协议分析模块进行分析,从而检测局域网内的NTP服务器,获取NTP服务器IP地址信息。
[0005]进一步的,所述步骤I具体过程包括:
步骤11:检测模块采集多个NTP服务器数据交互时的交互数据包,依照TCP/IP协议簇,对NTP交互数据包的数据内容逐层进行协议分析,明确NTP交互数据包的数据格式;步骤12:检测模块依照TCP/IP协议簇在数据链路层对NTP请求包的数据格式填充相应的协议字段,构造NTP请求包。
[0006]进一步的,所述步骤3中过滤模块过滤采集模块返回的数据具体过程是:过滤模块是通过伯克利数据包过滤器(BPF, Berkeley Packet Filter)设置协议类型以及五元组信息的过滤规则。
[0007]进一步的,所述3中协议分析模块分析的具体过程是:协议分析的设计思想是依照TCP/IP参考模型根据协议标识逐层识别网络协议类型,针对相应的协议格式对采集到的网络数据包进行底层协议分析。基于TCP/IP协议簇数据包的封装分用原理,协议分析模块接收到采集模块采集到的网络数据包后,针对每一个数据包进行协议分析识别操作;依照协议栈模式由底层向上层进行协议分析,同时去掉各层协议相应的报文首部和尾部信息,解析每层协议时都要去检查报文首部信息中的协议标识,以确定接收数据的上层协议,获取NTP服务器IP地址信息。。
[0008]综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明提出的局域网NTP服务器感知方法突破了端口扫描方法获取应用服务器信息的局限性,构造并发送NTP请求包为服务器信息获取提供了更充足的数据源,通过分析NTP应答包的详细信息,最终获取更全面的NTP服务器信息。
【附图说明】
[0009]本发明将通过例子并参照附图的方式说明,其中:
图1是本发明流程图。
【具体实施方式】
[0010]本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
[0011]本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
[0012]本专利相关说明:
1、广播网络(broadcast networks)只有一个通信信道,网络上所有主机都共享该信道。任何一台主机通过该信道发送的数据包都可以被其他所有的主机接收到。正常数据包发送,在数据包分组中有一个地址域,指明了该分组的目标接收者。各主机接收到了一个分组后,读取地址域信息,如果该地址域信息为本机,则接收并处理该分组信息;如果该分组是发送给其他主机的,则忽略该分组信息。广播系统允许将一个分组发送给网络内的所有主机,通过在地址域中使用一个特殊的地址编码实现,即:MAC地址为全1,IP地址为网络号加上全I的主机号。如果待发送的网络分组带有这样的地址编码,那么该网络中的每一台主机都会接收该分组,并进行处理,这种发送模式称为广播。NTP服务器感知目的是获取局域网内NTP服务器的信息,在未知NTP服务器信息的前提下,无法准确填充目标地址信息,因此不能采用点对点的发送方式,只能采用广播的形式发送构造的NTP请求包,保证局域网内的所有主机都接收到此数据包并对其进行处理,进一步分析监测各个目标主机的响应情况,目标主机中提供NTP服务的主机会产生相应的应答包。
[0013]2、过滤模块是通过伯克利数据包过滤器(BPF, Berkeley Packet Filter)设置协议类型以及五元组信息的过滤规则。
[0014]3、过滤模块过滤采集模块返回的数据具体过程是:过滤模块是通过伯克利数据包过滤器(BPF, Berkeley Packet Filter)设置协议类型以及五元组信息的过滤规则,具体是针对数据包信息布尔值的操作函数,若函数返回值为True,则通过过滤被存储,反之则被丢弃。过滤规则是各个原语通过“and”、“or”或者“not”等连接词组成的字符串,原语包括标识和标识修饰词。标识修饰词包括类型、方向和协议等三种类型修饰语。类型修饰词代表标识的类型,包括host、net和port,host代表其为主机类型,net代表其为网络类型,port代表其为端口类型。方向修饰词规定了数据的传输方向,包括src、dst、src or dst以及src and dst等四种类型传输方向,src表示源地址,即此数据包的发送端主机;dst表示目的地址,即此数据包的接收端主机;src or dst表示无方向;src and dst表示源地址和目的地址都必须满足。协议修饰词表示网络数据包传输时基于的协议类型,主要有ip、arp、tcp、udp、icmp等,分别代表了相应种类的协议。在本专利中,为了更准确地获取NTP服务器IP地址信息,依照上述标准设计过滤规则,host设置为检测主机,port设置为NTP协议端口号,dst设置为检测主机的IP地
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1