張宏偉 朱凱全
摘 要:本文以實(shí)際工作中的網(wǎng)絡(luò)結(jié)構(gòu)為分析對(duì)象,首先,闡述了網(wǎng)絡(luò)的基本配置情況和網(wǎng)絡(luò)設(shè)備中的相關(guān)的概念。其次,描述了在上述網(wǎng)絡(luò)中兩臺(tái)主機(jī)通信過(guò)程以及所產(chǎn)生的問(wèn)題,分析了數(shù)據(jù)在數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層的數(shù)據(jù)幀和數(shù)據(jù)包的形成過(guò)程和傳輸?shù)脑?。最后,指出了?wèn)題出現(xiàn)的原因以及定位問(wèn)題主機(jī)的方法,并最終給出了解決方案。
關(guān)鍵詞:MAC ARP OSI參考模型 SVI
中圖分類(lèi)號(hào):TP393.1 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2014)02(c)-0022-02
引起網(wǎng)絡(luò)故障的原因很多,基本可分為軟件故障和硬件故障。作為計(jì)算機(jī)網(wǎng)絡(luò)維護(hù)人員,在日常工作中對(duì)網(wǎng)絡(luò)故障的正確分析和判斷對(duì)計(jì)算機(jī)網(wǎng)絡(luò)的穩(wěn)定性起著重要的作用。本文從實(shí)際出發(fā),將應(yīng)用數(shù)據(jù)在OSI參考模型中的數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層結(jié)的封裝和解封裝的傳輸過(guò)程進(jìn)行了詳細(xì)的分析,并對(duì)數(shù)據(jù)包不能從源主機(jī)到目的主機(jī)的原因進(jìn)行了解析,并最終確定造成網(wǎng)絡(luò)故障的原因是軟件故障,即ARP病毒,從原理上分析了ARP病毒的成因和危害,介紹了處理此類(lèi)問(wèn)題的一些實(shí)用、高效、快捷的方法。本文運(yùn)用網(wǎng)絡(luò)知識(shí)將實(shí)際工作中遇到的網(wǎng)絡(luò)故障和網(wǎng)絡(luò)原理相結(jié)合進(jìn)行討論,從故障現(xiàn)象透徹的進(jìn)行故障分析,最終判斷出是那種類(lèi)型的故障以及基于故障提出解決方法。
1 網(wǎng)絡(luò)結(jié)構(gòu)如下
圖1中PC機(jī)安裝的是WINDOWS XP,其它兩臺(tái)服務(wù)器安裝的是UNIX。PC機(jī)位于三層交換機(jī)的VLAN6;服務(wù)器A(以下簡(jiǎn)稱(chēng)A)和服務(wù)器B(以下簡(jiǎn)稱(chēng)B)位于VLAN2 并且VLAN6和VLAN2上的設(shè)備均配置了對(duì)應(yīng)VLAN的正確網(wǎng)關(guān)。在三層交換機(jī)和路由器上均沒(méi)有做訪問(wèn)控制。三層交換機(jī)的物理接口既可以配置為2層接口,也可以配置為三層接口,除了交換機(jī)物理接口外,交換機(jī)還可以將某個(gè)VLAN配置為3層接口,稱(chēng)為SVI(switch virtual interface)。一般來(lái)講,所有的三層虛接口都是同一個(gè)MAC地址。在上圖中VLAN2的IP地址是172.26.2.254;VLAN6的IP地址是192.6.1.254。以圖中的三層交換機(jī)為例,通過(guò)如下命令可以得到它的三層虛接口對(duì)應(yīng)的MCA,也就是SVI。先查看有哪些VLAN,然后看SVI,命令如下:
ZYTX-C-4506-1#show vlan bri
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Gi1/1, Gi1/2, Gi2/1, Gi2/2, Gi2/3, Gi2/4, Fa3/25, Fa3/31, Fa3/32, Fa3/33, Fa3/34
Fa3/35, Fa3/36, Fa3/37
2 coreserver active Gi2/5, Gi2/6, Fa3/2, Fa3/3, Fa3/4, Fa3/5, Fa3/6, Fa3/7, Fa3/8, Fa3/9, Fa3/10, Fa3/11
Fa3/12, Fa3/13, Fa3/14, Fa3/15, Fa3/16, Fa3/17, Fa3/18, Fa3/19, Fa3/20, Fa3/21
Fa3/22
3 firewall-in active Fa3/48
6 oldnetwork active Fa3/23, Fa3/24
100 3725-bj active Fa3/47
ZYTX-C-4506-1#sh inter vlan2
Vlan2 is up, line protocol is up
Hardware is Ethernet SVI, address is 000f.238f.fb7f (bia 000f.238f.fb7f)
Description: dataserver vlan
Internet address is 172.26.2.254/24
……
ZYTX-C-4506-1#sh inter vlan3
Vlan3 is up, line protocol is up
Hardware is Ethernet SVI, address is 000f.238f.fb7f (bia 000f.238f.fb7f)
Description: firewall inside vlan
Internet address is 172.26.3.14/28
……
ZYTX-C-4506-1#sh inter vlan6
Vlan6 is up, line protocol is up
Hardware is Ethernet SVI, address is 000f.238f.fb7f (bia 000f.238f.fb7f)
Internet address is 192.6.1.254/24
……
ZYTX-C-4506-1#sh inter vlan100
Vlan100 is up, line protocol is up
Hardware is Ethernet SVI, address is 000f.238f.fb7f (bia 000f.238f.fb7f)
Internet address is 172.26.0.14/28endprint
……
由顯示結(jié)果可以獲得三層交換機(jī)的SVI: 000f.238f.fb7f。
2 主要的通信過(guò)程解析
以B為例,假設(shè)它要發(fā)送一個(gè)文件給服務(wù)器C(以下簡(jiǎn)稱(chēng)C)。
首先,在B的應(yīng)用層上,應(yīng)用程序已經(jīng)準(zhǔn)備好了從B的原端口到C的目的端口的數(shù)據(jù)流。并將數(shù)據(jù)流向下傳給傳輸層處理,傳輸層將應(yīng)用層傳來(lái)的數(shù)據(jù)流進(jìn)行分段,并將每個(gè)數(shù)據(jù)段賦予一個(gè)順序號(hào)以及封裝上原端口號(hào)和目的端口號(hào)。傳輸層將封裝的數(shù)據(jù)段傳給網(wǎng)絡(luò)層。在網(wǎng)絡(luò)層,將數(shù)據(jù)段封裝IP包頭,即封裝了源IP地址172.26.2.2和目的IP地址172.20.4.1。此時(shí)數(shù)據(jù)段被封裝成了數(shù)據(jù)包。在數(shù)據(jù)鏈路層上,數(shù)據(jù)包被封裝上幀頭,其中源MAC地址是B的MAC地址,但目的地址并不是C的MAC地址,而是與B相鄰的交換機(jī)的虛MAC地址。交換機(jī)收到數(shù)據(jù)幀后,發(fā)現(xiàn)數(shù)據(jù)幀的目標(biāo)MAC是自己的才會(huì)接受,否則會(huì)丟棄該幀。然后,交換機(jī)將解封裝的幀向上交給網(wǎng)絡(luò)層。將數(shù)據(jù)幀傳給路由器的過(guò)程和B傳給交換機(jī)的過(guò)程類(lèi)似,只是封裝的源和目的MAC不同。這里不再贅述。實(shí)際上在整個(gè)數(shù)據(jù)傳輸中,源IP地址和目的IP地址自始自終不會(huì)改變(在沒(méi)有NAT轉(zhuǎn)換的情況下),數(shù)據(jù)在相鄰的網(wǎng)絡(luò)設(shè)備之間傳輸是靠不斷變換的MAC地址進(jìn)行的。
3 出現(xiàn)的問(wèn)題及問(wèn)題分析
A和PC機(jī)可以與服務(wù)器C交換信息,這說(shuō)明三層交換機(jī)和路由器上均配置了正確的路由。但是服務(wù)器B無(wú)法與服務(wù)器C通信,也無(wú)法與PC通信。但可以和本網(wǎng)段其他服務(wù)器通信。這說(shuō)明A的硬件是沒(méi)有問(wèn)題的。只是發(fā)出的數(shù)據(jù)包無(wú)法穿過(guò)交換機(jī)。通過(guò)查看B、A和PC的ARP表,顯示如下:
3.1 B的ARP表
[root@ZYTXMON ~]# arp -a
(172.26.2.254) at 00:0F:44:89:FB:FF [ether] PERM on eth0
(172.26.2.1) at 00:02:55:33:5E:D4 [ether] on eth0
3.2 A的ARP表
ZYTX-S-P650-1.1$ arp -a
ZYTXMON (172.26.2.39) at f0:4d:a2:c:30:43 [ethernet] stored in bucket 16
(172.26.2.254) at 0:f:23:8f:fb:7f [ethernet] stored in bucket 82
3.3 PC的ARP表
C:\Documents and Settings\Administrator>arp -a
Interface: 192.6.1.19 --- 0x10004
Internet Address Physical Address Type
192.6.1.254 00-0f-23-8f-fb-7f dynamic
從ARP表中的網(wǎng)關(guān)和MAC地址的對(duì)應(yīng)關(guān)系可以看出,A和PC的網(wǎng)關(guān)對(duì)應(yīng)的MAC地址和B網(wǎng)關(guān)對(duì)應(yīng)的MAC是不一樣的,也就是說(shuō)B網(wǎng)關(guān)對(duì)應(yīng)的MAC不是三層交換機(jī)的MAC,一定是本網(wǎng)段的另一臺(tái)機(jī)器(假設(shè)定義為K)的MAC。B以為K是自己的網(wǎng)關(guān),不斷地向K發(fā)送數(shù)據(jù)包,所以并沒(méi)有跟交換機(jī)通信,所以信息包不能穿過(guò)交換機(jī)到達(dá)C。那么我們可以判斷這是ARP病毒的癥狀。這種情況一般都是內(nèi)網(wǎng)的某臺(tái)機(jī)器中了ARP病毒,然后這臺(tái)機(jī)器便不斷的發(fā)送欺騙包給所有機(jī)器來(lái)冒充網(wǎng)關(guān),這樣其他機(jī)器就會(huì)把這個(gè)中毒的機(jī)器當(dāng)作網(wǎng)關(guān)而把數(shù)據(jù)包發(fā)給它,而它在接到數(shù)據(jù)包后又沒(méi)有轉(zhuǎn)發(fā)數(shù)據(jù)包到真正的網(wǎng)關(guān)去,ARP病毒使用欺騙的手段是為了竊聽(tīng)內(nèi)網(wǎng)中所有的通信數(shù)據(jù)以達(dá)到它的某種目的。
4 定位發(fā)起ARP攻擊的主機(jī)
首先定位發(fā)出病毒的機(jī)器。我們這里只對(duì)發(fā)起ARP攻擊的主機(jī)的MAC不變的情況進(jìn)行討論。由前面可知,通過(guò)查找B的ARP表可以查到不正確的MAC,再使用NBTSCAN工具可以取到本網(wǎng)段的真實(shí)IP地址、機(jī)器名和MAC地址,如果有ARP攻擊,可以找到裝有ARP攻擊的主機(jī)的IP、機(jī)器名和MAC地址。
5 結(jié)語(yǔ)
(1)指定ARP對(duì)應(yīng)關(guān)系。其實(shí)該方法就是強(qiáng)制指定ARP對(duì)應(yīng)關(guān)系。由于絕大部分ARP欺騙病毒都是針對(duì)網(wǎng)關(guān)MAC地址進(jìn)行攻擊的,使本機(jī)上ARP緩存中存儲(chǔ)的網(wǎng)關(guān)設(shè)備的信息出現(xiàn)紊亂,這樣當(dāng)機(jī)器要上網(wǎng)發(fā)送數(shù)據(jù)包給網(wǎng)關(guān)時(shí)就會(huì)因?yàn)榈刂峰e(cuò)誤而失敗,在B服務(wù)器上執(zhí)行arpd將ARP緩存中的內(nèi)容請(qǐng)空,使用arp-s命令來(lái)添加一條ARP地址對(duì)應(yīng)關(guān)系,執(zhí)行如下:arp s 172.26.2.254 00:01:02:03:04:05,這樣就將網(wǎng)關(guān)地址的IP與正確的MAC地址綁定好了,本機(jī)網(wǎng)絡(luò)連接將恢復(fù)正常了。
(2)除上述方法外,還可以用以下方法。先用arp -d刪除本機(jī)arp表中的172.26.2.254對(duì)應(yīng)的MAC地址,再用arping 172.26.2.254,之后就能在B中得到一個(gè)正確的172.26.2.254映射的MAC地址。
(3)對(duì)于有些ARP病毒在發(fā)送欺騙包時(shí)會(huì)修改自身的MAC地址,這使我們?cè)诳焖倥挪橹卸緳C(jī)器有一定困難。但這可以通過(guò)MAC與IP綁定的方式解決,即所有內(nèi)網(wǎng)機(jī)器的IP都通與MAC綁定的方式分配,這樣所有未登記的不合法MAC就無(wú)法連接到內(nèi)網(wǎng)了。
(4)安裝殺毒軟件并及時(shí)升級(jí),例如:Avria和ClamAV都是比較受歡迎的殺毒軟件而且是免費(fèi)的。
參考文獻(xiàn)
[1] 張宏.網(wǎng)絡(luò)安全基礎(chǔ)[M].機(jī)械工業(yè)出版社.endprint
……
由顯示結(jié)果可以獲得三層交換機(jī)的SVI: 000f.238f.fb7f。
2 主要的通信過(guò)程解析
以B為例,假設(shè)它要發(fā)送一個(gè)文件給服務(wù)器C(以下簡(jiǎn)稱(chēng)C)。
首先,在B的應(yīng)用層上,應(yīng)用程序已經(jīng)準(zhǔn)備好了從B的原端口到C的目的端口的數(shù)據(jù)流。并將數(shù)據(jù)流向下傳給傳輸層處理,傳輸層將應(yīng)用層傳來(lái)的數(shù)據(jù)流進(jìn)行分段,并將每個(gè)數(shù)據(jù)段賦予一個(gè)順序號(hào)以及封裝上原端口號(hào)和目的端口號(hào)。傳輸層將封裝的數(shù)據(jù)段傳給網(wǎng)絡(luò)層。在網(wǎng)絡(luò)層,將數(shù)據(jù)段封裝IP包頭,即封裝了源IP地址172.26.2.2和目的IP地址172.20.4.1。此時(shí)數(shù)據(jù)段被封裝成了數(shù)據(jù)包。在數(shù)據(jù)鏈路層上,數(shù)據(jù)包被封裝上幀頭,其中源MAC地址是B的MAC地址,但目的地址并不是C的MAC地址,而是與B相鄰的交換機(jī)的虛MAC地址。交換機(jī)收到數(shù)據(jù)幀后,發(fā)現(xiàn)數(shù)據(jù)幀的目標(biāo)MAC是自己的才會(huì)接受,否則會(huì)丟棄該幀。然后,交換機(jī)將解封裝的幀向上交給網(wǎng)絡(luò)層。將數(shù)據(jù)幀傳給路由器的過(guò)程和B傳給交換機(jī)的過(guò)程類(lèi)似,只是封裝的源和目的MAC不同。這里不再贅述。實(shí)際上在整個(gè)數(shù)據(jù)傳輸中,源IP地址和目的IP地址自始自終不會(huì)改變(在沒(méi)有NAT轉(zhuǎn)換的情況下),數(shù)據(jù)在相鄰的網(wǎng)絡(luò)設(shè)備之間傳輸是靠不斷變換的MAC地址進(jìn)行的。
3 出現(xiàn)的問(wèn)題及問(wèn)題分析
A和PC機(jī)可以與服務(wù)器C交換信息,這說(shuō)明三層交換機(jī)和路由器上均配置了正確的路由。但是服務(wù)器B無(wú)法與服務(wù)器C通信,也無(wú)法與PC通信。但可以和本網(wǎng)段其他服務(wù)器通信。這說(shuō)明A的硬件是沒(méi)有問(wèn)題的。只是發(fā)出的數(shù)據(jù)包無(wú)法穿過(guò)交換機(jī)。通過(guò)查看B、A和PC的ARP表,顯示如下:
3.1 B的ARP表
[root@ZYTXMON ~]# arp -a
(172.26.2.254) at 00:0F:44:89:FB:FF [ether] PERM on eth0
(172.26.2.1) at 00:02:55:33:5E:D4 [ether] on eth0
3.2 A的ARP表
ZYTX-S-P650-1.1$ arp -a
ZYTXMON (172.26.2.39) at f0:4d:a2:c:30:43 [ethernet] stored in bucket 16
(172.26.2.254) at 0:f:23:8f:fb:7f [ethernet] stored in bucket 82
3.3 PC的ARP表
C:\Documents and Settings\Administrator>arp -a
Interface: 192.6.1.19 --- 0x10004
Internet Address Physical Address Type
192.6.1.254 00-0f-23-8f-fb-7f dynamic
從ARP表中的網(wǎng)關(guān)和MAC地址的對(duì)應(yīng)關(guān)系可以看出,A和PC的網(wǎng)關(guān)對(duì)應(yīng)的MAC地址和B網(wǎng)關(guān)對(duì)應(yīng)的MAC是不一樣的,也就是說(shuō)B網(wǎng)關(guān)對(duì)應(yīng)的MAC不是三層交換機(jī)的MAC,一定是本網(wǎng)段的另一臺(tái)機(jī)器(假設(shè)定義為K)的MAC。B以為K是自己的網(wǎng)關(guān),不斷地向K發(fā)送數(shù)據(jù)包,所以并沒(méi)有跟交換機(jī)通信,所以信息包不能穿過(guò)交換機(jī)到達(dá)C。那么我們可以判斷這是ARP病毒的癥狀。這種情況一般都是內(nèi)網(wǎng)的某臺(tái)機(jī)器中了ARP病毒,然后這臺(tái)機(jī)器便不斷的發(fā)送欺騙包給所有機(jī)器來(lái)冒充網(wǎng)關(guān),這樣其他機(jī)器就會(huì)把這個(gè)中毒的機(jī)器當(dāng)作網(wǎng)關(guān)而把數(shù)據(jù)包發(fā)給它,而它在接到數(shù)據(jù)包后又沒(méi)有轉(zhuǎn)發(fā)數(shù)據(jù)包到真正的網(wǎng)關(guān)去,ARP病毒使用欺騙的手段是為了竊聽(tīng)內(nèi)網(wǎng)中所有的通信數(shù)據(jù)以達(dá)到它的某種目的。
4 定位發(fā)起ARP攻擊的主機(jī)
首先定位發(fā)出病毒的機(jī)器。我們這里只對(duì)發(fā)起ARP攻擊的主機(jī)的MAC不變的情況進(jìn)行討論。由前面可知,通過(guò)查找B的ARP表可以查到不正確的MAC,再使用NBTSCAN工具可以取到本網(wǎng)段的真實(shí)IP地址、機(jī)器名和MAC地址,如果有ARP攻擊,可以找到裝有ARP攻擊的主機(jī)的IP、機(jī)器名和MAC地址。
5 結(jié)語(yǔ)
(1)指定ARP對(duì)應(yīng)關(guān)系。其實(shí)該方法就是強(qiáng)制指定ARP對(duì)應(yīng)關(guān)系。由于絕大部分ARP欺騙病毒都是針對(duì)網(wǎng)關(guān)MAC地址進(jìn)行攻擊的,使本機(jī)上ARP緩存中存儲(chǔ)的網(wǎng)關(guān)設(shè)備的信息出現(xiàn)紊亂,這樣當(dāng)機(jī)器要上網(wǎng)發(fā)送數(shù)據(jù)包給網(wǎng)關(guān)時(shí)就會(huì)因?yàn)榈刂峰e(cuò)誤而失敗,在B服務(wù)器上執(zhí)行arpd將ARP緩存中的內(nèi)容請(qǐng)空,使用arp-s命令來(lái)添加一條ARP地址對(duì)應(yīng)關(guān)系,執(zhí)行如下:arp s 172.26.2.254 00:01:02:03:04:05,這樣就將網(wǎng)關(guān)地址的IP與正確的MAC地址綁定好了,本機(jī)網(wǎng)絡(luò)連接將恢復(fù)正常了。
(2)除上述方法外,還可以用以下方法。先用arp -d刪除本機(jī)arp表中的172.26.2.254對(duì)應(yīng)的MAC地址,再用arping 172.26.2.254,之后就能在B中得到一個(gè)正確的172.26.2.254映射的MAC地址。
(3)對(duì)于有些ARP病毒在發(fā)送欺騙包時(shí)會(huì)修改自身的MAC地址,這使我們?cè)诳焖倥挪橹卸緳C(jī)器有一定困難。但這可以通過(guò)MAC與IP綁定的方式解決,即所有內(nèi)網(wǎng)機(jī)器的IP都通與MAC綁定的方式分配,這樣所有未登記的不合法MAC就無(wú)法連接到內(nèi)網(wǎng)了。
(4)安裝殺毒軟件并及時(shí)升級(jí),例如:Avria和ClamAV都是比較受歡迎的殺毒軟件而且是免費(fèi)的。
參考文獻(xiàn)
[1] 張宏.網(wǎng)絡(luò)安全基礎(chǔ)[M].機(jī)械工業(yè)出版社.endprint
……
由顯示結(jié)果可以獲得三層交換機(jī)的SVI: 000f.238f.fb7f。
2 主要的通信過(guò)程解析
以B為例,假設(shè)它要發(fā)送一個(gè)文件給服務(wù)器C(以下簡(jiǎn)稱(chēng)C)。
首先,在B的應(yīng)用層上,應(yīng)用程序已經(jīng)準(zhǔn)備好了從B的原端口到C的目的端口的數(shù)據(jù)流。并將數(shù)據(jù)流向下傳給傳輸層處理,傳輸層將應(yīng)用層傳來(lái)的數(shù)據(jù)流進(jìn)行分段,并將每個(gè)數(shù)據(jù)段賦予一個(gè)順序號(hào)以及封裝上原端口號(hào)和目的端口號(hào)。傳輸層將封裝的數(shù)據(jù)段傳給網(wǎng)絡(luò)層。在網(wǎng)絡(luò)層,將數(shù)據(jù)段封裝IP包頭,即封裝了源IP地址172.26.2.2和目的IP地址172.20.4.1。此時(shí)數(shù)據(jù)段被封裝成了數(shù)據(jù)包。在數(shù)據(jù)鏈路層上,數(shù)據(jù)包被封裝上幀頭,其中源MAC地址是B的MAC地址,但目的地址并不是C的MAC地址,而是與B相鄰的交換機(jī)的虛MAC地址。交換機(jī)收到數(shù)據(jù)幀后,發(fā)現(xiàn)數(shù)據(jù)幀的目標(biāo)MAC是自己的才會(huì)接受,否則會(huì)丟棄該幀。然后,交換機(jī)將解封裝的幀向上交給網(wǎng)絡(luò)層。將數(shù)據(jù)幀傳給路由器的過(guò)程和B傳給交換機(jī)的過(guò)程類(lèi)似,只是封裝的源和目的MAC不同。這里不再贅述。實(shí)際上在整個(gè)數(shù)據(jù)傳輸中,源IP地址和目的IP地址自始自終不會(huì)改變(在沒(méi)有NAT轉(zhuǎn)換的情況下),數(shù)據(jù)在相鄰的網(wǎng)絡(luò)設(shè)備之間傳輸是靠不斷變換的MAC地址進(jìn)行的。
3 出現(xiàn)的問(wèn)題及問(wèn)題分析
A和PC機(jī)可以與服務(wù)器C交換信息,這說(shuō)明三層交換機(jī)和路由器上均配置了正確的路由。但是服務(wù)器B無(wú)法與服務(wù)器C通信,也無(wú)法與PC通信。但可以和本網(wǎng)段其他服務(wù)器通信。這說(shuō)明A的硬件是沒(méi)有問(wèn)題的。只是發(fā)出的數(shù)據(jù)包無(wú)法穿過(guò)交換機(jī)。通過(guò)查看B、A和PC的ARP表,顯示如下:
3.1 B的ARP表
[root@ZYTXMON ~]# arp -a
(172.26.2.254) at 00:0F:44:89:FB:FF [ether] PERM on eth0
(172.26.2.1) at 00:02:55:33:5E:D4 [ether] on eth0
3.2 A的ARP表
ZYTX-S-P650-1.1$ arp -a
ZYTXMON (172.26.2.39) at f0:4d:a2:c:30:43 [ethernet] stored in bucket 16
(172.26.2.254) at 0:f:23:8f:fb:7f [ethernet] stored in bucket 82
3.3 PC的ARP表
C:\Documents and Settings\Administrator>arp -a
Interface: 192.6.1.19 --- 0x10004
Internet Address Physical Address Type
192.6.1.254 00-0f-23-8f-fb-7f dynamic
從ARP表中的網(wǎng)關(guān)和MAC地址的對(duì)應(yīng)關(guān)系可以看出,A和PC的網(wǎng)關(guān)對(duì)應(yīng)的MAC地址和B網(wǎng)關(guān)對(duì)應(yīng)的MAC是不一樣的,也就是說(shuō)B網(wǎng)關(guān)對(duì)應(yīng)的MAC不是三層交換機(jī)的MAC,一定是本網(wǎng)段的另一臺(tái)機(jī)器(假設(shè)定義為K)的MAC。B以為K是自己的網(wǎng)關(guān),不斷地向K發(fā)送數(shù)據(jù)包,所以并沒(méi)有跟交換機(jī)通信,所以信息包不能穿過(guò)交換機(jī)到達(dá)C。那么我們可以判斷這是ARP病毒的癥狀。這種情況一般都是內(nèi)網(wǎng)的某臺(tái)機(jī)器中了ARP病毒,然后這臺(tái)機(jī)器便不斷的發(fā)送欺騙包給所有機(jī)器來(lái)冒充網(wǎng)關(guān),這樣其他機(jī)器就會(huì)把這個(gè)中毒的機(jī)器當(dāng)作網(wǎng)關(guān)而把數(shù)據(jù)包發(fā)給它,而它在接到數(shù)據(jù)包后又沒(méi)有轉(zhuǎn)發(fā)數(shù)據(jù)包到真正的網(wǎng)關(guān)去,ARP病毒使用欺騙的手段是為了竊聽(tīng)內(nèi)網(wǎng)中所有的通信數(shù)據(jù)以達(dá)到它的某種目的。
4 定位發(fā)起ARP攻擊的主機(jī)
首先定位發(fā)出病毒的機(jī)器。我們這里只對(duì)發(fā)起ARP攻擊的主機(jī)的MAC不變的情況進(jìn)行討論。由前面可知,通過(guò)查找B的ARP表可以查到不正確的MAC,再使用NBTSCAN工具可以取到本網(wǎng)段的真實(shí)IP地址、機(jī)器名和MAC地址,如果有ARP攻擊,可以找到裝有ARP攻擊的主機(jī)的IP、機(jī)器名和MAC地址。
5 結(jié)語(yǔ)
(1)指定ARP對(duì)應(yīng)關(guān)系。其實(shí)該方法就是強(qiáng)制指定ARP對(duì)應(yīng)關(guān)系。由于絕大部分ARP欺騙病毒都是針對(duì)網(wǎng)關(guān)MAC地址進(jìn)行攻擊的,使本機(jī)上ARP緩存中存儲(chǔ)的網(wǎng)關(guān)設(shè)備的信息出現(xiàn)紊亂,這樣當(dāng)機(jī)器要上網(wǎng)發(fā)送數(shù)據(jù)包給網(wǎng)關(guān)時(shí)就會(huì)因?yàn)榈刂峰e(cuò)誤而失敗,在B服務(wù)器上執(zhí)行arpd將ARP緩存中的內(nèi)容請(qǐng)空,使用arp-s命令來(lái)添加一條ARP地址對(duì)應(yīng)關(guān)系,執(zhí)行如下:arp s 172.26.2.254 00:01:02:03:04:05,這樣就將網(wǎng)關(guān)地址的IP與正確的MAC地址綁定好了,本機(jī)網(wǎng)絡(luò)連接將恢復(fù)正常了。
(2)除上述方法外,還可以用以下方法。先用arp -d刪除本機(jī)arp表中的172.26.2.254對(duì)應(yīng)的MAC地址,再用arping 172.26.2.254,之后就能在B中得到一個(gè)正確的172.26.2.254映射的MAC地址。
(3)對(duì)于有些ARP病毒在發(fā)送欺騙包時(shí)會(huì)修改自身的MAC地址,這使我們?cè)诳焖倥挪橹卸緳C(jī)器有一定困難。但這可以通過(guò)MAC與IP綁定的方式解決,即所有內(nèi)網(wǎng)機(jī)器的IP都通與MAC綁定的方式分配,這樣所有未登記的不合法MAC就無(wú)法連接到內(nèi)網(wǎng)了。
(4)安裝殺毒軟件并及時(shí)升級(jí),例如:Avria和ClamAV都是比較受歡迎的殺毒軟件而且是免費(fèi)的。
參考文獻(xiàn)
[1] 張宏.網(wǎng)絡(luò)安全基礎(chǔ)[M].機(jī)械工業(yè)出版社.endprint