賀振華,李錫瑞,蔣超
網絡嗅探技術在時頻診斷中的應用
賀振華1,李錫瑞2,蔣超1
(1. 61920部隊,成都 610505;2. 中國科學院 上海天文臺,上海 200030)
時頻系統監測參數多,結構復雜,數據處理環節多,故障排查困難。本文首先介紹了典型時頻系統結構及故障診斷難點,深入研究了網絡嗅探診斷技術,提出了時頻故障排查方法和基于網絡嗅探器的數據故障排查方法,設計了基于網絡嗅探技術的時頻故障診斷軟件,最后分析了該方法在某時頻系統中的故障診斷應用。
網絡嗅探技術;氫原子鐘;故障診斷
時間頻率系統作為信息系統的重要組成部分,已經廣泛應用于通信、衛星導航、電力傳輸、航空航天等各個領域。時間頻率系統的健康程度決定信息系統的工作狀態,時間頻率系統出現故障,將對信息系統運行造成致命的損害。時間頻率系統的故障診斷和排除已成為信息系統維護的重要內容和關鍵步驟。
時頻系統結構復雜,設備精密,核心參數多,上下級設備配合緊密,容易出現設備故障且故障原因不易定位的問題。基于網絡嗅探技術研究出一套快速有效、定位準確的診斷方法,可以在監控軟件的設備監測與控制功能失效時迅速診斷排除故障[1-4],從而提高時頻系統可用度。
時間頻率系統是信息系統的重要組成部分,為信息系統提供準確、穩定、可靠的時頻信號。典型的時間頻率系統一般由高精度時間頻率源、頻率切換、時碼產生、信號放大、比相監測、監控等關鍵設備組成。高精度時間頻率源是整個系統頻率基準的核心,可以為其他設備產生標準時間頻率信號,要求高的系統往往采用氫原子鐘作為時間頻率基準;頻率切換設備可以選擇主用時鐘源,并且實現主、備時鐘源間的無縫切換,確保時頻信號可靠不中斷;時碼產生設備可以向標準時間溯源,再結合本地時間頻率源頻率信號產生本地時間信息及時標信號;信號放大設備可以把頻率信號、時標信號進行數量擴充和強度放大,用以輸出給其他設備;比相監測設備可以對時間頻率系統各設備產生的時間頻率信號進行相位比對監測,確保信號輸出的正確性;監控設備用來監控所有時間頻率設備的狀態工況[5]。典型的時間頻率系統構成如圖1所示。

圖1 典型時間頻率系統構成圖
時間頻率系統作為信息系統的核心和運行基礎,其可靠性直接決定了信息系統的可靠性,這對時間頻率系統的運行和維護提出了較高要求。時間頻率系統的運行要求包括:
① 信號輸出準確性:要求輸出信號具備較高的頻率準確度。
② 信號輸出穩定性:要求輸出信號具備較高的頻率穩定度。
③ 可靠性:系統要保持較高的可用度,一般采用多臺關鍵設備熱備份運行。
④ 自評估能力:系統可以對自身設備狀態進行評估,并且可以自動選擇主用設備并進行切換。
⑤ 無縫切換性:切換過程應當確保信號不發生跳變,用戶感受不到設備的切換。
由于時間頻率系統運行要求較為苛刻,系統構成較為復雜,冗余設備較多,因此故障發生后難以對其精準定位。尤其是大部分故障診斷方法均需要中斷系統開展故障定位,會對系統可靠性造成影響,降低系統可用度。
根據時間頻率系統故障對其信號輸出造成的影響,故障主要可以分為3類:
1)信號輸出功能失效:此類故障發生時系統已停止輸出信號,或時頻信號發生跳變,造成系統可用度降低。
2)關鍵設備單點運行:此類故障發生時,雖然信號可以暫時輸出,但由于關鍵設備已處于單點運行,主備切換功能已經失效,若此時主用設備也失效,將惡化為第1類故障。
3)監控軟件監控功能失效:在此故障中,信號產生和輸出設備均正常,但監控功能失效,可能導致故障向第2類或第1類惡化。
對于第1類故障,此時信號已中斷,已經對系統可用度造成影響,而第2類和第3類故障發生時,系統仍正常輸出信號,此時的快速診斷和故障排除可以避免故障向第1類故障惡化,對提升系統可用度和可靠性具有重要意義。
對于后兩類故障的診斷排除,難點共有兩個:首先是時頻系統很復雜,部分設備輸入輸出邏輯交聯在一起,故障難以快速定位;其次是此時系統仍然輸出信號,無法中斷系統對故障進行排查,因此需要在系統運行過程中獲取監控數據,這也對故障診斷提出了較高要求。針對這兩個難點,采用網絡嗅探方法對后兩類故障進行診斷,是一種有效的診斷方法。
網絡嗅探器,是一種在網絡上收集和分析數據的技術。采用網絡嗅探技術進行信息系統監控和故障排查,可以不影響原系統的正常運行,在系統不中斷的情況下獲取原始運行網絡數據并進行分析,便于多設備的信息系統數據監控和故障排查。
通過網絡嗅探抓取數據包,并將數據提取至應用程序中,這個過程需要對網絡物理層到應用層進行協調設置。在以太網中,數據包的流通流程為:
① 物理層:數據自一個節點在網線和交換設備中傳輸至另一個節點。
② 數據鏈路層:節點的網絡適配器(網卡)篩選屬于自己且正確合法的數據幀重構成數據包送入操作系統的協議棧。
③ 網絡層至運輸層:操作系統的協議棧通過這兩層中的協議判斷到來的數據包的目標(操作系統、應用程序)。如果數據包合法,操作系統通過端口將數據包重構成報文送入應用程序[6-8]。
當網絡的物理條件滿足后,數據才會來到嗅探器中,首先到達的地方就是網卡,網卡將數據(Bits流)變成數據幀的形式,開始進行判斷接收。當數據經過數據層鏈路后,還要通過操作系統協議棧的審核,系統協議棧在開發環境中設置混雜模式,就可以接收從驅動層來的各種數據,最后通過嗅探軟件在應用程序層中解析獲取數據[9-11]。
在采用網絡嗅探獲取數據時,可以采用區別于目標計算機的其他計算機進行數據抓取,也可以在本機直接抓取。考慮到在對時頻系統進行故障診斷時,為了便于數據抓取,可以直接將嗅探軟件部署于監控計算機本地,這樣不需要對系統網絡進行改造就可直接進行抓取[12]。
由于操作系統的分層機制,造成了網絡嗅探的復雜性。為了確保操作系統的穩定,用戶無法直接使用內核的資源,用戶只能在用戶模式的層次上使用自己的內存和其他資源,各類用戶操作也只有通過一定的轉換才能到達核心層,這隔離了用戶對操作系統的直接影響,但是也加大了計算機資源的負荷。由于不同操作系統的差異,其數據的過濾捕獲機制往往也存在差異。Unix類型的操作系統中主要的截獲機制有:BSD類系統中的BPF機制,SVR4中的DLPI機制以及Linux中的SOCK_PACKET類型套接字,而在Windows操作系統下,因為Windows系統沒有提供對鏈路層直接操縱的接口,需要利用系統提供的網絡驅動程序接口規范(Network Driver Interface Specification,NDIS)機制開發中間驅動程序來完成對數據包的截獲,并且,Windows操作系統還提供了接口程序SPI,因此可以利用SPI截取數據包[13]。
運用網絡嗅探技術可以對時頻系統的監控計算機進行網絡數據包的抓取,通過監控計算機這個中心節點獲取時頻系統中各設備的數據流并解析其內容,最終通過數據分析實現系統故障的診斷。
在基于嗅探技術的時頻診斷軟件中,軟件對流經監控系統的所有設備數據進行監視,充分發揮軟件的監督作用。根據時頻系統常見故障特點和運行要求,對于診斷軟件的具體設計目標如下:
① 監控全面:應能夠對所有時頻系統監控數據進行監測。
② 安全性高:故障診斷的過程不影響時頻系統運行,不會對原系統產生干擾。
③ 操作性強:人機交互應當友好,操作方便。
④ 定制靈活:時頻設備數據種類多,需要對部分重要數據進行監控和分析時,可以進行靈活定制,以節約監控資源、突出分析重點[14]。
根據軟件設計目標,可以分析出軟件設計的主要功能如圖2所示,具體包括:
① 網絡嗅探:通過嗅探器對以太網中數據包進行捕獲,將這些信息提交給數據分析引擎。
② 數據分析:對已經捕獲的數據進行應用層的協議分類,并應用相對應的分析策略進行處理。分析內容包括:數據源及目的地址是否正確、數據長度是否正確、數據格式是否符合協議、關鍵參數是否符合邏輯等。
③ 參數設置:可以對監聽的網口、端口進行設置,以獲取感興趣的數據。
④ 數據顯示:對監聽數據報的數量、來源IP及端口、目的IP及端口、報文內容進行顯示。
⑤ 數據存儲:對需要分析的數據進行存儲[15]。

圖2 軟件功能示意圖
整個網絡診斷系統功能示意圖如圖3所示,根據其功能和物理位置分為3個主要的模塊:
① 網絡嗅探器:可以實現對網絡數據包的監聽、捕獲。軟件安裝在被監控時頻系統的監控計算機上,通過綁定網卡實現數據的接收。
② 協議分析引擎模塊:對抓取的數據進行應用層協議分析,并應用相對應的分析策略進行處理。
③ 監控臺模塊:實現操作交互、數據顯示和數據存儲功能。

圖3 軟件功能示意圖
網絡嗅探方法適用于采用以太網進行數據傳輸和監視控制的時頻系統,但串口作為成熟的工業傳輸接口,也廣泛應用于信息系統之中,針對這類時頻系統可以通過改造數據傳輸網絡以使結構更加優化。
串口在使用過程中,具有以下缺點:連接不便、對于多設備節點不便于拓撲擴展;串口尺寸較大,不利于走線;串口易損毀,不能熱插拔,不便于系統斷路調試等。通過串口服務器將串口網絡轉換為以太網網絡,可以有效地克服上述缺點。
串口服務器可以把多路串口線路轉換為以太網網絡,其主要具備兩大功能:
① 數據傳輸形式轉換:串口服務器可以將設備輸出鏈路由串口轉換為網絡鏈路,通過網卡和設備相連接。監控系統在監控軟件編寫過程中,可以通過串口服務器的驅動程序采用邏輯串口監控設備,也可以直接使用網絡編程方法監控設備,方法靈活多樣。
在采用網絡編程方法監控設備時,通過訪問串口服務器設置的IP地址連接到串口服務器,再通過不同的端口號便可訪問到該串口服務器上連接的各設備。
② 進行多點數據交換:串口服務器可以同時連接多個串口設備,起到網絡交換機的作用,從而使一臺監控系統同時監控多臺設備,由于串口服務器連接監控系統的一端為網口,在監控設備數量較多時,還可以采用交換機連接多臺串口服務器,擴展快速簡便。
采用串口服務器監控串口設備的連接示意圖如圖4所示。

圖4 串口服務器監控示意圖
此外,采用串口服務器進行時頻系統監控,可以使數據通過網卡收發,從而可采用網絡嗅探技術監測數據情況。
采用網絡嗅探器,可以對1.3節中后兩類故障進行較為快速的診斷定位。下面將以某典型時間頻率系統為例,分析該系統設備故障的診斷定位方法。
該故障發生時,時頻監控系統可以正常更新鐘組數據,但發送相位和頻率準確度調整指令后,鐘無法執行指令。該故障可能為由于備鐘故障造成的第2類故障,也可能是監控軟件錯誤造成的第3類故障。
在某時間頻率系統中,通過報文分析,可以發現軟件發送的目的地址端口與設備實際地址端口不一致,如圖5所示,根據報文解析,指令發送的目的地址和端口為:202.127.24.186:4001,但實際設備端口為4002,故造成故障發生。由此定位故障為軟件設計出現問題,無法根據實際配置的串口向鐘組發送控制指令。

圖5 頻率調整指令發送地址及端口
該故障現象是時頻監控計算機對某臺鐘源的數據停止更新,對鐘的控制指令失效。該故障發生的原因主要有3種:線路接口松動、監控軟件端口選擇錯誤、鐘源監控系統損壞。若由于線路出現問題或鐘源監控系統損壞,則故障為第2類故障;若由于軟件端口選擇錯誤,則故障為第3類故障。
該故障發生時,首先應當檢查線路、接口和通信設備,確保數據傳輸鏈路正常。若傳輸線路正常時仍然存在故障,采用嗅探器檢查故障原因。
若通過嗅探器判斷數據收發正常,則時頻監控系統故障。啟動網絡嗅探軟件抓取原始數據報文,通過分析報文中的IP地址、端口號等內容判斷軟件故障原因。
若通過嗅探器判斷軟件發送數據正常,但鐘源未反饋數據,則可定位故障于鐘源監控系統,此時可直接對該鐘進行維修。
例如,某時頻監控軟件對鐘源監控過程中發生該故障。在確定線路正常后,啟動網絡嗅探軟件對數據包進行分析。通過分析可以看出,當選擇該鐘端口B(對應網絡端口為202.127.24.186:4010,如圖6所示)為主端口時,數據可以正常通信,但當設置端口A(對應網絡端口為202.127.24.186:4001)為主端口時,數據無法更新,因此推斷為鐘源監控系統故障。

圖6 時頻監控軟件指令發送地址及端口
該故障發生時,時頻監控系統可以更新設備數據,但會頻繁出現報警。該報警與設備工作狀態不符,為誤報警。發生該故障時,一般為軟件故障,為第3類故障。
某時頻監控軟件對3臺鐘源頻繁出現報警現象,通過查看各鐘與故障分析,發現監控報警與實際原子鐘運行狀態不符。通過網絡嗅探軟件分析原始數據包,發現在發送過程中出現數據包不完整現象,如圖7所示,根據報文解析內容,該指令完整的數據報文長度為70個字節,但部分報文長度僅為46字節。

圖7 數據報文中原子鐘參數信息
由圖7分析出該故障產生原因為:時頻監控軟件接收到不完整的鐘源監控數據后直接進行數據解析,導致對不完整數據內存之后的內容進行了解析,最終產生錯誤參數并發生報警。修改時頻監控軟件后該故障消除。
時間頻率系統是信息系統的重要組成部分,對時間頻率系統進行故障診斷,存在無法中斷排查和難以定位的特點。網絡嗅探技術可以實現計算機數據包的抓取和數據分析。采用網絡嗅探技術,可以快速診斷定位時頻系統故障,并且對部分功能失效的系統進行不間斷排查,從而提高時頻系統可用度,最終確保信息系統的穩定運行。
[1] 張洋. 基于局域網的嗅探器發現技術的研究[J]. 微計算機信息, 2005, 21(23): 33-35.
[2] 梁理, 黃樟欽, 侯義斌. 網絡信息偵聽系統的研究與實現[J]. 計算機工程與應用, 2002, 38(17): 184-186+226.
[3] 劉琦, 李建華. 網絡內容安全監管系統的框架及其關鍵技術[J]. 計算機工程, 2003, 29(2): 287-289.
[4] KOTZ D, ESSIEN K.Analysis of a campus wide wireless network[J]. Wireless Networks, 2005(11): 115-133.
[5] 上海天文臺.SOHM-4型氫原子鐘技術說明書[K]. 2008.
[6] 李佳靜, 徐輝, 潘愛民. 入侵檢測系統中的協議分析子系統的設計與實現[J]. 計算機工程與應用, 2003, 39(12): 152-155.
[7] 溫研, 王懷民, 胡華平. 分布式網絡行為監控系統的研究與實現[J]. 計算機工程與科學, 2005, 27(10): 13-16.
[8] 李曉鶯, 曾啟銘.NDIS網絡驅動程序的研究與實現[J]. 計算機應用, 2002, 22(4): 60-61.
[9] 譚思亮. 監聽與隱藏: 網絡偵聽揭秘與數據保護技術[M]. 北京: 人民郵電出版社, 2003.
[10] VISHKIN U. Deterministic sampling-a new technique for fast pattern matching[J]. SIAM Journal on Computing, 1991, 20(1): 22-40.
[11] BAEZA-YATES R, GONNET G H. A new approach to text searching[J]. Communications of the ACM, 1992, 35(10): 74-82.
[12] 劉振憲, 王津濤, 侯德, 等. 基于原始套接字的網絡安全研究與實現[J]. 計算機工程與設計, 2006, 27(5): 768-770+779.
[13] 連一峰, 王航. 網絡攻擊原理與技術[M]. 北京: 科學出版社, 2004.
[14] 陳烽華, 張代遠. 基于RawSocket技術的改進 Sniffer[J]. 計算機時代, 2007(5): 22-23.
[15] 董玉格. 攻擊與防護(網絡安全與實用防護技術)[M]. 北京: 人民郵電出版社, 2002.
A fault diagnosis method of time-frequency equipment based on network sniffing technology
HE Zhen-hua1, LI Xi-rui2, JIANG Chao1
(1. Troops 61920, Chengdu 610505, China;2. Shanghai Astronomical Observatory, Chinese Academy of Sciences, Shanghai 200030, China)
Time-frequency system has many monitoring items, complex structure, multi-step data processing links. It’s difficult in troubleshoot for time-frequency system. This paper introduces the typical time-frequency system structure and fault diagnosis difficulties, studies deeply the network sniffing diagnosis technology, proposes the time-frequency fault diagnosis method and the data fault diagnosis method based on network sniffer, designs a time-frequency fault diagnosis software based on network sniffer technology, and finally analyzes the application of this method in a time-frequency system.
network sniffing technology; hydrogen maser; fault diagnosis
10.13875/j.issn.1674-0637.2021-02-0113-07
賀振華, 李錫瑞, 蔣超. 網絡嗅探技術在時頻診斷中的應用[J]. 時間頻率學報, 2021, 44(2): 113-119.
2020-11-20;
2021-01-12
國家自然科學基金資助項目(U1731130)