日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网络监听listen技术是什么原理?

發(fā)布時間:2025/3/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网络监听listen技术是什么原理? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

原理

Ethernet協(xié)議的工作方式是將要發(fā)送的數(shù)據(jù)包發(fā)往連接在一起的所有主機。在包頭中包括有應該接收數(shù)據(jù)包的主機的正確地址,因為只有與數(shù)據(jù)包中目標地址一致的那臺主機才能接收到信息包,但是當主機工作在監(jiān)聽模式下的話不管數(shù)據(jù)包中的目標物理地址是什么,主機都將可以接收到。許多局域網(wǎng)內(nèi)有十幾臺甚至上百臺主機是通過一個電纜、一個集線器連接在一起的,在協(xié)議的高層或者用戶來看,當同一網(wǎng)絡中的兩臺主機通信的時候,源主機將寫有目的的主機地址的數(shù)據(jù)包直接發(fā)向目的主機,或者當網(wǎng)絡中的一臺主機同外界的主機通信時,源主機將寫有目的的主機IP地址的數(shù)據(jù)包發(fā)向網(wǎng)關(guān)。但這種數(shù)據(jù)包并不能在協(xié)議棧的高層直接發(fā)送出去,要發(fā)送的數(shù)據(jù)包必須從TCP/IP協(xié)議的IP層交給網(wǎng)絡接口,也就是所說的數(shù)據(jù)鏈路層。網(wǎng)絡接口不會識別IP地址的。在網(wǎng)絡接口由IP層來的帶有IP地址的數(shù)據(jù)包又增加了一部分以太幀的幀頭的信息。在幀頭中,有兩個域分別為只有網(wǎng)絡接口才能識別的源主機和目的主機的物理地址這是一個48位的地址,這個48位的地址是與IP地址相對應的,換句話說就是一個IP地址也會對應一個物理地址。對于作為網(wǎng)關(guān)的主機,由于它連接了多個網(wǎng)絡,它也就同時具備有很多個IP地址,在每個網(wǎng)絡中它都有一個。而發(fā)向網(wǎng)絡外的幀中繼攜帶的就是網(wǎng)關(guān)的物理地址。
Ethernet中填寫了物理地址的幀從網(wǎng)絡接口中,也就是從網(wǎng)卡中發(fā)送出去傳送到物理的線路上。如果局域網(wǎng)是由一條粗網(wǎng)或細網(wǎng)連接成的,那么數(shù)字信號在電纜上傳輸信號就能夠到達線路上的每一臺主機。再當使用集線器的時候,發(fā)送出去的信號到達集線器,由集線器再發(fā)向連接在集線器上的每一條線路。這樣在物理線路上傳輸?shù)臄?shù)字信號也就能到達連接在集線器上的每個主機了。當數(shù)字信號到達一臺主機的網(wǎng)絡接口時,正常狀態(tài)下網(wǎng)絡接口對讀入數(shù)據(jù)幀進行檢查,如果數(shù)據(jù)幀中攜帶的物理地址是自己的或者物理地址是廣播地址,那么就會將數(shù)據(jù)幀交給IP層軟件。對于每個到達網(wǎng)絡接口的數(shù)據(jù)幀都要進行這個過程的。但是當主機工作在監(jiān)聽模式下的話,所有的數(shù)據(jù)幀都將被交給上層協(xié)議軟件處理。
當連接在同一條電纜或集線器上的主機被邏輯地分為幾個子網(wǎng)的時候,那么要是有一臺主機處于監(jiān)聽模式,它還將可以接收到發(fā)向與自己不在同一個子網(wǎng)(使用了不同的掩碼、IP地址和網(wǎng)關(guān))的主機的數(shù)據(jù)包,在同一個物理信道上傳輸?shù)乃行畔⒍伎梢员唤邮盏健?br /> 在UNIX系統(tǒng)上,當擁有超級權(quán)限的用戶要想使自己所控制的主機進入監(jiān)聽模式,只需要向Interface(網(wǎng)絡接口)發(fā)送I/O控制命令,就可以使主機設置成監(jiān)聽模式了。而在Windows9x的系統(tǒng)中則不論用戶是否有權(quán)限都將可以通過直接運行監(jiān)聽工具就可以實現(xiàn)了。
在網(wǎng)絡監(jiān)聽時,常常要保存大量的信息(也包含很多的垃圾信息),并將對收集的信息進行大量的整理,這樣就會使正在監(jiān)聽的機器對其它用戶的請求響應變的很慢。同時監(jiān)聽程序在運行的時候需要消耗大量的處理器時間,如果在這個時候就詳細的分析包中的內(nèi)容,許多包就會來不及接收而被漏走。所以監(jiān)聽程序很多時候就會將監(jiān)聽得到的包存放在文件中等待以后分析。分析監(jiān)聽到的數(shù)據(jù)包是很頭疼的事情。因為網(wǎng)絡中的數(shù)據(jù)包都非常之復雜。兩臺主機之間連續(xù)發(fā)送和接收數(shù)據(jù)包,在監(jiān)聽到的結(jié)果中必然會加一些別的主機交互的數(shù)據(jù)包。監(jiān)聽程序?qū)⑼籘CP會話的包整理到一起就相當不容易了,如果你還期望將用戶詳細信息整理出來就需要根據(jù)協(xié)議對包進行大量的分析。Internet上那么多的協(xié)議,運行進起的話這個監(jiān)聽程序?qū)值拇笈丁?br /> 當前網(wǎng)絡中所使用的協(xié)議都是較早前設計的,許多協(xié)議的實現(xiàn)都是基于一種非常友好的,通信的雙方充分信任的基礎。在通常的網(wǎng)絡環(huán)境之下,用戶的信息包括口令都是以明文的方式在網(wǎng)上傳輸?shù)?#xff0c;因此進行網(wǎng)絡監(jiān)聽從而獲得用戶信息并不是一件難點事情,只要掌握有初步的TCP/IP協(xié)議知識就可以輕松的監(jiān)聽到你想要的信息的。前些時間美籍華人China-babble曾提出將望路監(jiān)聽從局域網(wǎng)延伸到廣域網(wǎng)中,但這個想法很快就被否定了。如果真是這樣的話我想網(wǎng)絡必將天下大亂了。而事實上在廣域網(wǎng)里也可以監(jiān)聽和截獲到一些用戶信息。只是還不夠明顯而已。在整個Internet中就更顯得微不足道了。監(jiān)聽的協(xié)議分析
我們的研究從監(jiān)聽程序的編寫開始,用Linux C語言設計實現(xiàn)。

數(shù)據(jù)剖析

監(jiān)聽
以太網(wǎng)上的數(shù)據(jù)幀主要涉及Tcp/ip協(xié)議,針對以下幾個協(xié)議的分析:IP,ARP,RARP,IPX,其中重點在于ip和 arp協(xié)議,這兩個協(xié)議是多數(shù)網(wǎng)絡協(xié)議的基礎,因此把他們研究徹底,就對大多數(shù)的協(xié)議的原理和特性比較清楚了。 由于各種協(xié)議的數(shù)據(jù)幀個不相同,所以涉及很多的數(shù)據(jù)幀頭格式分析,接下來將一一描述。
在linux 下監(jiān)聽網(wǎng)絡,應先設置網(wǎng)卡狀態(tài),使其處于雜混模式以便監(jiān)聽網(wǎng)絡上的所有數(shù)據(jù)幀。然后選擇用Linux socket 來截取數(shù)據(jù)幀,通過設置socket() 函數(shù)參數(shù)值,可以使socket截取未處理的網(wǎng)絡數(shù)據(jù)幀,關(guān)鍵是函數(shù)的參數(shù)設置。

參考文章:網(wǎng)絡監(jiān)聽技術(shù)

總結(jié)

以上是生活随笔為你收集整理的网络监听listen技术是什么原理?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。