一種基于局域網(wǎng)的ntp服務(wù)器檢測(cè)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及局域網(wǎng)中NTP服務(wù)器的IP地址獲取領(lǐng)域,尤其是一種基于局域網(wǎng)的NTP服務(wù)器檢測(cè)方法。
【背景技術(shù)】
[0002]目前沒有明確的基于局域網(wǎng)的NTP服務(wù)器感知方法的相關(guān)研究,現(xiàn)有感知NTP服務(wù)器的可用方法是端口掃描,即:針對(duì)局域網(wǎng)內(nèi)的所有目標(biāo)主機(jī),逐個(gè)對(duì)一段端口或指定的端口進(jìn)行掃描,通過(guò)掃描結(jié)果獲取某臺(tái)計(jì)算機(jī)上提供的應(yīng)用服務(wù)類型,從而感知局域網(wǎng)內(nèi)的NTP服務(wù)器。端口掃描的原理是檢測(cè)主機(jī)向目標(biāo)主機(jī)的某一個(gè)端口提出建立連接的請(qǐng)求,發(fā)出請(qǐng)求包,如果目標(biāo)主機(jī)提供此項(xiàng)服務(wù),就會(huì)回復(fù)應(yīng)答包;如果目標(biāo)主機(jī)不提供此項(xiàng)服務(wù),在接收到檢測(cè)主機(jī)發(fā)送的應(yīng)答包后,將其丟棄不回復(fù)應(yīng)答包。因此,通過(guò)查看目標(biāo)主機(jī)的應(yīng)答包可感知其提供的應(yīng)用服務(wù)信息。利用這個(gè)原理,如果想感知局域網(wǎng)內(nèi)的NTP服務(wù)器,必須知道NTP服務(wù)對(duì)應(yīng)的端口號(hào),對(duì)局域網(wǎng)內(nèi)的所有目標(biāo)主機(jī)進(jìn)行端口掃描,如果局域網(wǎng)內(nèi)有其他主機(jī)的應(yīng)用服務(wù)占用了 NTP服務(wù)對(duì)應(yīng)的端口號(hào),檢測(cè)主機(jī)則無(wú)法準(zhǔn)確感知局域網(wǎng)內(nèi)提供NTP服務(wù)的主機(jī)的信息。
【發(fā)明內(nèi)容】
[0003]本發(fā)明所要解決的技術(shù)問(wèn)題是:通過(guò)分析研究現(xiàn)有的利用端口掃描感知局域網(wǎng)內(nèi)NTP服務(wù)器的方法,針對(duì)它存在的準(zhǔn)確度和精確性不夠好的問(wèn)題,提出一種基于局域網(wǎng)的NTP服務(wù)器檢測(cè)方法,可以準(zhǔn)確地獲取NTP服務(wù)器IP地址信息。
[0004]本發(fā)明采用的技術(shù)方案如下:
一種基于局域網(wǎng)的NTP服務(wù)器檢測(cè)方法包括:
步驟1:檢測(cè)模塊依照TCP/IP協(xié)議簇,構(gòu)造NTP請(qǐng)求包;
步驟2:檢測(cè)模塊通過(guò)廣播方式發(fā)送構(gòu)造后的NTP請(qǐng)求包給所有主機(jī),所有主機(jī)通過(guò)數(shù)據(jù)采集模塊返回?cái)?shù)據(jù)給檢測(cè)模塊;
步驟3:過(guò)濾模塊過(guò)濾采集模塊返回的數(shù)據(jù)后,發(fā)送給協(xié)議分析模塊進(jìn)行分析,從而檢測(cè)局域網(wǎng)內(nèi)的NTP服務(wù)器,獲取NTP服務(wù)器IP地址信息。
[0005]進(jìn)一步的,所述步驟I具體過(guò)程包括:
步驟11:檢測(cè)模塊采集多個(gè)NTP服務(wù)器數(shù)據(jù)交互時(shí)的交互數(shù)據(jù)包,依照TCP/IP協(xié)議簇,對(duì)NTP交互數(shù)據(jù)包的數(shù)據(jù)內(nèi)容逐層進(jìn)行協(xié)議分析,明確NTP交互數(shù)據(jù)包的數(shù)據(jù)格式;步驟12:檢測(cè)模塊依照TCP/IP協(xié)議簇在數(shù)據(jù)鏈路層對(duì)NTP請(qǐng)求包的數(shù)據(jù)格式填充相應(yīng)的協(xié)議字段,構(gòu)造NTP請(qǐng)求包。
[0006]進(jìn)一步的,所述步驟3中過(guò)濾模塊過(guò)濾采集模塊返回的數(shù)據(jù)具體過(guò)程是:過(guò)濾模塊是通過(guò)伯克利數(shù)據(jù)包過(guò)濾器(BPF, Berkeley Packet Filter)設(shè)置協(xié)議類型以及五元組信息的過(guò)濾規(guī)則。
[0007]進(jìn)一步的,所述3中協(xié)議分析模塊分析的具體過(guò)程是:協(xié)議分析的設(shè)計(jì)思想是依照TCP/IP參考模型根據(jù)協(xié)議標(biāo)識(shí)逐層識(shí)別網(wǎng)絡(luò)協(xié)議類型,針對(duì)相應(yīng)的協(xié)議格式對(duì)采集到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行底層協(xié)議分析?;赥CP/IP協(xié)議簇?cái)?shù)據(jù)包的封裝分用原理,協(xié)議分析模塊接收到采集模塊采集到的網(wǎng)絡(luò)數(shù)據(jù)包后,針對(duì)每一個(gè)數(shù)據(jù)包進(jìn)行協(xié)議分析識(shí)別操作;依照協(xié)議棧模式由底層向上層進(jìn)行協(xié)議分析,同時(shí)去掉各層協(xié)議相應(yīng)的報(bào)文首部和尾部信息,解析每層協(xié)議時(shí)都要去檢查報(bào)文首部信息中的協(xié)議標(biāo)識(shí),以確定接收數(shù)據(jù)的上層協(xié)議,獲取NTP服務(wù)器IP地址信息。。
[0008]綜上所述,由于采用了上述技術(shù)方案,本發(fā)明的有益效果是:
本發(fā)明提出的局域網(wǎng)NTP服務(wù)器感知方法突破了端口掃描方法獲取應(yīng)用服務(wù)器信息的局限性,構(gòu)造并發(fā)送NTP請(qǐng)求包為服務(wù)器信息獲取提供了更充足的數(shù)據(jù)源,通過(guò)分析NTP應(yīng)答包的詳細(xì)信息,最終獲取更全面的NTP服務(wù)器信息。
【附圖說(shuō)明】
[0009]本發(fā)明將通過(guò)例子并參照附圖的方式說(shuō)明,其中:
圖1是本發(fā)明流程圖。
【具體實(shí)施方式】
[0010]本說(shuō)明書中公開的所有特征,或公開的所有方法或過(guò)程中的步驟,除了互相排斥的特征和/或步驟以外,均可以以任何方式組合。
[0011]本說(shuō)明書(包括任何附加權(quán)利要求、摘要和附圖)中公開的任一特征,除非特別敘述,均可被其他等效或具有類似目的的替代特征加以替換。即,除非特別敘述,每個(gè)特征只是一系列等效或類似特征中的一個(gè)例子而已。
[0012]本專利相關(guān)說(shuō)明:
1、廣播網(wǎng)絡(luò)(broadcast networks)只有一個(gè)通信信道,網(wǎng)絡(luò)上所有主機(jī)都共享該信道。任何一臺(tái)主機(jī)通過(guò)該信道發(fā)送的數(shù)據(jù)包都可以被其他所有的主機(jī)接收到。正常數(shù)據(jù)包發(fā)送,在數(shù)據(jù)包分組中有一個(gè)地址域,指明了該分組的目標(biāo)接收者。各主機(jī)接收到了一個(gè)分組后,讀取地址域信息,如果該地址域信息為本機(jī),則接收并處理該分組信息;如果該分組是發(fā)送給其他主機(jī)的,則忽略該分組信息。廣播系統(tǒng)允許將一個(gè)分組發(fā)送給網(wǎng)絡(luò)內(nèi)的所有主機(jī),通過(guò)在地址域中使用一個(gè)特殊的地址編碼實(shí)現(xiàn),即:MAC地址為全1,IP地址為網(wǎng)絡(luò)號(hào)加上全I(xiàn)的主機(jī)號(hào)。如果待發(fā)送的網(wǎng)絡(luò)分組帶有這樣的地址編碼,那么該網(wǎng)絡(luò)中的每一臺(tái)主機(jī)都會(huì)接收該分組,并進(jìn)行處理,這種發(fā)送模式稱為廣播。NTP服務(wù)器感知目的是獲取局域網(wǎng)內(nèi)NTP服務(wù)器的信息,在未知NTP服務(wù)器信息的前提下,無(wú)法準(zhǔn)確填充目標(biāo)地址信息,因此不能采用點(diǎn)對(duì)點(diǎn)的發(fā)送方式,只能采用廣播的形式發(fā)送構(gòu)造的NTP請(qǐng)求包,保證局域網(wǎng)內(nèi)的所有主機(jī)都接收到此數(shù)據(jù)包并對(duì)其進(jìn)行處理,進(jìn)一步分析監(jiān)測(cè)各個(gè)目標(biāo)主機(jī)的響應(yīng)情況,目標(biāo)主機(jī)中提供NTP服務(wù)的主機(jī)會(huì)產(chǎn)生相應(yīng)的應(yīng)答包。
[0013]2、過(guò)濾模塊是通過(guò)伯克利數(shù)據(jù)包過(guò)濾器(BPF, Berkeley Packet Filter)設(shè)置協(xié)議類型以及五元組信息的過(guò)濾規(guī)則。
[0014]3、過(guò)濾模塊過(guò)濾采集模塊返回的數(shù)據(jù)具體過(guò)程是:過(guò)濾模塊是通過(guò)伯克利數(shù)據(jù)包過(guò)濾器(BPF, Berkeley Packet Filter)設(shè)置協(xié)議類型以及五元組信息的過(guò)濾規(guī)則,具體是針對(duì)數(shù)據(jù)包信息布爾值的操作函數(shù),若函數(shù)返回值為True,則通過(guò)過(guò)濾被存儲(chǔ),反之則被丟棄。過(guò)濾規(guī)則是各個(gè)原語(yǔ)通過(guò)“and”、“or”或者“not”等連接詞組成的字符串,原語(yǔ)包括標(biāo)識(shí)和標(biāo)識(shí)修飾詞。標(biāo)識(shí)修飾詞包括類型、方向和協(xié)議等三種類型修飾語(yǔ)。類型修飾詞代表標(biāo)識(shí)的類型,包括host、net和port,host代表其為主機(jī)類型,net代表其為網(wǎng)絡(luò)類型,port代表其為端口類型。方向修飾詞規(guī)定了數(shù)據(jù)的傳輸方向,包括src、dst、src or dst以及src and dst等四種類型傳輸方向,src表示源地址,即此數(shù)據(jù)包的發(fā)送端主機(jī);dst表示目的地址,即此數(shù)據(jù)包的接收端主機(jī);src or dst表示無(wú)方向;src and dst表示源地址和目的地址都必須滿足。協(xié)議修飾詞表示網(wǎng)絡(luò)數(shù)據(jù)包傳輸時(shí)基于的協(xié)議類型,主要有ip、arp、tcp、udp、icmp等,分別代表了相應(yīng)種類的協(xié)議。在本專利中,為了更準(zhǔn)確地獲取NTP服務(wù)器IP地址信息,依照上述標(biāo)準(zhǔn)設(shè)計(jì)過(guò)濾規(guī)則,host設(shè)置為檢測(cè)主機(jī),port設(shè)置為NTP協(xié)議端口號(hào),dst設(shè)置為檢測(cè)主機(jī)的IP地