国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

嗅探原理與反嗅探技術詳解
2007-07-28   天極論壇

一.嗅探器的基礎知識

1.1 什么是嗅探器?

嗅探器的英文寫法是Sniff,可以理解為一個安裝在計算機上的竊聽設備它可以用來竊聽計算機在網絡上所產生的眾多的信息。簡單一點解釋:一部電話的竊聽裝置, 可以用來竊聽雙方通話的內容,而計算機網絡嗅探器則可以竊聽計算機程序在網絡上發送和接收到的數據。

可是,計算機直接所傳送的數據,事實上是大量的二進制數據。因此, 一個網絡竊聽程序必須也使用特定的網絡協議來分解嗅探到的數據,嗅探器也就必須能夠識別出那個協議對應于這個數據片斷,只有這樣才能夠進行正確的解碼。

計算機的嗅探器比起電話竊聽器,有他獨特的優勢:很多的計算機網絡采用的是“共享媒體"。 也就是說,你不必中斷他的通訊,并且配置特別的線路,再安裝嗅探器,你幾乎可以在任何連接著的網絡上直接竊聽到你同一掩碼范圍內的計算機網絡數據。我們稱這種竊聽方式為“基于混雜模式的嗅探”(promiscuous mode) 。 盡管如此,這種“共享” 的技術發展的很快,慢慢轉向“交換” 技術,這種技術會長期內會繼續使用下去, 它可以實現有目的選擇的收發數據。

1.2嗅探器是如何工作的

1.2.1如何竊聽網絡上的信息

剛才說了,以太網的數據傳輸是基于“共享”原理的:所有的同一本地網范圍內的計算機共同接收到相同的數據包。這意味著計算機直接的通訊都是透明可見的。

正是因為這樣的原因,以太網卡都構造了硬件的“過濾器”這個過濾器將忽略掉一切和自己無關的網絡信息。事實上是忽略掉了與自身MAC地址不符合的信息。

嗅探程序正是利用了這個特點,它主動的關閉了這個嗅探器,也就是前面提到的設置網卡“混雜模式”。因此,嗅探程序就能夠接收到整個以太網內的網絡數據了信息了。

1.2.2什么是以太網的MAC地址

MAC:Media Access Control.

由于大量的計算機在以太網內“共享“數據流,所以必須有一個統一的辦法用來區分傳遞給不同計算機的數據流的。這種問題不會發生在撥號用戶身上,因為計算機會假定一切數據都由你發動給modem然后通過電話線傳送出去。可是,當你發送數據到以太網上的時候,你必須弄清楚,哪臺計算機是你發送數據的對象。的確,現在有大量的雙向通訊程序出現了,看上去,他們好像只會在兩臺機器內交換信息,可是你要明白,以太網的信息是共享的,其他用戶,其實一樣接收到了你發送的數據,只不過是被過濾器給忽略掉了。

MAC地址是由一組6個16進制數組成的,它存在于每一塊以太網卡中。后面的章節將告訴你如何查看自己計算機的MAC地址。

如果你對網絡結構不太熟悉,建議參考一下OSI 7-Layer Model,這將有助于你理解后面的東西以太網所使用的協議主要是TCP/IP,并且TCP/IP也用于其他的網絡模型(比如撥號用戶,他們并不是處于一個以太網環境中)。舉例一下,很多的小團體計算機用戶都為實現文件和打印共享,安裝了“NetBEUI” 因為它不是基于TCP/IP協議的, 所以來自于網絡的黑客一樣無法得知他們的設備情況。

基于Raw協議,傳輸和接收都在以太網里起著支配作用。你不能直接發送一個Raw數據給以太網,你必須先做一些事情,讓以太網能夠理解你的意思。這有點類似于郵寄信件的方法,你不可能直接把一封信投遞出去,你必須先裝信封,寫地址,貼郵票,網絡上的傳輸也是這樣的。

下面給出一個簡單的圖示,有助于你理解數據傳送的原理:

_________

  /..........\

  /..Internet.\ 

 +-----+ +----+.............+-----+

 |UserA|-----|路由|.............|UserB|

 +-----+ ^ +----+.............+-----+

  |\................/ 

  | \---------/ 

+------+

|嗅探器|

+------+

UserA IP 地址: 10.0.0.23

UserB IP 地址: 192.168.100.54

現在知道UserA要于UserB進行計算機通訊,UserA需要為10.0.0.23到192.168.100.54的通訊建立一個IP包

這個IP包在網絡上傳輸,它必須能夠穿透路由器。因此, UserA必須首先提交這個包給路由器。由每個路由器考查目地IP地址然后決定傳送路徑。

UserA 所知道的只是本地與路由的連接,和UserB的IP地址。UserA并不清楚網絡的結構情況和路由走向。

UserA必須告訴路由預備發送的數據包的情況,以太網數據傳輸結構大概是這樣的:

+--+--+--+--+--+--+

| 目標 MAC|

+--+--+--+--+--+--+

| 源 MAC |

+--+--+--+--+--+--+

|08 00|

+--+--+-----------+

| |

. .

. IP 包 .

. .

| |

+--+--+--+--+-----+

| CRC校驗 |

+--+--+--+--+

理解一下這個結構,UserA的計算機建立了一個包假設它由100個字節的長度(我們假設一下,20 個字節是IP信息,20個字節是TCP信息,還有60個字節為傳送的數據)。現在把這個包發給以太網,放14個字節在目地MAC地址之前,源MAC地址,還要置一個0x0800的標記,他指示出了TCP/IP棧后的數據結構。同時,也附加了4個字節用于做CRC校驗 (CRC校驗用來檢查傳輸數據的正確性)。

現在發送數據到網絡。

所有在網內的計算機通過適配器都能夠發現這個數據片,其中也包括路由適配器,嗅探器和其他一些機器。通常,適配器都具有一塊芯片用來做結構比較的,檢查結構中的目地MAC地址和自己的MAC地址,如果不相同,則適配器會丟棄這個結構。這個操作會由硬件來完成,所以,對于計算機內的程序來說,整個過程時毫無察覺的。

當路由器的以太網適配器發現這個結構后,它會讀取網絡信息,并且去掉前14個字節,跟蹤4個字節。查找0x8000標記,然后對這個結構進行處理(它將根據網絡狀況推測出下一個最快路由節點,從而最快傳送數據到預定的目標地址)。

設想,只有路由機器能夠檢查這個結構,并且所有其他的機器都忽略這個 結構,則嗅探器無論如何也無法檢測到這個結構的。

1.3.1 MAC地址的格式是什么?

以太網卡的MAC地址是一組48比特的數字,這48比特分為兩個部分組成,前面的24比特用于表示以太網卡的寄主,后面的24比特是一組序列號,是由寄主進行支派的。這樣可以擔保沒有任何兩塊網卡的MAC地址是相同的(當然可以通過特殊的方法實現)。如果出現相同的地址,將發生問題,所有這一點是非常重要的。這24比特被稱之為OUI(Organizationally Unique Identifier)。

可是,OUI的真實長度只有22比特,還有兩個比特用于其他:一個比特用來校驗是否是廣播或者多播地址,另一個比特用來分配本地執行地址(一些網絡允許管理員針對具體情況再分配MAC地址)。

舉個例子,你的MAC地址在網絡中表示為 03 00 00 00 00 01 。第一個字節所包含的值二進制表示方法為00000011。 可以看到,最后兩個比特都被置為真值。他指定了一個多播模式,向所有的計算機進行廣播,使用了“NetBEUI”協議(一般的,在Windows計算機的網絡中,文件共享傳輸等是不使用TCP/IP協議的)。

1.3.2 我如何得到自己計算機的MAC地址?

Win9x

Win9x自帶的這個程序將告訴你答案:“winipcfg.exe”

WinNT

在命令行的狀態下運行這個命令:"ipconfig /all"

它會顯示出你的MAC網卡地址,下面是一個例子:

Windows 2000 IP Configuration

Host Name . . . . . . . . . . . . : bigball

Primary DNS Suffix . . . . . . . :

Node Type . . . . . . . . . . . . : Hybrid

IP Routing Enabled. . . . . . . . : No

WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter 本地連接:

Connection-specific DNS Suffix . :

Description . . . . . . . . . . . : Legend/D-Link DFE-530TX PCI Fast Eth

ernet Adapter (Rev B)

Physical Address. . . . . . . . . : 00-50-BA-25-5D-E8

DHCP Enabled. . . . . . . . . . . : No

IP Address. . . . . . . . . . . . : 192.168.10.254

Subnet Mask . . . . . . . . . . . : 255.255.128.0

Default Gateway . . . . . . . . . : 192.168.10.3

Ethernet adapter SC12001:

Description . . . . . . . . : DEC DC21140 PCI Fast Ethernet

Linux

運行“ifconfig”。結果如下:

eth0 Link encap:Ethernet HWaddr 08:00:17:0A:36:3E

inet addr:192.0.2.161 Bcast:192.0.2.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:1137249 errors:0 dropped:0 overruns:0

TX packets:994976 errors:0 dropped:0 overruns:0

Interrupt:5 Base address:0x300

Solaris

用 “arp” 或者 “netstat –p” 命令

1.3.3我如何才能知道有那些計算機和我的MAC地址直接關聯?

對于WinNT和Unix機器,可以直接使用“arp –a”查看。

1.3.4我能夠改變我的MAC地址嗎?

可以。簡單的說一下:

第一種方法,你要做地址欺騙,因為MAC地址是數據包結構的一部分, 因此,當你向以太網發送一個數據包的時候,你可以覆蓋源始的MAC信息。

第二種方法,很多網卡允許在一定的時間內修改內部的MAC地址。

第的三種方法,你可以通過重新燒錄EEPROM來實現MAC地址的修改。但是這種方法要求你必須有特定的硬件設備和適用的芯片才能修改,而且這種方法將永遠的修改你的MAC地址。

二.反嗅探技術

2.1我如何才能檢測網內是否存在有嗅探程序?

理論上,嗅探程序是不可能被檢測出來的,因為嗅探程序是一種被動的接收程序,屬于被動觸發的,它只會收集數據包,而不發送出任何數據,盡管如此,嗅探程序有時候還是能夠被檢測出來的。

一個嗅探程序,不會發送任何數據,但是當它安裝在一臺正常的局域網內的計算機上的時候會產生一些數據流。舉個例子,它能發出一個請求,始DNS根據IP地址進行反相序列查找。

下面一種簡單的檢測方法:

ping 方法

很多的嗅探器程序,如果你發送一個請求給哪臺有嗅探程序的機器,它將作出應答

說明:

1.懷疑IP地址為10.0.0.1的機器裝有嗅探程序,它的MAC地址確定為00-40-05-A4-79-32.

2.確保機器是在這個局域網中間。

3.現在修改MAC地址為00-40-05-A4-79-33.

4.現在用ping命令ping這個IP地址。

5.沒有任何人能夠看到發送的數據包,因為每臺計算機的MAC地址無法與這個數據包中的目地MAC不符,所以,這個包應該會被丟棄。

6.如果你看到了應答,說明這個MAC包沒有被丟棄,也就是說,很有可能有嗅探器存在。

現在,這種方法已經得到了廣泛的推崇和宣揚,新一代的黑客們也學會了在他們的代碼中加入虛擬的MAC地址過濾器很多的計算機操作系統(比如Windows)都支持MAC過濾器(很多過慮器只檢查MAC的第一個字節,這樣一來,MAC地址FF-00-00-00-00-00和FF-FF-FF-FF-FF-FF就沒有區別了。(廣播地址消息會被所有的計算機所接收)。這種技術通常會用在交換模型的以太網中。當交換機發現一個未知的MAC地址的時候,它會執行類似“flood”的操作,把這個包發送給每個節點。

2.2本機嗅探程序的檢測

本機嗅探的程序檢測方法比較簡單,只要檢查一下網卡是否處于混雜模式就可以了,在Linux下,這個比較容易實現,而在Windows平臺上,并沒有現成的函數可供我們實現這個功能,我們來用一點小技巧:

#include <winsock2.h>

#define MAX_PACK_LEN 65535

#define MAX_HOSTNAME_LAN 255

#pragma comment (lib , "ws2_32.lib")

int main()

{

SOCKET SockRaw,Sock;

WSADATA wsaData;

int ret=0;

struct sockaddr_in sAddr,addr;

char RecvBuf[MAX_PACK_LEN];

char FAR name[MAX_HOSTNAME_LAN];

struct hostent FAR * pHostent;

char *Buf=(char *)malloc(128);

int settimeout=1000;//這里我們設置了一秒鐘超時

printf("UNSniffer for Win2k v1.0\nPower by BigBall\nHomePage:http:\/\/www.patching.net\/liumy\nEmail:liumy@patching.net\nOicq:9388920\n\nChecking your system ,wait a moment please...\n");

WSAStartup(MAKEWORD(2,2),&wsaData);

//建立一條RawSocket

SockRaw=socket(AF_INET,SOCK_RAW,IPPROTO_IP);

再建立一條UDP

Sock=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);

memset(&sAddr,0,sizeof(sAddr));

memset(&addr,0,sizeof(addr));

sAddr.sin_family=AF_INET;

sAddr.sin_port=htons(5257);

addr.sin_family=AF_INET;

addr.sin_port=htons(5258);

//把IP地址指向本機

addr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");

memset(RecvBuf,0, sizeof(RecvBuf));

pHostent=malloc(sizeof(struct hostent));

gethostname(name, MAX_HOSTNAME_LAN);

pHostent=gethostbyname(name);

//取得自己的IP地址

memcpy(&sAddr.sin_addr.S_un.S_addr, pHostent->h_addr_list[0], pHostent->h_length);

free(pHostent);

//綁定一個本機的接收端口

bind(SockRaw, (struct sockaddr *)&sAddr, sizeof(sAddr));

//虛連接到本機的一個未打開的端口

connect(Sock,(struct sockaddr *)&addr,sizeof(addr));

Buf="1234567890!@#$%^&*";

//設置超時

setsockopt(SockRaw,SOL_SOCKET,SO_RCVTIMEO,(char *)&settimeout,sizeof(int));

//向虛連接端口發送一個數據包

send(Sock,Buf,strlen(Buf),0);

//使用SockRaw嘗試接收這個數據包

ret=recv(SockRaw,RecvBuf,sizeof(RecvBuf),0);

if(ret==SOCKET_ERROR || ret==0)

printf("No found any sniffer in your system!\n");

else

{

//進行ChkSum

if(Buf=="1234567890!@#$%^&*")

printf("Warning!!! Found sniffer!!!\n");

}

closesocket(Sock);

closesocket(SockRaw);

free(pHostent);

free(Buf);

WSACleanup();

return 0;

}

熱詞搜索:

上一篇:無線局域網嗅探技術與防范策略
下一篇:國產無線寬帶McWill掰腕WiMAX 瓶頸并非技術

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
中文字幕一区三区| 欧美不卡一区二区三区| 国产主播一区二区三区| 日韩成人精品在线观看| 欧美三级日韩三级国产三级| 欧美日韩国产综合久久| 92国产精品观看| 91色九色蝌蚪| 欧美少妇性性性| 7777精品伊人久久久大香线蕉超级流畅 | 99re亚洲国产精品| 成人va在线观看| 成人黄色软件下载| 色婷婷综合久久久久中文一区二区 | 国产伦精一区二区三区| 成人妖精视频yjsp地址| 色综合天天做天天爱| 欧美亚洲一区二区在线| 欧美麻豆精品久久久久久| 欧美精品久久天天躁| 精品久久久影院| 欧美国产精品一区二区| 成人免费在线视频观看| 亚洲国产综合在线| 日韩中文字幕亚洲一区二区va在线| 午夜国产精品一区| 捆绑调教一区二区三区| 成人精品免费视频| 一本大道久久a久久精品综合| 欧美日韩国产123区| 精品国产乱码久久久久久闺蜜| 久久九九国产精品| 亚洲激情五月婷婷| 免费高清不卡av| 成人午夜精品在线| 欧美视频在线一区二区三区| 精品国产免费人成电影在线观看四季 | 1024成人网色www| 五月婷婷综合在线| 成人一道本在线| 欧美日韩另类一区| 国产亚洲精久久久久久| 亚洲一区二区免费视频| 国产一二三精品| 欧美午夜精品理论片a级按摩| 欧美sm极限捆绑bd| 一区二区免费看| 国产福利91精品一区| 欧美一区永久视频免费观看| 亚洲人妖av一区二区| 久久国产精品无码网站| 欧美亚洲国产bt| 国产精品久久久久久久久快鸭| 久久国产精品72免费观看| 欧美特级限制片免费在线观看| 国产精品午夜免费| 久久国产精品一区二区| 欧美日韩aaaaaa| 亚洲精品一二三| 成人看片黄a免费看在线| 欧美电影免费观看高清完整版在线 | 亚洲欧美日韩一区二区 | 经典三级视频一区| 69堂成人精品免费视频| 一区二区三区四区不卡在线| 懂色av中文一区二区三区| 精品少妇一区二区三区视频免付费 | 日韩午夜激情视频| 偷拍一区二区三区| 欧美在线观看视频一区二区三区| 中文字幕成人在线观看| 成人美女视频在线观看18| 欧美精品一区二区三区四区| 麻豆91精品91久久久的内涵| 日韩一区和二区| 日本欧美加勒比视频| 欧美一级午夜免费电影| 日本亚洲最大的色成网站www| 欧美精品乱码久久久久久| 午夜精品爽啪视频| 欧美日韩视频第一区| 日日嗨av一区二区三区四区| 欧美日韩免费一区二区三区| 亚洲第一激情av| 欧美卡1卡2卡| 久久国产欧美日韩精品| 久久影音资源网| 国产成人免费视频网站| 国产精品亲子伦对白| 99re这里都是精品| 亚洲大片精品永久免费| 日韩三级中文字幕| 激情国产一区二区| 久久久91精品国产一区二区三区| 成人一区二区视频| 亚洲激情图片一区| 欧美剧情片在线观看| 韩日欧美一区二区三区| 中文字幕欧美国产| 欧美日韩中文字幕一区| 麻豆国产精品视频| 成人欧美一区二区三区小说| 欧美影院午夜播放| 狠狠色丁香婷婷综合久久片| ●精品国产综合乱码久久久久| 在线看日韩精品电影| 免费不卡在线视频| 国产精品不卡视频| 欧美一区二区视频免费观看| 国产一区二区久久| 亚洲精品视频一区二区| 这里是久久伊人| 成+人+亚洲+综合天堂| 婷婷中文字幕综合| 国产精品麻豆网站| 7777精品伊人久久久大香线蕉的 | 老司机精品视频导航| 国产精品国产精品国产专区不片| 欧美精选一区二区| 成人av中文字幕| 日本在线播放一区二区三区| 中文字幕亚洲成人| 日韩欧美一区二区不卡| 一本到三区不卡视频| 国内成人自拍视频| 亚洲va欧美va天堂v国产综合| 国产精品午夜电影| 精品国产自在久精品国产| 在线免费观看不卡av| 成人app在线| 理论片日本一区| 亚洲午夜在线观看视频在线| 国产精品久久久久永久免费观看| 欧美一级精品在线| 日本精品一区二区三区四区的功能| 久久超级碰视频| 午夜精品一区二区三区免费视频| 亚洲女爱视频在线| 中文字幕免费观看一区| 日韩免费电影网站| 欧美精品色综合| 欧美性欧美巨大黑白大战| 成人黄色国产精品网站大全在线免费观看| 日本欧美加勒比视频| 亚洲chinese男男1069| 一区二区三区久久| 亚洲欧洲一区二区在线播放| 国产欧美日产一区| 久久综合九色综合欧美亚洲| 日韩免费观看高清完整版在线观看| 欧美色精品在线视频| 欧美性受极品xxxx喷水| 色综合激情久久| 91视频免费播放| 91影视在线播放| 色天使色偷偷av一区二区| 99re这里只有精品首页| 99re这里只有精品视频首页| 97成人超碰视| 日本高清不卡视频| 色哟哟日韩精品| 欧美性videosxxxxx| 欧美日本一区二区在线观看| 欧美日本一区二区三区四区| 91精品国产综合久久婷婷香蕉 | 一区二区三区美女视频| 亚洲摸摸操操av| 亚洲一二三区不卡| 亚洲一区在线免费观看| 亚洲va欧美va人人爽午夜| 日产精品久久久久久久性色| 三级不卡在线观看| 精品一区二区三区在线视频| 狠狠色综合播放一区二区| 成人免费视频视频在线观看免费| 99精品久久只有精品| 欧美亚洲高清一区二区三区不卡| 欧美日韩日本视频| 欧美成人精品福利| 久久久精品黄色| 亚洲人一二三区| 美腿丝袜在线亚洲一区 | 一区二区成人在线观看| 亚洲成a人v欧美综合天堂| 久久精品国产久精国产| 国产成人午夜精品5599| 日本乱人伦aⅴ精品| 欧美成人女星排名| 亚洲欧美在线另类| 日本网站在线观看一区二区三区| 国产激情一区二区三区桃花岛亚洲| 91年精品国产| 欧美大片在线观看一区二区| 国产精品人成在线观看免费| 亚洲午夜视频在线观看| 国产传媒日韩欧美成人| 欧美老女人在线| 亚洲欧洲精品天堂一级| 日韩av一区二区在线影视| 99re视频精品|