陳晶 張鯤
[摘 要]IP協(xié)議為運輸層提供無連接的、盡力而為的服務(wù),卻不包括流量控制與差錯控制功能,因而傳輸錯誤在所難免;源主機無法得知數(shù)據(jù)報的傳輸質(zhì)量,因此需要提供某種機制來了解網(wǎng)絡(luò)的狀態(tài)。利用ICMP(Internet控制消息協(xié)議)的相關(guān)命令可以進行網(wǎng)絡(luò)的基本配置、網(wǎng)絡(luò)連通性測試及基本網(wǎng)絡(luò)診斷,其中,PING命令在測試子劃分網(wǎng)連通性等實際問題中的應(yīng)用尤為重要。
[關(guān)鍵詞]控制消息協(xié)議;網(wǎng)絡(luò)命令;連通性;子網(wǎng)
[中圖分類號] TP393 [文獻標識碼] A [文章編號] 2095-3437(2019)05-0091-04
隨著計算機應(yīng)用的普及,網(wǎng)絡(luò)在日常工作和社會生活的方方面面中都起著至關(guān)重要的作用,全民進入了信息化時代。在享用網(wǎng)絡(luò)帶來的便利的同時,不法分子也在尋找網(wǎng)絡(luò)存在的漏洞,竊取一些重要或機密的信息,這對用戶來說,存在一定程度上的安全隱患,更有甚者造成了其經(jīng)濟上的損失。因此,加強對計算機網(wǎng)絡(luò)安全問題的研究十分重要。
嚴重的攻擊不僅使網(wǎng)絡(luò)面臨無法工作甚至是癱瘓的風險,還會涉及個人信息、財產(chǎn)等安全,更有甚者會危及生命和國家利益的安全,所以人們對網(wǎng)絡(luò)安全的要求也越來越高。而計算機網(wǎng)絡(luò)是非常復雜的系統(tǒng),不管是否遭受到外來的攻擊,即使是網(wǎng)絡(luò)設(shè)備或主機的軟硬件設(shè)置問題,都會引起網(wǎng)絡(luò)出現(xiàn)異常。網(wǎng)絡(luò)受到的攻擊是層出不窮的,不同的攻擊有不同的處理方法,需要具體問題具體分析,這是一個復雜的難題。作為計算機網(wǎng)絡(luò)的初學者,要解決這樣的難題是不太現(xiàn)實的,況且聯(lián)網(wǎng)的計算機都會安裝殺毒軟件,這些殺毒軟件會攔截絕大部分的攻擊,所以初學者遇到網(wǎng)絡(luò)不能正常運行或鏈接不上網(wǎng)絡(luò)時,可通過ICMP方法進行測試診斷,盡可能地判斷故障的原因和位置?,F(xiàn)在網(wǎng)絡(luò)測試命令很多也較全面,功能也很完善,由于是操作系統(tǒng)自帶的命令,使用起來簡單且操作方便,對于判斷網(wǎng)絡(luò)故障以及從事網(wǎng)絡(luò)專業(yè)教學工作均具有現(xiàn)實意義。作為計算機網(wǎng)絡(luò)課程的主教老師,以海南熱帶海洋學院計算機網(wǎng)絡(luò)實驗室(6501)為實驗環(huán)境,介紹基于ICMP的相關(guān)命令PING命令的使用。
一、ICMP概述
ICMP是因特網(wǎng)的標準協(xié)議,其主要任務(wù)和功能包括提高IP數(shù)據(jù)報交付成功的機會和允許主機或路由器報告差錯情況和提供有關(guān)異常的報告。ICMP差錯報告采用路由器-源主機的模式,在遇到網(wǎng)絡(luò)故障時,可以用ICMP協(xié)議中的PING(因特網(wǎng)包探索器)命令來大致檢查故障出現(xiàn)的范圍,一般步驟如下:
(1)使用Ipconfig/all觀測本地網(wǎng)絡(luò)設(shè)置是否正確,主要顯示接口的IP地址、子網(wǎng)掩碼和默認網(wǎng)關(guān)信息,可以通過這些信息來檢測TCP/IP設(shè)置是否正確。
(2)PING 127.0.0.1,PING 回送地址,是為了檢查本地的TCP/IP設(shè)置情況,如果暢通表明TCP/IP的設(shè)置正確。(127.0.0.1)是每個主機系統(tǒng)內(nèi)部設(shè)定的環(huán)回測試地址,可通過PING 127.0.0.1來測試主機的TCP/IP是否正確安裝和配置正確。
(3)PING本地IP地址,是為了檢測本地的IP地址設(shè)置情況。
(4)PING本網(wǎng)段的網(wǎng)關(guān)或本網(wǎng)段的IP地址,是為了檢測硬件設(shè)備是否有問題,也可檢測本機與本地網(wǎng)絡(luò)連接是否正常。
(5)PING本地DNS,是為了檢測DNS是否存在故障。
(6)PING遠程IP地址,是為了檢測本網(wǎng)或本機與外部網(wǎng)絡(luò)的連接是否正常。
下面以實例介紹ICMP協(xié)議的一些命令的使用。
二、ICMP應(yīng)用舉例
實驗環(huán)境:以海南熱帶海洋學院計算機網(wǎng)絡(luò)實驗室6501為例,安裝了Windows XP/Windows 7操作系統(tǒng)的計算機,為本地局域網(wǎng)環(huán)境(交換機、多根直通線)。實驗通過分組實現(xiàn),每個圓桌共有六臺電腦和與之匹配的小組控制機柜,每臺電腦都配有實驗網(wǎng)卡和管理網(wǎng)卡兩張網(wǎng)卡,通過實驗網(wǎng)卡與小組控制機柜連接,通過管理網(wǎng)卡與核心控制機柜連接。具體的實現(xiàn)環(huán)境如圖1、圖2所示。
實驗要求:按照分好的6個組,每個組的學生坐在一起。組內(nèi)再分每三個學生作為一小組,實驗前分配好各自的實驗任務(wù),為避免實驗出現(xiàn)混亂,三個學生需要規(guī)劃好使用的主機的順序,即A、B、C三臺主機確定,再規(guī)劃好IP配置(使用192.168.0.0/24這段私有IP地址),然后將實驗網(wǎng)卡的IP地址、子網(wǎng)掩碼、默認網(wǎng)關(guān)等參數(shù)記錄并保留起來,實驗完成后再恢復。
三、實驗內(nèi)容
在實驗前,已檢測局域網(wǎng)的環(huán)境,確保TCP/IP配置正確,確保實驗?zāi)苷M瓿伞?/p>
首先禁用管理網(wǎng)卡,防止在做第二個實驗時,位于不同子網(wǎng)情況下兩臺主機通過管理網(wǎng)卡連接到核心控制機柜而檢測出連通情況,從而得出錯誤的實驗結(jié)論。配置實驗網(wǎng)卡的TCP/IP屬性(包括IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)、DNS);每臺主機都要PING 127.0.0.1,PING 本機IP地址,PING 鄰機IP地址,注意觀察實際情況并記錄;分別將相鄰的2臺PC機分別設(shè)置為同一子網(wǎng)、不同子網(wǎng)和相同的IP地址三種情況,再用PING命令進行測試,注意觀察并記錄,最后進行實驗結(jié)果的分析。
1.先驗證A、B兩臺主機位于相同子網(wǎng)時的連通情況。
配置主機A、主機B、主機C的實驗網(wǎng)卡的IP地址、子網(wǎng)掩碼等參數(shù),使A主機、B主機、C主機在相同子網(wǎng)下,此時A主機的IP地址配置為192.168.7.37,B主機的IP地址配置為192.168.7.17,C主機的IP地址配置為192.168.7.7。
每臺主機分別使用PING命令PING本機IP地址,并記錄情況,正常情況下都是通暢的。這里只給出在A主機上通過PING命令檢測到的情況如圖3所示,其余的PC機與其同理可得。
在主機A和主機B上分別通過PING命令檢測到對方的連通情況,這里只給出在A主機上通過PING命令檢測到與B主機的連通情況,如圖4所示,發(fā)送4個數(shù)據(jù)包,接收4個數(shù)據(jù)包,丟包率為0,由此可見A主機與B主機是連通的,可以進行正常的通信,在B主機上通過PING命令檢測到與A機的連通情況與其同理可得。
2.然后測試A主機和B主機在不同子網(wǎng)的環(huán)境下的連通情況。
修改 B主機的IP地址和子網(wǎng)掩碼,使之與A主機不在同一子網(wǎng)上,再次在A主機和B主機上分別通過PING命令檢測到對方的連通情況,此時B主機IP地址為192.168.8.17,結(jié)束后將B主機IP地址改為初值即192.168.7.17,這里還是只給出在A主機上通過PING命令檢測到與B主機的連通情況,如圖5所示,發(fā)送4個數(shù)據(jù)包,接收到0個數(shù)據(jù)包,丟包率為100%,主機A和主機B是不連通的,不能進行正常的通信。在B主機上通過PING命令檢測到與A主機的連通情況與其同理可得。
3.測試A主機與B主機是同一個IP地址即IP地址沖突情況下,如何判斷這個相同IP地址的歸屬情況。
修改相鄰兩臺計算機A、B的IP,其中B主機的IP地址設(shè)置為A主機的IP地址,即讓A主機與B主機的IP地址發(fā)生沖突,觀察并記錄A主機、B主機上的錯誤消息報告情況;進入DOS命令窗口,在另外一臺計算機C(IP地址與主機A/B不同)上向該IP地址發(fā)PING命令檢測報文(PING IP -n 10),觀察PING檢測報文的返回情況,在C主機上用“nbtstat –A命令”查看此時該IP地址對應(yīng)的主機名稱是計算機A還是計算機B。用于顯示本地計算機和遠程計算機的基于 TCP/IP(NetBT) 協(xié)議的 NetBIOS 統(tǒng)計資料、NetBIOS名稱表和NetBIOS名稱緩存。NBTSTAT可以刷新NetBIOS名稱緩存和注冊的 Windows Internet 名稱服務(wù)(WINS) 名稱。使用不帶參數(shù)的NBTSTAT顯示幫助,如圖6所示(讓主機B與主機A的IP地址發(fā)生沖突步驟與此相同,同理可得,這里不再給出)。
在主機A的桌面上點擊“我的電腦”-“屬性”,可以查看主機A的名稱“NETUSER22”,與上述實驗結(jié)果一致,由此可判斷此IP地址是主機A的。
四、實驗結(jié)果分析
1.當兩主機A與B屬于相同子網(wǎng)時,無論是A主機PINGB主機的IP地址還是B主機PINGA主機的IP地址,結(jié)果都是連通的;當兩主機A與B屬于不同子網(wǎng)時,無論是A機PINGB主機的IP地址還是B主機PINGA主機的IP地址,結(jié)果都是PING不同的。這驗證了在同一子網(wǎng)內(nèi)的各主機間可以相互通信,不同子網(wǎng)內(nèi)的各主機間不同通信的原理,即劃分了子網(wǎng)。劃分子網(wǎng)限制了接收廣播信息的計算機數(shù)量,對“網(wǎng)絡(luò)風暴”引起的計算機網(wǎng)絡(luò)性能惡化具有隔絕作用。這種作用等同于劃分VLAN,卻不需要額外的網(wǎng)絡(luò)設(shè)備和VLAN幀的標識,節(jié)省了一定的資源開銷。
2.當A、B兩主機中其中一臺計算機B主機修改為另一臺計算機A主機的IP地址,造成IP地址沖突,在相同子網(wǎng)的第三臺計算機C主機上可以查看該IP地址是屬于最初分配到該IP地址的那臺計算機A主機的。這是判斷主機是否遭受ARP病毒攻擊還是簡單的地址沖突的最為簡單實用的方法。若只是簡單的IP地址沖突,修改主機B的TP地址即可;若是遭受ARP病毒攻擊,可繼續(xù)監(jiān)測攻擊的源頭,并采取對應(yīng)的ARP攻擊的安全策略。
3.PING(Packet Internet Groper)命令即因特網(wǎng)包探索器,主要用來測試網(wǎng)絡(luò)是否通暢或者網(wǎng)絡(luò)連接速度的命令。PING命令通過發(fā)送一個ICMP報文,回復請求消息給目的主機并報告是否收到所希望的ICMP echo (ICMP回復應(yīng)答)。它對一個網(wǎng)絡(luò)地址發(fā)送測試數(shù)據(jù)包,看該網(wǎng)絡(luò)地址是否有響應(yīng)并統(tǒng)計響應(yīng)時間,以此測試網(wǎng)絡(luò)。PING和ICMP報文的關(guān)系如下:PING命令發(fā)送數(shù)據(jù)使用的是ICMP協(xié)議。從專業(yè)技術(shù)角度來說,ICMP報文就是一個“錯誤偵測與回報機制”,其目的是讓網(wǎng)絡(luò)使用者及管理者能夠檢測網(wǎng)路的連線狀況,確保連線的準確性,主要有偵測通信的目的主機是否存在、建立及維護路由資料以及ICMP重定向、流量控制等功能;ICMP報文主要是通過不同的Type與Code讓機器識別不同的連線狀況來進行溝通的。ICMP 是個非常有用的協(xié)議﹐尤其是當我們要對網(wǎng)路連接狀況進行判斷的時候,所以對于網(wǎng)絡(luò)安全具有極其重要的意義。但它本身的特點決定了它極易被用于攻擊網(wǎng)絡(luò)上的路由器和主機。雖然ICMP協(xié)議給黑客以可乘之機,但是對于ICMP攻擊也并非束手無策,只要在日常網(wǎng)絡(luò)管理中提前做好預(yù)防準備,就可以有效地避免因遭受ICMP攻擊造成的損失,這就要求網(wǎng)絡(luò)管理員對網(wǎng)絡(luò)進行管理時要做到未雨綢繆,技術(shù)精益求精。
五、結(jié)論
迅速發(fā)展的計算機網(wǎng)絡(luò)是一把雙刃劍,人們辦公、學習都依賴網(wǎng)絡(luò),只有保證用戶的網(wǎng)絡(luò)安全,才能真正享受網(wǎng)絡(luò)帶給我們的便利。本文以海南熱帶海洋學院計算機網(wǎng)絡(luò)實驗室為實驗環(huán)境,向初學計算機網(wǎng)絡(luò)的學生介紹了ICMP的功能及一些常用命令的使用及其在網(wǎng)絡(luò)診斷中起到的重要作用,驗證了PING等命令的使用。計算機網(wǎng)絡(luò)等計算機主干課程因其課程本身具有知識面廣、綜合知識集成度高等特點,成為培養(yǎng)應(yīng)用型人才的有效知識載體。但計算機網(wǎng)絡(luò)理論內(nèi)容較抽象且復雜難懂,通過將理論和實踐相結(jié)合的實驗教學培養(yǎng)學生的應(yīng)用能力,可以促進學生學習的動力,也加深了學生對PING命令使用的理解,更有效地促進了教學效果。
[ 參 考 文 獻 ]
[1] 謝希仁.計算機網(wǎng)絡(luò)(第7版)[M].北京:電子工業(yè)出版社,2017.
[2] 張宇. Ping命令在計算機網(wǎng)絡(luò)檢測中的使用及其病毒防范[J]. 軟件導刊,2013(9):157-159.
[3] 傅杰華. 談Ping命令在網(wǎng)絡(luò)維護中應(yīng)用[J]. 信息與電腦. 2011(4):114-115.
[4] 陳晶,張鯤.編譯原理課程中類比教學法的研究[J].軟件,2017(7):55-57.
[5] 王小龍,陳英.論子網(wǎng)掩碼在網(wǎng)絡(luò)劃分中的使用[J].數(shù)字技術(shù)與應(yīng)用,2013(3):62.
[6] 易文泉.Ping命令應(yīng)答信息剖析 [J].信息與電腦(理論版),2016(17):143-144.
[7] Kun ZHANG, Haifeng WANG, Xiaoyan CHEN. Research on Teaching Reform of Computer Course Based on Computational Thinking[C]. DEStech Transactions on Social Science, Education and Human Science, 2017 International Conference on Education Innovation and Economic Management (EIEM2017):109-113.
[8] 陳晶,張鯤.類比教學法在計算機專業(yè)主干課程中的應(yīng)用研究[J].教育現(xiàn)代化,2017(43):139-140+156.
[責任編輯:鐘 嵐]