時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(1)
ICMP故障 路由器一般故障解決,遇到過ICMP故障嗎?知道怎么解決嗎?你的無線路由器是不是經(jīng)常讓你上網(wǎng)時掉線,看看下面的文章,一切問題都能解決。
這是個什么問題呢?首先給大家描述一下。雖然路由器在運行時沒有出現(xiàn)明顯的異?,F(xiàn)象,但是卻經(jīng)??吹竭@樣的日志:其中"209.24.79.200"是路由器的上聯(lián)接口地址,我不知道為什么會出現(xiàn)這么多從路由器發(fā)到這些沒有規(guī)律的IP的ICMP故障。
?
ICMP故障
查查這些IP,有的來自國內(nèi)各省,有的來自日本,有的來自美國、阿根廷、新加坡,毫無規(guī)律。難道是有人在攻擊路由器?或者是內(nèi)部有肉機被人用來攻擊?而且奇怪的是只有出去的數(shù)據(jù)包的記錄,卻沒有記錄進入的數(shù)據(jù)包?
說起ICMP故障,大家肯定是熟悉不過的了。最常見的ping命令就是使用ICMP的。ICMP的全稱是Internet Control Message Protocol(網(wǎng)間報文控制協(xié)議),它是IP不可分割的一部分,用來提供錯誤報告。一旦發(fā)現(xiàn)各種錯誤類型就將其返回原主機,基于ICMP的攻擊方法也多種多樣。到底是什么原因?qū)е律蛇@樣的日志?讓我?guī)Т蠹乙黄饋聿橐徊椤?/p>
?
ICMP故障
我校的拓撲結(jié)構(gòu)是一個簡單的星型結(jié)構(gòu),中心節(jié)點就是一臺三層交換式路由器(Enterasys 公司的SSR8000)。其中一個端口上聯(lián)到CERNET,其他端口都是內(nèi)部連接,且為內(nèi)部網(wǎng)絡基于端口劃分了多個VLAN。
為了查看該信息是否從網(wǎng)絡內(nèi)部發(fā)出,又給內(nèi)部VLAN的各個接口設置了日志,還是沒有相關(guān)的ICMP記錄(原先的日志只是記錄上聯(lián)接口的數(shù)據(jù))。排除了內(nèi)部計算機發(fā)出ICMP數(shù)據(jù)包的可能,那問題就可能出現(xiàn)在上聯(lián)接口上,而日志記錄只能記錄到協(xié)議層的信息,不能記錄更深層次的數(shù)據(jù)包。
?
ICMP故障
如何查看上聯(lián)接口的數(shù)據(jù)包呢,比較方便的方法就是使用端口鏡像功能,利用連接在鏡像端口上的計算機來抓取和分析數(shù)據(jù)包。首先下載數(shù)據(jù)包分析軟件WINDUMP(下載地址:http://windump.polito.it)。在A計算機上,安裝之,然后連接到將要鏡像的RJ45端口上。再在B計算機上,也安裝WINDUMP,并連接到當前的VLAN1(網(wǎng)關(guān):222.222.222.1,掩碼:255.255.255.0)中。
?
ICMP故障
一切準備就緒后,接著就是開始端口鏡像。使用計算機B登錄到路由器,進入配置模式,輸入以下命令:SSR(config)# port mirroring dst-ports et.1.3 src-ports gi.4.1上面的命令把上聯(lián)端口(gi.4.1)鏡像到目標端口(et.1.3),目標端口就是計算機A連接的端口。在計算機A上,進入DOS提示符,轉(zhuǎn)到WINDUMP所在的目錄,輸入命令:
(上面的記錄已做過篩選。第一句的參數(shù)"-N"表示IP地址或者端口號轉(zhuǎn)換為主機名或端口名,第二句表示windump開始在所選網(wǎng)卡上監(jiān)聽,第三句開始就是WINDUMP記錄的信息。)同樣在計算機B上也運行WINDUMP:查看路由器上的日志,我任意找到其中一條關(guān)于ICMP的記錄:
查,在計算機A上采集的數(shù)據(jù)中,有幾條記錄(最后兩條)包含"218.79.246.212"的IP和此記錄匹配。從這兩句的記錄來看,第一行表明從218.79.246.212的tcp端口64627向222.222.222.191的16881端口發(fā)送報文。
S標志表明設置了SYN標志,報文的流序號是2898301189,沒有數(shù)據(jù),有效的接收窗口是4096字節(jié),最大段大小(max-segment-size)的選項,請求設置mss為1452字節(jié)。很明顯,這是一個請求報文。而第二句表明路由器給218.79.246.212返回了一個"unreachable(主機不可達)"ICMP 信息。這說明在這個網(wǎng)段中沒有找到IP地址為"222.222.222.191"的計算機。
原來,當路由器接收到一個不知道IP地址(也就是說,路由器不知道目標路由)的數(shù)據(jù)包時,它會嘗試發(fā)送ARP廣播來解析,如果有目標主機回應這個ARP廣播,則路由器會把數(shù)據(jù)包轉(zhuǎn)發(fā)給目標主機。
如果路由器沒有接收到回應,它將會為接下來的4個數(shù)據(jù)包發(fā)送ARP請求,如果當?shù)?個數(shù)據(jù)包到達時,還沒有解析出目標主機的MAC地址,默認情況下,路由器將會在接下來的20秒鐘內(nèi)丟棄第6個以及后續(xù)的數(shù)據(jù)包,并且返回"主機不可達"的ICMP信息給源主機。
從計算機B的記錄中的第一句也可以得到證明,路由器向該網(wǎng)段中發(fā)出一個ARP查詢,查找IP為"222.222.222.191"的計算機,結(jié)果沒有計算機相應,路由器則認為該網(wǎng)段中沒有目標主機,所以返回一個ICMP信息給源計算機說明目標主機不可到達,以通知源主機這里存在問題,同時丟棄原始數(shù)據(jù)包。
至此問題已經(jīng)明朗,原來路由器記錄的ICMP都是路由器發(fā)送給源地址的"Destination Unreachable"信息。那么為什么這些外面的IP地址會找校內(nèi)的計算機呢?從采集的數(shù)據(jù)分析不難發(fā)現(xiàn),這些外部主機主要是找內(nèi)部的固定的三個計算機。經(jīng)過歷史日志的檢查,可以發(fā)現(xiàn)這三臺計算機的主要相同的記錄:
這三臺主機連接目標主機的端口固定在6881到6889之間,而這些端口正是現(xiàn)在比較流行的BT下載的常用端口。難怪以前沒有出現(xiàn)過此類日志,直到最近BT流行時,才出現(xiàn)的。主要原因是,這些主機使用BT下載時,在BT服務器上留下了記錄,以便其他的主機到這些主機上下載資源,而當這些主機關(guān)機后,路由器就告訴它們找不到這些主機了。
由于日志服務所記錄的是第三層以上的信息,而路由器接收到的數(shù)據(jù)包在第二層上就被丟棄了,所以沒有在日志中記錄這些輸入的異常數(shù)據(jù)包。為了減少路由器的日志量,在配置模式下使用"ip disable icmp-messages destination-unreachables"來禁止此類信息的轉(zhuǎn)發(fā)。
這個ICMP故障均由ICMP引發(fā),而且從某種角度上講都不是系統(tǒng)配置上的問題,而是由于外部因素引起的。此類ICMP故障需要我們經(jīng)過一定的分析才能查出原因,再作相應的配置才能排除ICMP故障。
關(guān)鍵詞標簽:ICMP故障,路由器,故障
相關(guān)閱讀
熱門文章 提示dns服務錯誤怎么辦 dns錯誤問題多種解決方法 “無法瀏覽網(wǎng)頁” 十招解決疑難雜癥 路由器無線不能上網(wǎng)等故障排除 解決VPN路由設置不能訪問外網(wǎng)的問題
人氣排行 解決VPN路由設置不能訪問外網(wǎng)的問題 登錄SSH服務器失敗問題的分析及解決 光纖上網(wǎng) 路由器設置頁面進不去怎么辦 核心交換機故障現(xiàn)象及解決辦法 無線網(wǎng)卡連接不上怎么辦_無線網(wǎng)卡連接不上解決方法 路由設置不當 導致VPN無法訪問外網(wǎng) 提示dns服務錯誤怎么辦 dns錯誤問題多種解決方法 徹底避免環(huán)路問題 正確配置交換機步驟