文章提交:refdom (refdom_at_263.net)
乙太網內的嗅探(sniff)對於網路安全來說並不是什麼好事,雖然對於網路管理員能夠跟蹤資料報並且發現
網路問題,但是如果被破壞者利用的話,就對整個網路構成嚴重的安全威脅。至於嗅探的好處和壞處就不羅嗦了。
arp快取表
假設這樣乙個網路:
——————————
| 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
假設b是屬於乙個嗅探愛好者的,比如a機器的arp快取:
c:/>arp -a
inte***ce: 192.168.10.1 on inte***ce 0x1000003
internet address physical address type
192.168.10.3 cc-cc-cc-cc-cc-cc dynamic
這是192.168.10.1機器上的arp快取表,假設,a進行一次ping 192.168.10.3操作,ping主機c,會查詢本地的
arp快取表,找到c的ip位址的mac位址,那麼就會進行資料傳輸,目的地就是c 的mac位址。如果a中沒有c的arp記
錄,那麼a首先要廣播一次arp請求,當c接收到a 的請求後就傳送乙個應答,應答中包含有c的mac位址,然後a接
收到c的應答,就會更新本地的arp快取。接著使用這個mac位址傳送資料(由網絡卡附加mac位址)。
因此,本地快取記憶體的這個arp表是本地網路流通的基礎,而且這個快取是動態的。
集線器網路(hub-based)
很多網路都是用hub進行連線的。資料報經過hub傳輸到其他計算機的時候,hub只是簡單地把這個資料報廣播
到hub的所有埠上。
這就是上面舉例中的一種網路結構。
現在a需要傳送tcp資料報給c。首先,a需要檢查本地的arp 快取表,檢視是否有ip為192.168.10.3即c的arp記
錄,如果沒有那麼a將要廣播乙個arp請求,當c接收到這個請求後,就作出應答,然後a更新自己的arp快取表。並
且獲得與c的ip相對應的mac位址。這時就傳輸這個tcp資料報,ethernet幀中就包含了c的mac位址。當資料報傳輸
到hub的時候,hub直接把整個資料報廣播到所有的埠,然後c就能夠接收到a傳送的資料報。
正因為hub把資料廣播到所有的埠,所以計算機b也能夠收到a傳送給c的資料報。這正是達到了b嗅探的目的。
因此,hub-based的網路基本沒有安全可言,嗅探在這樣的網路中非常容易。
交換網路(switched lan)
交換機用來代替hub,正是為了能夠解決hub的幾個安全問題,其中就是能夠來解決嗅探問題。switch不是把數
據包進行埠廣播,它將通過自己的arp快取來決定資料報傳輸到那個埠上。因此,在交換網路上,如果把上面
例子中的hub換為switch,b就不會接收到a傳送給c的資料報,即便設定網絡卡為混雜模式,也不能進行嗅探。
arp欺騙( arp spoofing)
arp協議並不只在傳送了arp請求才接收arp應答。當計算機接收到arp應答資料報的時候,就會對本地的arp快取
進行更新,將應答中的ip和mac位址儲存在arp快取中。因此,在上面的假設網路中,b向a傳送乙個自己偽造的arp應
答,而這個應答中的資料為傳送方ip位址是192.168.10.3(c的ip位址),mac位址是dd-dd-dd-dd-dd-dd(c的mac地
址本來應該是cc-cc-cc-cc-cc-cc,這裡被偽造了)。當a接收到b偽造的arp應答,就會更新本地的arp快取(a可不
知道被偽造了)。
現在a機器的arp快取更新了:
c:/>arp -a
inte***ce: 192.168.10.1 on inte***ce 0x1000003
internet address physical address type
192.168.10.3 dd-dd-dd-dd-dd-dd dynamic
這可不是小事。區域網的網路流通可不是根據ip位址進行,而是按照mac位址進行傳輸。現在192.168.10.3的
mac位址在a上被改變成乙個本不存在的mac位址。現在a開始ping 192.168.10.3,網絡卡遞交的mac位址是
dd-dd-dd-dd-dd-dd,結果是什麼呢?網路不通,a根本不能ping通c!!
這就是乙個簡單的arp欺騙。
我們來實現這樣的arp欺騙。這裡需要使用乙個winpcap提供的api和驅動。(http://winpcap.polito.it/)
winpcap是乙個偉大而且開放的專案。windows環境下的nmap、snort、windump都是使用的winpcap。
/////
// arp sender
//// creator: refdom
// email: [email protected]
// home page: www.opengram.com
無ARP欺騙的嗅探技術
arp欺騙的攻擊和防禦技術都比較成熟了,這裡也不再闡述。此次重點講解如何不用arp欺騙進行嗅探以及會話劫持的技術原理,實際的攻擊方法是進行mac欺騙。一 原理 在開始之前我們先簡單了解一下交換機 過程 交換機的乙個埠收到乙個資料幀時,首先檢查改資料幀的目的mac位址在mac位址表 cam 對應的埠,...
無ARP欺騙的嗅探技術
arp欺騙的攻擊和防禦技術都比較成熟了,這裡也不再闡述。此次重點講解如何不用arp欺騙進行嗅探以及會話劫持的技術原理,實際的攻擊方法是進行mac欺騙。一 原理 在開始之前我們先簡單了解一下交換機 過程 交換機的乙個埠收到乙個資料幀時,首先檢查改資料幀的目的mac位址在mac位址表 cam 對應的埠,...
利用arp發現網路中的嗅探器
1.sniffer原理 所謂知己知彼方能百戰不殆,要了解探測sniffer的方法,就先得了解sniffer的原理。首先,讓我們來看一看區域網中是怎樣傳輸資料的。當乙個資料報的目的地是區域網內的某台計算機時,此資料報將以廣播的形式被傳送到網內每一台計算機上。而每台計算機的網絡卡將分析資料報中的目的ma...