導航:首頁 > 網路共享 > 網路數據包軟體原理

網路數據包軟體原理

發布時間:2023-08-10 05:18:35

Ⅰ 計算機網路連接原理是什麼(越詳細越好)

連接原理是TCP/IP原理..
我目前也正在學.

TCP/IP的通訊協議

這部分簡要介紹一下TCP/IP的內部結構,為討論與互聯網有關的安全問題打下基礎。TCP/IP協議組之所以流行,部分原因是因為它可以用在各種各樣的信道和底層協議(例如T1和X.25、乙太網以及RS-232串列介面)之上。確切地說,TCP/IP協議是一組包括TCP協議和IP協議,UDP(User Datagram Protocol)協議、ICMP(Internet Control Message Protocol)協議和其他一些協議的協議組。

TCP/IP整體構架概述

TCP/IP協議並不完全符合OSI的七層參考模型。傳統的開放式系統互連參考模型,是一種通信協議的7層抽象的參考模型,其中每一層執行某一特定任務。該模型的目的是使各種硬體在相同的層次上相互通信。這7層是:物理層、數據鏈路層、網路層、傳輸層、話路層、表示層和應用層。而TCP/IP通訊協議採用了4層的層級結構,每一層都呼叫它的下一層所提供的網路來完成自己的需求。這4層分別為:

應用層:應用程序間溝通的層,如簡單電子郵件傳輸(SMTP)、文件傳輸協議(FTP)、網路遠程訪問協議(Telnet)等。

傳輸層:在此層中,它提供了節點間的數據傳送服務,如傳輸控制協議(TCP)、用戶數據報協議(UDP)等,TCP和UDP給數據包加入傳輸數據並把它傳輸到下一層中,這一層負責傳送數據,並且確定數據已被送達並接收。

互連網路層:負責提供基本的數據封包傳送功能,讓每一塊數據包都能夠到達目的主機(但不檢查是否被正確接收),如網際協議(IP)。

網路介面層:對實際的網路媒體的管理,定義如何使用實際網路(如Ethernet、Serial Line等)來傳送數據。

TCP/IP中的協議

以下簡單介紹TCP/IP中的協議都具備什麼樣的功能,都是如何工作的:

1. IP

網際協議IP是TCP/IP的心臟,也是網路層中最重要的協議。

IP層接收由更低層(網路介面層例如乙太網設備驅動程序)發來的數據包,並把該數據包發送到更高層---TCP或UDP層;相反,IP層也把從TCP或UDP層接收來的數據包傳送到更低層。IP數據包是不可靠的,因為IP並沒有做任何事情來確認數據包是按順序發送的或者沒有被破壞。IP數據包中含有發送它的主機的地址(源地址)和接收它的主機的地址(目的地址)。

高層的TCP和UDP服務在接收數據包時,通常假設包中的源地址是有效的。也可以這樣說,IP地址形成了許多服務的認證基礎,這些服務相信數據包是從一個有效的主機發送來的。IP確認包含一個選項,叫作IP source routing,可以用來指定一條源地址和目的地址之間的直接路徑。對於一些TCP和UDP的服務來說,使用了該選項的IP包好象是從路徑上的最後一個系統傳遞過來的,而不是來自於它的真實地點。這個選項是為了測試而存在的,說明了它可以被用來欺騙系統來進行平常是被禁止的連接。那麼,許多依靠IP源地址做確認的服務將產生問題並且會被非法入侵。

2. TCP

如果IP數據包中有已經封好的TCP數據包,那麼IP將把它們向『上』傳送到TCP層。TCP將包排序並進行錯誤檢查,同時實現虛電路間的連接。TCP數據包中包括序號和確認,所以未按照順序收到的包可以被排序,而損壞的包可以被重傳。

TCP將它的信息送到更高層的應用程序,例如Telnet的服務程序和客戶程序。應用程序輪流將信息送回TCP層,TCP層便將它們向下傳送到IP層,設備驅動程序和物理介質,最後到接收方。

面向連接的服務(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它們使用了TCP。DNS在某些情況下使用TCP(發送和接收域名資料庫),但使用UDP傳送有關單個主機的信息。

3.UDP

UDP與TCP位於同一層,但對於數據包的順序錯誤或重發。因此,UDP不被應用於那些使用虛電路的面向連接的服務,UDP主要用於那些面向查詢---應答的服務,例如NFS。相對於FTP或Telnet,這些服務需要交換的信息量較小。使用UDP的服務包括NTP(網落時間協議)和DNS(DNS也使用TCP)。

欺騙UDP包比欺騙TCP包更容易,因為UDP沒有建立初始化連接(也可以稱為握手)(因為在兩個系統間沒有虛電路),也就是說,與UDP相關的服務面臨著更大的危險。

4.ICMP

ICMP與IP位於同一層,它被用來傳送IP的的控制信息。它主要是用來提供有關通向目的地址的路徑信息。ICMP的『Redirect』信息通知主機通向其他系統的更准確的路徑,而『Unreachable』信息則指出路徑有問題。另外,如果路徑不可用了,ICMP可以使TCP連接『體面地』終止。PING是最常用的基於ICMP的服務。

5. TCP和UDP的埠結構

TCP和UDP服務通常有一個客戶/伺服器的關系,例如,一個Telnet服務進程開始在系統上處於空閑狀態,等待著連接。用戶使用Telnet客戶程序與服務進程建立一個連接。客戶程序向服務進程寫入信息,服務進程讀出信息並發出響應,客戶程序讀出響應並向用戶報告。因而,這個連接是雙工的,可以用來進行讀寫。

兩個系統間的多重Telnet連接是如何相互確認並協調一致呢?TCP或UDP連接唯一地使用每個信息中的如下四項進行確認:

源IP地址 發送包的IP地址。

目的IP地址 接收包的IP地址。

源埠 源系統上的連接的埠。

目的埠 目的系統上的連接的埠。

埠是一個軟體結構,被客戶程序或服務進程用來發送和接收信息。一個埠對應一個16比特的數。服務進程通常使用一個固定的埠,例如,SMTP使用25、Xwindows使用6000。這些埠號是『廣為人知』的,因為在建立與特定的主機或服務的連接時,需要這些地址和目的地址進行通訊。

Ⅱ 如何截獲網路數據包截獲的原理是什麼

網路數據報文的攔截有很多層面的攔截,不知道你想討論的是什麼層面的攔截x0dx0ax0dx0a1)網卡層面的截獲(截獲和自己同網段的計算機發送的信息,包括送往自己的數據包)x0dx0a這個攔截過程得從網路數據包發送和接受原理說起x0dx0a一個網路數據報文的發送過程是這樣的:x0dx0aa)發送方的應用層將舉握要發送的數據報文,通過Socket調用提交TCP/IP層x0dx0ab)TCP/IP層經過層層封裝,將這些數據報文封裝成IP數據報文,送往數據鏈路層,一般乙太網用的是802.X的楨結構,封裝成數據禎。x0dx0ac)乙太網數據鏈路層是使用一個叫做MAC地址的東舉櫻西來標識網口的,每一網口的MAC地址都是世界唯一的。x0dx0ad)數據鏈路層將目的方的MAC地址和自己的MAC地址分別填入目標MAC和源MAC的欄位中,發送到物理層(也就是網線上)x0dx0a網路數據報文的接受過程是這樣的:x0dx0a每個網卡在收到物理鏈路上發送來的數據楨之後,都會自動檢測收到的這個MAC地址是否和自己的網卡MAC地址相同,如果相同,則接受,否則就丟棄。x0dx0a這正答叢樣就可以實現對於數據包的過濾過程。x0dx0ax0dx0a而很多網路攔截工具,例如Sniffer或者Ethereal,都將網卡的這個功能給打破了。x0dx0a他們定義了一個網卡所謂的混雜模式,在這里,網卡不管收到的這個數據包是否是給自己的(目的MAC和自己網卡的MAC是否相同),都往上層送,都能對數據流進行分析。x0dx0a這個是網路層面攔截的基本原理。x0dx0ax0dx0a2)應用層和Socket層面的攔截x0dx0a這個方法主要是通過系統Hook的方式來實現,例如一台計算機打算往網路發送東西,一般情況下應用程序都不會自己開發網路協議層,都會?? x0dx0ax0dx0a其實我的 原理就是 網路無所不能。

Ⅲ 請教下:網路數據傳輸的原理

數據在網路上是以"幀"為單位進行傳輸。
幀由多個部分組成,不同的部分對應不同的信息,從而實現相應的功能。
幀是根據通信所使用的協議,由網路驅動程序按照一定規則生成的,然後通過網卡發送到網路中,通過網線傳送到目的主機。
在目的主機一端按照同樣的通信協議執行相反的過程。接收端機器的網卡捕獲到這些幀,並告訴操作系統有新的幀到達,然後對其進行存儲。
在正常情況下,網卡讀入一幀並進行檢查。
如果幀中攜帶的目的地址(這里的目的地址是指物理地址而非IP地址,該地址是網路設備的唯一標志)和自己的物理地址一致,或者是廣播地址(被設定為一次性發送到網路所有主機的特殊地址,當目標地址為該地址時,所有的網卡都會接收該幀),網卡通過產生一個硬體中斷引起操作系統注意,然後將幀中所包含的數據傳送給系統進一步處理;否則就將這個幀丟棄。

Ⅳ 網路抓包工具及其原理

常見的網路抓包工具大體上按照抓包節點可以分成兩類:
一種是通過 代理中間服務 截取協議包,例如Whistle,Charles,Fiddler,miniproxy一種是在網卡鏈路層截取數據包,例如warshark, tcpmp
還有像,Chrome瀏覽器的調試工具,這種屬於工具本身內置的能力。

根據其實現方式,它們的能力界限各有特點。下面是一個大致的比較:

總結:
通過以上的比較,大體上,這幾個主流的抓包工具基本上可以滿足我們日常的抓包需求

抓包工具能力圖:

6.反向代理
反向代理在本地埠上創建一個 Web 伺服器,該伺服器透明地將請求代理到遠程 Web 伺服器。反向代理上的所有請求和響應都可能記錄在 Charles 中。

如果您的客戶端應用程序不支持使用 HTTP 代理,或者您想避免將其配置為使用代理,則反向代理非常有用。創建到原始目標 Web 伺服器的反向代理,然後將客戶端應用程序連接到本地埠;反向代理對客戶端應用程序是透明的,使您能夠查看 Charles 中以前可能無法查看的流量。

7 埠轉發。
可以使用代理工具配置tcp/udp協議的埠轉發 內網滲透中的埠轉發

網路數據收發是一個數據流,我們要查看數據包的細節,一般的方法是,在客戶端和伺服器之間進行截獲。
一般有兩種方式:
一種是設置代理抓取http包,比如Charles、mitmproxy這些軟體。
另一種是直接抓取經過網卡的所有協議包,其中最出名就是大名鼎鼎的wireshark以及linux自帶的抓包軟體tcpmp。

參考文檔:

Ⅳ 抓包工具的實現原理

抓包工具是攔截查看網路數據包內容的軟體。
使用方法
下面根據網路病毒都有掃描網路地址的特點,介紹一個很實用的方法:用抓包工具尋找病毒源。
1.安裝抓包工具。目的就是用它分析網路數據包的內容。找一個免費的或者試用版的抓包工具並不難,Sniffer,wireshark,WinNetCap.WinSock Expert 都是當前流行的抓包工具,我使用了一種叫做SpyNet3.12 的抓包工具,非常小巧,運行的速度也很快。安裝完畢後我們就有了一台抓包主機。你可以通過SpyNet設置抓包的類型,比如是要捕獲IP包還是ARP包,還可以根據目的地址的不同,設置更詳細的過濾參數。
2.配置網路路由。你的路由器有預設網關嗎?如果有,指向了哪裡?在病毒爆發的時候把預設網關指向另外一台路由器是很危險的(除非你想搞癱這台路由器)。在一些企業網里往往僅指出網內地址段的路由,而不加預設路由,那麼就把預設路由指到抓包主機上吧(它不下地獄誰下地獄?當然這台主機的性能最好是高一點的,否則很容易被病毒沖擊而亡)。這樣可以讓那些病毒主機發出的絕大部分掃描都自動送上門來。或者把網路的出口映像到抓包主機上,所有對外訪問的網路包都會被分析到。
3.開始抓包。抓包主機已經設置好了,網路里的數據包也已經送過來了,那麼我們看看網路里傳輸的到底是些什麼。打開SpyNet 點擊Capture 你會看到好多的數據顯示出來,這些就是被捕獲的數據包(如圖)。
圖中的主體窗口裡顯示了抓包的情況。列出了抓到數據包的序號、時間、源目的MAC地址、源目的IP地址、協議類型、源目的埠號等內容。很容易看出IP地址為10.32.20.71的主機在極短的時間內向大量的不同主機發出了訪問請求,並且目的埠都是445。
4.找出染毒主機。從抓包的情況看,主機10.32.20.71值得懷疑。首先我們看一下目的IP地址,這些地址我們網路里存在嗎?很可能網路里根本就沒有這些網段。其次,正常情況下訪問主機有可能在這么短的時間里發起這么多的訪問請求嗎?在毫秒級的時間內發出幾十甚至幾百個連接請求,正常嗎?顯然這台10.32.20.71的主機肯定有問題。再了解一下Microsoft-DS協議,該協議存在拒絕服務攻擊的漏洞,連接埠是445,從而進一步證實了我們的判斷。這樣我們就很容易地找到了染毒主機的IP地址。剩下的工作就是給該主機操作系統打補丁殺病毒了。

Ⅵ 數據包是如何在網路中傳輸的

我們電腦上的數據,是如何「走」到遠端的另一台電腦的呢?這是個最基礎的問題,可能很多人回答不上來,盡管我們每天都在使用網路。這里我們以一個最簡單的「ping」命令,來解釋一個數據包「旅程」。

假設:我的電腦A,向遠在外地的朋友電腦B傳輸數據,最簡單的就是「ping」一下,看看這個傢伙的那一端網路通不通。A與B之間只有一台路由器。(路由器可能放在學校,社區或者電信機房,無所謂,基本原理是一樣的)

具體過程如下------
1.「ping」命令所產生的數據包,我們歸類為ICMP協議。說白了就是向目的地發送一個數據包,然後等待回應,如果回應正常則目的地的網路就是通的。當我們輸入了「ping」命令之後,我們的機器(電腦A)就生成了一個包含ICMP協議域的數據包,姑且稱之為「小德」吧~~~~

2.「小德」已經將ICMP協議打包到數據段里了,可是還不能發送,因為一個數據要想向外面傳送,還得經過「有關部門」的批准------IP協議。IP要將你的「寫信人地址」和「收信人地址」寫到數據段上面,即:將數據的源IP地址和目的IP地址分別打包在「小德」的頭部和尾部,這樣一來,大家才知道你的數據是要送到哪裡。

3.准備工作還沒有完。接下來還有部門要審核------ARP。ARP屬於數據鏈路層協議,主要負責把IP地址對應到硬體地址。直接說吧,都怪交換機太「傻」,不能根據IP地址直接找到相應的計算機,只能根據硬體地址來找。於是,交換機就經常保留一張IP地址與硬體地址的對應表以便其查找目的地。而ARP就是用來生成這張表的。比如:當「小德」被送到ARP手裡之後,ARP就要在表裡面查找,看看「小德」的IP地址與交換機的哪個埠對應,然後轉發過去。如果沒找到,則發一個廣播給所有其他的交換機埠,問這是誰的IP地址,如果有人回答,就轉發給它。

4.經過一番折騰,「小德」終於要走出這個倒霉的區域網了。可在此之前,它們還沒忘給「小德」屁股後面蓋個「戳」,說是什麼CRC校驗值,怕「小德」在旅行途中缺胳膊少腿,還得麻煩它們重新發送。。。。。我靠~~~~註:很多人弄不清FCS和CRC。所謂的CRC是一種校驗方法,用來確保數據在傳輸過程中不會丟包,損壞等等,FCS是數據包(准確的說是frame)里的一個區域,用來存放CRC的計算結果的。到了目的地之後,目的計算機要檢查FCS里的CRC值,如果與原來的相同,則說明數據在途中沒有損壞。

5.在走出去之前,那些傢伙最後折磨了一次「小德」------把小德身上眾多的0和1,弄成了什麼「高電壓」「低電壓」,在雙絞線上傳送了出去。暈~~出趟門就這么麻煩嗎?

6.坐著雙絞線旅遊,爽!可當看到很多人坐著同軸電纜,還有坐光纖的時候,小德又感覺不是那麼爽了。就在這時,來到了旅途的中轉站------路由器。這地方可是高級場所,人家直接查看IP地址!剩下的一概不管,交給下面的人去做。夠牛吧?路由器的內部也有一張表,叫做路由表,裡面標識著哪一個網路的IP對應著路由器的哪一個埠。這個表也不是天生就有的,而是靠路由器之間互相「學習」之後生成的,當然也可以由管理員手工設定。這個「學習」的過程是依靠路由協議來完成的,比如RIP,EIGRP,OSPF等等。

7.當路由器查看了「小德」的IP地址以後,根據路由表知道了小德要去的網路,接著就把小德轉到了相應的埠了。至此,路由器的主要工作完成,下面又是打包,封裝成frame,轉換成電壓信號等一系列「折騰」的活,就由數據鏈路層和物理層的模塊去干吧。

8.小德從路由器的出口出來,便來到了目的地----電腦B----所屬的網路的默認網關。默認網關可以是路由器的一個埠,也可以是區域網里的各種伺服器。不管怎樣,下面的過程還是一樣的:到交換機里的ARP表查詢「小德」的IP地址,看看屬於哪個區域網段或埠,然後就轉發到B了。

9.進了B的網卡之後,還要層層「剝皮」,基本上和從A出來的程序是一樣的------電腦B先校驗一下CRC值,看看數據是否完整;然後檢查一下frame的封裝,看到是IP協議之後,就把「小德」交給IP「部門」了;IP協議一看目的地址,正確,再看看應用協議,是ICMP。於是知道了該怎麼做了------產生一個回應數據包,(可以命名為「回應小德」),並准備以同樣的順序向遠端的A發送。。至於剛剛收到的那個數據包就丟棄了。

10.「回應小德」這個數據包又開始了上述同樣的循環,只不過這次發送者是B而接收者是A了。

以上是一個最簡單的路由過程,任何復雜的網路都是在次基礎之上實現的。

閱讀全文

與網路數據包軟體原理相關的資料

熱點內容
文山網路營銷如何 瀏覽:145
故宮網路信號 瀏覽:284
為什麼wifi玩王者榮耀網路不卡 瀏覽:262
蘋果手機獲取不到網路時間 瀏覽:301
無線網路登錄號 瀏覽:768
移動盒子無線網路開關的設置密碼 瀏覽:192
如何進行網路營銷策劃 瀏覽:635
網路有個卡的信號怎麼解決 瀏覽:910
區域網設置雙人網路 瀏覽:609
fast路由器設置成功後沒有網路 瀏覽:443
vivox27手機數據網路差 瀏覽:408
皓影多媒體怎麼顯示網路異常 瀏覽:888
unraid萬兆網路設置 瀏覽:524
實戰網路營銷網 瀏覽:848
wifi網速顯示未知網路 瀏覽:704
三星usb連接共享網路列印機 瀏覽:429
大疆御連接網路固件更新 瀏覽:379
網路通信安全密碼口令 瀏覽:587
同一網路兩個手機直播 瀏覽:435
移動網路的投屏慢 瀏覽:941

友情鏈接