局域網(wǎng)實現(xiàn)監(jiān)聽的基本原理

字號:

對于目前很流行的以太網(wǎng)協(xié)議,其工作方式是:將要發(fā)送的數(shù)據(jù)包發(fā)往連接在一起的所有主機,包中包含著應(yīng)該接收數(shù)據(jù)包主機的正確地址,只有與數(shù)據(jù)包中目標地址一致的那臺主機才能接收。
    但是,當主機工作監(jiān)聽模式下,無論數(shù)據(jù)包中的目標地址是什么,主機都將接收(當然只能監(jiān)聽經(jīng)過自己網(wǎng)絡(luò)接口的那些包)。
    在因特網(wǎng)上有很多使用以太網(wǎng)協(xié)議的局域網(wǎng),許多主機通過電纜、集線器連在一起。當同一網(wǎng)絡(luò)中的兩臺主機通信的時候,源主機將寫有目的的主機地址的數(shù)據(jù)包直接發(fā)向目的主機。但這種數(shù)據(jù)包不能在IP層直接發(fā)送,必須從TCP/IP協(xié)議的IP層交給網(wǎng)絡(luò)接口,也就是數(shù)據(jù)鏈路層,而網(wǎng)絡(luò)接口是不會識別IP地址的,因此在網(wǎng)絡(luò)接口數(shù)據(jù)包又增加了一部分以太幀頭的信息。在幀頭中有兩個域,分別為只有網(wǎng)絡(luò)接口才能識別的源主機和目的主機的物理地址,這是一個與IP地址相對應(yīng)的48位的地址。
    傳輸數(shù)據(jù)時,包含物理地址的幀從網(wǎng)絡(luò)接口(網(wǎng)卡)發(fā)送到物理的線路上,如果局域網(wǎng)是由一條粗纜或細纜連接而成,則數(shù)字信號在電纜上傳輸,能夠到達線路上的每一臺主機。當使用集線器時,由集線器再發(fā)向連接在集線器上的每一條線路,數(shù)字信號也能到達連接在集線器上的每一臺主機。當數(shù)字信號到達一臺主機的網(wǎng)絡(luò)接口時,正常情況下,網(wǎng)絡(luò)接口讀入數(shù)據(jù)幀,進行檢查,如果數(shù)據(jù)幀中攜帶的物理地址是自己的或者是廣播地址,則將數(shù)據(jù)幀交給上層協(xié)議軟件,也就是IP層軟件,否則就將這個幀丟棄。對于每一個到達網(wǎng)絡(luò)接口的數(shù)據(jù)幀,都要進行這個過程。
    然而,當主機工作在監(jiān)聽模式下,所有的數(shù)據(jù)幀都將被交給上層協(xié)議軟件處理。而且,當連接在同一條電纜或集線器上的主機被邏輯地分為幾個子網(wǎng)時,如果一臺主機處于監(jiān)聽模式下,它還能接收到發(fā)向與自己不在同一子網(wǎng)(使用了不同的掩碼、IP地址和網(wǎng)關(guān))的主機的數(shù)據(jù)包。也就是說,在同一條物理信道上傳輸?shù)乃行畔⒍伎梢员唤邮盏健A硗?,現(xiàn)在網(wǎng)絡(luò)中使用的大部分協(xié)議都是很早設(shè)計的,許多協(xié)議的實現(xiàn)都是基于一種非常友好的、通信的雙方充分信任的基礎(chǔ)之上,許多信息以明文發(fā)送。因此,如果用戶的賬戶名和口令等信息也以明文的方式在網(wǎng)上傳輸,而此時一個黑客或網(wǎng)絡(luò)攻擊者正在進行網(wǎng)絡(luò)監(jiān)聽,只要具有初步的網(wǎng)絡(luò)和TCP/IP協(xié)議知識,便能輕易地從監(jiān)聽到的信息中提取出感興趣的部分。同理,正確的使用網(wǎng)絡(luò)監(jiān)聽技術(shù)也可以發(fā)現(xiàn)入侵并對入侵者進行追蹤定位,在對網(wǎng)絡(luò)犯罪進行偵查取證時獲取有關(guān)犯罪行為的重要信息,成為打擊網(wǎng)絡(luò)犯罪的有力手段。