SNIFFER(嗅探器)基礎知識

2021-04-13 07:22:31 字數 4006 閱讀 7880

sniffer(嗅探器)-簡介

sniffer(嗅探器)是一種常用的收集有用資料方法,這些資料可以是使用者的帳號和密碼,可以是一些商用機密資料等等。snifffer可以作為能夠捕獲網路報文的裝置,iss為sniffer這樣定義:sniffer是利用計算機的網路介面截獲目的地為其他計算機的資料報文的一種工具。

嗅探器與一般的鍵盤捕獲程式不同。鍵盤捕獲程式捕獲在終端上輸入的鍵值,而嗅探器則捕獲真實的網路報文。

為了對sniffer的工作原理有乙個深入的了解,我們先簡單介紹一下hub與網絡卡的原理。

預備知識

hub工作原理

由於乙太網等很多網路(常見共享hub連線的內部網)是基於匯流排方式,物理上是廣播的,就是當乙個機器發給另乙個機器的資料,共享hub先收到然後把它接收到的資料再發給其他的(來的那個口不發了)每乙個口,所以在共享hub下面同一網段的所有機器的網絡卡都能接收到資料。

交換式hub的內部單片程式能記住每個口的mac位址,以後就該哪個機器接收就發往哪個口,而不是像共享hub那樣發給所有的口,所以交換hub下只有該接收資料的機器的網絡卡能接收到資料,當然廣播包還是發往所有口。顯然共享hub的工作模式使得兩個機器傳輸資料的時候其他機器別的口也占用了,所以共享hub決定了同一網段同一時間只能有兩個機器進行資料通訊,而交換hub兩個機器傳輸資料的時候別的口沒有占用,所以別的口之間也可以同時傳輸。這就是共享hub與交換hub不同的兩個地方,共享hub是同一時間只能乙個機器發資料並且所有機器都可以接收,只要不是廣播資料交換hub同一時間可以有對機器進行資料傳輸並且資料是私有的。

網絡卡工作原理

再講講網絡卡的工作原理。網絡卡收到傳輸來的資料,網絡卡內的單片程式先接收資料頭的目的mac位址,根據計算機上的網絡卡驅動程式設定的接收模式判斷該不該接收,認為該接收就在接收後產生中斷訊號通知cpu,認為不該接收就丟棄不管,所以不該接收的資料網絡卡就截斷了,計算機根本就不知道。cpu得到中斷訊號產生中斷,作業系統就根據網絡卡驅動程式中設定的網絡卡中斷程式位址呼叫驅動程式接收資料,驅動程式接收資料後放入訊號堆疊讓作業系統處理。

區域網如何工作

資料在網路上是以很小的稱為幀(frame)的單位傳輸的幀由好幾部分組成,不同的部分執行不同的功能。(例如,乙太網的前12個位元組存放的是源和目的的位址,這些位告訴網路:資料的**和去處。乙太網幀的其他部分存放實際的使用者資料、tcp/ip的報文頭或ipx報文頭等等)。

幀通過特定的網路驅動程式進行成型,然後通過網絡卡傳送到網線上。通過網線到達它們的目的機器,在目的機器的一端執行相反的過程。接收端機器的乙太網卡捕獲到這些幀,並告訴作業系統幀的到達,然後對其進行儲存。就是在這個傳輸和接收的過程中,嗅探器會造成安全方面的問題。

通常在區域網(lan)中同乙個網段的所有網路介面都有訪問在物理**上傳輸的所有資料的能力,而每個網路介面都還應該有乙個硬體位址,該硬體位址不同於網路中存在的其他網路介面的硬體位址,同時,每個網路至少還要乙個廣播位址。(代表所有的介面位址),在正常情況下,乙個合法的網路介面應該只響應這樣的兩種資料幀:

1、幀的目標區域具有和本地網路介面相匹配的硬體位址。

2、幀的目標區域具有「廣播位址」。

在接受到上面兩種情況的資料報時,網**過cpu產生乙個硬體中斷,該中斷能引起作業系統注意,然後將幀中所包含的資料傳送給系統進一步處理。

當採用共享hub,使用者傳送乙個報文時,這些報文就會傳送到lan上所有可用的機器。在一般情況下,網路上所有的機器都可以「聽」到通過的流量,但對不屬於自己的報文則不予響應(換句話說,工作站a不會捕獲屬於工作站b的資料,而是簡單的忽略這些資料)。

如果區域網中某台機器的網路介面處於雜收(promiscuous)模式(即網絡卡可以接收其收到的所有資料報,下面會詳細地講),那麼它就可以捕獲網路上所有的報文和幀,如果一台機器被配置成這樣的方式,它(包括其軟體)就是乙個嗅探器。

sniffer

sniffer原理

有了這hub、網絡卡的工作原理就可以開始講講sniffer。首先,要知道sniffer要捕獲的東西必須是要物理訊號能收到的報文資訊。顯然只要通知網絡卡接收其收到的所有包(一般叫作雜收promiscuous模式:指網路上的所有裝置都對匯流排上傳送的資料進行偵聽,並不僅僅是它們自己的資料。),在共享hub下就能接收到這個網段的所有包,但是交換hub下就只能是自己的包加上廣播包。

要想在交換hub下接收別人的包,那就要讓其發往你的機器所在口。交換hub記住乙個口的mac是通過接收來自這個口的資料後並記住其源mac,就像乙個機器的ip與mac對應的arp列表,交換hub維護乙個物理口(就是hub上的網線插口,這之後提到的所有hub口都是指網線插口)與mac的表,所以可以欺騙交換hub的。可以發乙個包設定源mac是你想接收的機器的mac,那麼交換hub就把你機器的網線插的物理口與那個mac對應起來了,以後發給那個mac的包就發往你的網線插口了,也就是你的網絡卡可以sniffer到了。注意這物理口與mac的表與機器的arp表一樣是動態重新整理的,那機器發包後交換hub就又記住他的口了,所以實際上是兩個在爭,這只能應用在只要收聽少量包就可以的場合。

內部網基於ip的通訊可以用arp欺騙別人機器讓其傳送給你的機器,如果要想不影響原來兩方的通訊,可以欺騙兩方,讓其都發給你的機器再由你的機器**,相當於做中間人,這用arp加上程式設計很容易實現。並且現在很多裝置支援遠端管理,有很多交換hub可以設定乙個口監聽別的口,不過這就要管理許可權了。

利用這一點,可以將一台計算機的網路連線設定為接受所有乙太網匯流排上的資料,從而實現sniffer。sniffer就是一種能將本地網絡卡狀態設成『雜收』狀態的軟體,當網絡卡處於這種「雜收」方式時,該網絡卡具備「廣播位址」,它對遇到的每乙個幀都產生乙個硬體中斷以便提醒作業系統處理流經該物理**上的每乙個報文包。(絕大多數的網絡卡具備置成雜收方式的能力)

可見,sniffer工作在網路環境中的底層,它會攔截所有的正在網路上傳送的資料,並且通過相應的軟體處理,可以實時分析這些資料的內容,進而分析所處的網路狀態和整體布局。值得注意的是:sniffer是極其安靜的,它是一種消極的安全攻擊。

嗅探器在功能和設計方面有很多不同。有些只能分析一種協議,而另一些可能能夠分析幾百種協議。一般情況下,大多數的嗅探器至少能夠分析下面的協議:標準乙太網、tcp/ip、ipx、decnet。

嗅探器造成的危害

sniffing是作用在網路基礎結構的底層。通常情況下, 使用者並不直接和該層打交道,有些甚至不知道有這一層存在。所以,應該說snffer的危害是相當之大的,通常,使用sniffer是在網路中進行欺騙的開始。它可能造成的危害:

嗅探器能夠捕獲口令。這大概是絕大多數非法使用sniffer的理由,sniffer可以記錄到明文傳送的userid和passwd。

能夠捕獲專用的或者機密的資訊。比如金融帳號,許多使用者很放心在網上使用自己的信用卡或現金帳號,然而sniffer可以很輕鬆截獲在網上傳送的使用者姓名、口令、信用卡號碼、截止日期、帳號和pin。比如**機密或敏感的資訊資料,通過攔截資料報,入侵者可以很方便記錄別人之間敏感的資訊傳送,或者乾脆攔截整個的email會話過程。

可以用來危害網路鄰居的安全,或者用來獲取更高階別的訪問許可權。

窺探低階的協議資訊。

這是很可怕的事,通過對底層的資訊協議記錄,比如記錄兩台主機之間的網路介面位址、遠端網路介面ip位址、ip路由資訊和tcp連線的位元組順序號碼等。這些資訊由非法入侵的人掌握後將對網路安全構成極大的危害,通常有人用sniffer收集這些資訊只有乙個原因:他正要進行一次欺騙(通常的ip位址欺騙就要求你準確插入tcp連線的位元組順序號),如果某人很關心這個問題,那麼sniffer對他來說只是前奏,今後的問題要大得多。(對於高階的hacker而言,我想這是使用sniffer的唯一理由吧)

事實上,如果你在網路上存在非授權的嗅探器就意味著你的系統已經暴露在別人面前了。

一般sniffer只嗅探每個報文的前200到300個位元組。使用者名稱和口令都包含在這一部分中,這是我們關心的真正部分。工人,也可以嗅探給定介面上的所有報文,如果有足夠的空間進行儲存,有足夠的那裡進行處理的話,將會發現另一些非常有趣的東西……

簡單的放置乙個嗅探器並將其放到隨便什麼地方將不會起到什麼作用。將嗅探器放置於被攻擊機器或網路附近,這樣將捕獲到很多口令,還有乙個比較好的方法就是放在閘道器上。sniffer通常執行在路由器,或有路由器功能的主機上。這樣就能對大量的資料進行監控。sniffer屬第二層次的攻擊。通常是攻擊者已經進入了目標系統,然後使用sniffer這種攻擊手段,以便得到更多的資訊。如果這樣的話就能捕獲網路和其他網路進行身份鑑別的過程。

封包探嗅器 Sniffer

www.xker.com 1.什麼是封包探嗅器 23120264395911182538www.xker.com38651142461330643630 4.何謂mac media access control 在多部計算機共同分享同一條以太網路線的環境下,每台計算機都有乙個獨一無二的身份驗證碼,這...

嗅探器專題

嗅探器專題 一 sniffer概念 1 sniffer定義 iss為sniffer這樣定義 sniffer是利用計算機的網路介面截獲目的地為其他計算機的資料報文的一種工具。2 sniffer的用途 1 sniffer 嗅探器 是一種常用的收集有用資料方法,這些資料可以是使用者的帳號和密碼,可以是一些...

網路嗅探器

網路嗅探器 把網絡卡設定成混雜模式,並可實現對網路上傳輸的資料報的捕獲與分析。原理 通常的套接字程式只能響應與自己mac位址相匹配的 或者是 廣播形式發出的資料幀,對於其他形式的資料幀網路介面採取的動作是直接丟棄 為了使網絡卡接收所有經過他的封包,要將其設定成混雜模式,通過原始套接字來實現。設定混雜...