交換網(wǎng)絡(luò)中的嗅探與ARP欺騙_ARP原理
發(fā)表時間:2023-07-11 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]以太網(wǎng)內(nèi)的嗅探(sniff)對于網(wǎng)絡(luò)安全來說并不是什么好事, 雖然對于網(wǎng)絡(luò)管理員能夠跟蹤數(shù)據(jù)包并且發(fā)現(xiàn) 網(wǎng)絡(luò)問題, 但是如果被破壞者利用的話, 就對整個網(wǎng)絡(luò)構(gòu)成嚴(yán)重的安全威脅。 至于嗅探的好處和...
以太網(wǎng)內(nèi)的嗅探(sniff)對于網(wǎng)絡(luò)安全來說并不是什么好事, 雖然對于網(wǎng)絡(luò)管理員能夠跟蹤數(shù)據(jù)包并且發(fā)現(xiàn)
網(wǎng)絡(luò)問題, 但是如果被破壞者利用的話, 就對整個網(wǎng)絡(luò)構(gòu)成嚴(yán)重的安全威脅。 至于嗅探的好處和壞處就不羅嗦了。
ARP緩存表
假設(shè)這樣一個網(wǎng)絡(luò):
――――――――――
HUB
――――――――――
HostA HostB HostC
其中
A的地址為:IP:192.168.10.1 MAC: AA-AA-AA-AA-AA-AA
B的地址為:IP:192.168.10.2 MAC: BB-BB-BB-BB-BB-BB
C的地址為:IP:192.168.10.3 MAC: CC-CC-CC-CC-CC-CC
假設(shè)B是屬于一個嗅探愛好者的, 比如A機(jī)器的ARP緩存:
C:\>arp -a
Interface: 192.168.10.1 on Interface 0x1000003
Internet Address Physical Address Type
192.168.10.3 CC-CC-CC-CC-CC-CC dynamic
這是192.168.10.1機(jī)器上的ARP緩存表, 假設(shè), A進(jìn)行一次ping 192.168.10.3操作, PING主機(jī)C, 會查詢本地的
ARP緩存表, 找到C的IP地址的MAC地址, 那么就會進(jìn)行數(shù)據(jù)傳輸, 目的地就是C 的MAC地址。 如果A中沒有C的ARP記
錄, 那么A首先要廣播一次ARP請求, 當(dāng)C接收到A 的請求后就發(fā)送一個應(yīng)答, 應(yīng)答中包含有C的MAC地址, 然后A接
收到C的應(yīng)答, 就會更新本地的ARP緩存。 接著使用這個MAC地址發(fā)送數(shù)據(jù)(由網(wǎng)卡附加MAC地址)。
因此, 本地高速緩存的這個ARP表是本地網(wǎng)絡(luò)流通的基礎(chǔ), 而且這個緩存是動態(tài)的。
集線器網(wǎng)絡(luò)(Hub-Based)
很多網(wǎng)絡(luò)都是用Hub進(jìn)行連接的。 數(shù)據(jù)包經(jīng)過Hub傳輸?shù)狡渌嬎銠C(jī)的時候, Hub只是簡單地把這個數(shù)據(jù)包廣播
到Hub的所有端口上。
這就是上面舉例中的一種網(wǎng)絡(luò)結(jié)構(gòu)。
現(xiàn)在A需要發(fā)送TCP數(shù)據(jù)包給C。 首先, A需要檢查本地的ARP 緩存表, 查看是否有IP為192.168.10.3即C的ARP記
錄, 如果沒有那么A將要廣播一個ARP請求, 當(dāng)C接收到這個請求后, 就作出應(yīng)答, 然后A更新自己的ARP緩存表。 并
且獲得與C的IP相對應(yīng)的MAC地址。 這時就傳輸這個TCP數(shù)據(jù)包, Ethernet幀中就包含了C的MAC地址。 當(dāng)數(shù)據(jù)包傳輸
到HUB的時候, HUB直接把整個數(shù)據(jù)包廣播到所有的端口, 然后C就能夠接收到A發(fā)送的數(shù)據(jù)包。
正因?yàn)镠UB把數(shù)據(jù)廣播到所有的端口, 所以計算機(jī)B也能夠收到A發(fā)送給C的數(shù)據(jù)包。 這正是達(dá)到了B嗅探的目的。
因此, Hub-Based的網(wǎng)絡(luò)基本沒有安全可言, 嗅探在這樣的網(wǎng)絡(luò)中非常容易。
交換網(wǎng)絡(luò)(Switched Lan)
交換機(jī)用來代替HUB, 正是為了能夠解決HUB的幾個安全問題, 其中就是能夠來解決嗅探問題。 Switch不是把數(shù)
據(jù)包進(jìn)行端口廣播, 它將通過自己的ARP緩存來決定數(shù)據(jù)包傳輸?shù)侥莻端口上。 因此, 在交換網(wǎng)絡(luò)上, 如果把上面
例子中的HUB換為Switch, B就不會接收到A發(fā)送給C的數(shù)據(jù)包, 即便設(shè)置網(wǎng)卡為混雜模式, 也不能進(jìn)行嗅探。
ARP欺騙( ARP spoofing)
ARP協(xié)議并不只在發(fā)送了ARP請求才接收ARP應(yīng)答。 當(dāng)計算機(jī)接收到ARP應(yīng)答數(shù)據(jù)包的時候, 就會對本地的ARP緩存
進(jìn)行更新, 將應(yīng)答中的IP和MAC地址存儲在ARP緩存中。 因此, 在上面的假設(shè)網(wǎng)絡(luò)中, B向A發(fā)送一個自己偽造的ARP應(yīng)
答, 而這個應(yīng)答中的數(shù)據(jù)為發(fā)送方IP地址是192.168.10.3(C的IP地址), MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地
址本來應(yīng)該是CC-CC-CC-CC-CC-CC, 這里被偽造了)。 當(dāng)A接收到B偽造的ARP應(yīng)答, 就會更新本地的ARP緩存(A可不
知道被偽造了)。
現(xiàn)在A機(jī)器的ARP緩存更新了:
C:\>arp -a
Interface: 192.168.10.1 on Interface 0x1000003
Internet Address Physical Address Type
192.168.10.3 DD-DD-DD-DD-DD-DD dynamic
這可不是小事。 局域網(wǎng)的網(wǎng)絡(luò)流通可不是根據(jù)IP地址進(jìn)行, 而是按照MAC地址進(jìn)行傳輸。 現(xiàn)在192.168.10.3的
MAC地址在A上被改變成一個本不存在的MAC地址。 現(xiàn)在A開始Ping 192.168.10.3, 網(wǎng)卡遞交的MAC地址是
DD-DD-DD-DD-DD-DD, 結(jié)果是什么呢?網(wǎng)絡(luò)不通, A根本不能Ping通C!!
這就是一個簡單的ARP欺騙。
上面是電腦上網(wǎng)安全的一些基礎(chǔ)常識,學(xué)習(xí)了安全知識,幾乎可以讓你免費(fèi)電腦中毒的煩擾。