freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

arp攻擊與防范方案-資料下載頁

2025-10-25 15:35本頁面

【導讀】位)轉化為物理地址[RFC826]。是根據(jù)48位的以太網(wǎng)地址來確定接口的,而不是根據(jù)32位的IP地址。驅動)必須知道目的端的硬件地址才能發(fā)送數(shù)據(jù)。當然,點對點的連接是不需要ARP協(xié)議的。為了解釋ARP協(xié)議的作用,就必須理解數(shù)據(jù)在網(wǎng)絡上的傳輸過程。假設我們的計算機IP地址是,要執(zhí)行這個命令:。通過ICMP協(xié)議發(fā)送ICMP數(shù)據(jù)包。知道了ARP協(xié)議的作用,就能夠很清楚地知道,數(shù)據(jù)包的向外傳輸很依靠ARP協(xié)議,要知道,ARP協(xié)議的所有操作都是內核自動完成的,同其他的。同時需要注意的是,ARP協(xié)議只使用于本網(wǎng)絡。ARP協(xié)議并不只在發(fā)送了ARP請求才接收ARP應答。ARP欺騙的主要用途就是進行在交換網(wǎng)絡中的嗅探。A就會跳出IP地址沖突的警告,當然B也會有警告。

  

【正文】 地址變換成 48 bit 的以太網(wǎng)地址。 從邏輯 I n t e r n e t 地址到對應的物理硬件地址需要進行翻譯。這就是 A R P 的功能。 A R P本來是用于廣播網(wǎng)絡的,有許多主機或路由器連在同一個網(wǎng)絡上。 6) A R P 發(fā)送一份稱作 A R P 請求的以太網(wǎng)數(shù)據(jù)幀給以太網(wǎng)上的每個主機。這個過程稱作廣播,如圖 4 2 中的虛線所示。 A R P 請求數(shù)據(jù)幀中包含目的主機的 I P 地址(主機名為 b s d i),其意思是 ―如果你是這個 I P 地址的擁有者,請回答你的硬件地址。 ‖ 圖 42 當用戶輸入命令 “ftp 主機名 ”時 ARP 的操作 7) 目的主機的 A R P 層收到這份廣播報文后,識別出這是發(fā)送端在尋問它的 I P 地址 ,于是發(fā)送一個 A R P 應答。這個 A R P 應答包含 I P 地址及對應的硬件地址。 8) 收到 A R P 應答后,使 A R P 進行請求 —應答交換的 I P 數(shù)據(jù)報現(xiàn)在就可以傳送了。 9) 發(fā)送 I P 數(shù)據(jù)報到目的主機。在 A R P 背后有一個基本概念,那就是網(wǎng)絡接口有一個硬件地址(一個 48 bit 的值,標識不同的以太網(wǎng)或令牌環(huán)網(wǎng)絡接口)。 在硬件層次上進行的數(shù)據(jù)幀交換必須有正確的接口地址。但是, T C P / I P 有自己的地址: 32 bit 的 I P 地址。知道主機的 I P 地址并不能讓內核發(fā)送一幀數(shù)據(jù)給主機。內核(如以太 網(wǎng)驅動程序)必須知道目的端的硬件地址才能發(fā)送數(shù)據(jù)。 A R P 的功能是在 32 bit 的 I P 地址和采用不同網(wǎng)絡技術的硬件地址之間提供動態(tài)映射。點對點鏈路不使用 A R P。當設置這些鏈路時(一般在引導過程進行),必須告知內核鏈路每一端的 I P 地址。像以太網(wǎng)地址這樣的硬件地址并不涉及。 ARP 高速緩存 A R P 高效運行的關鍵是由于每個主機上都有一個 A R P 高速緩存。這個高速緩存存放了最近I n t e r n e t 地址到硬件地址之間的映射記錄。高速緩存中每一項的生存時間一般為 2 0 分鐘,起始時間從被 創(chuàng)建時開始算起。 我們可以用 a r p(8)命令來檢查 ARP 高速緩存。參數(shù) a 的意思是顯示高速緩存中所有的內容。bsdi %arp a sun () at 8:0:20:3:f6:42 svr4 () at 0:0:c0:c2:9b:26 48 bit 的以太網(wǎng)地址用 6 個十六進制的數(shù)來表示,中間以冒號隔開。在 4 . 8 小節(jié)我們將討論 a r p 命令的其他功能。 網(wǎng)絡層 ARP 協(xié)議的作用 你知道,數(shù)據(jù)包在局域網(wǎng)上是怎么傳輸?shù)膯??是靠什么來傳輸?shù)膯??也許 你會說是靠 IP 地址,那么你只正確了一半。其實真正在傳輸過程中是靠計算機的網(wǎng)卡地址即 MAC來傳輸。 現(xiàn)在我們就用實例來模擬一下傳輸?shù)娜^程?,F(xiàn)在有一臺計算機 A(IP: MAC:AAAAAAAAAAAA),另 一臺計算機 B(IP: MAC:BBBBBBBBBBBB)現(xiàn)在用 A 去 ping B??匆? Reply from : bytes=32 time10ms TTL=32 這樣的信息。然后在運行中輸入 arp a,會看見 BBBBBBBBBBBB dynamic 這樣的信息。那就是 arp 高速緩存中 IP 地 址和 MAC 地址的一個映射關系,在以太網(wǎng)中,數(shù)據(jù)傳遞靠的是 MAC,而并不是 IP 地址。其實在這背后就隱藏著 arp 的秘密。你一定會問,網(wǎng)絡上這么多計算 機, A 是怎么找到 B 的?那么我們就來分析一下細節(jié)。首先 A 并不知道 B 在哪里,那么 A 首先就會發(fā)一個廣播的 ARP 請求,即目的 MAC 為 FFFFFF FFFFFF,目的 IP 為 B 的,再帶上自己的源 IP,和源 MAC。那么一個網(wǎng)段上的所有計算機都會接收到來自 A 的 ARP 請求,由于每臺計算機都有自己唯一的 MAC 和 IP,那么它會分析目的 IP 即 是不是自己的 IP?如果不是,網(wǎng)卡會自動 丟棄數(shù)據(jù)包。如果B 接收到了,經(jīng)過分析,目的 IP 是自己的 ,于是更新自己的 ARP 高速緩存,記錄下 A 的IP 和 MAC。然后 B 就會回應 A 一個 ARP 應答,就 是把 A 的源 IP,源 MAC 變成現(xiàn)在目的 IP,和目的 MAC,再帶上自己的源 IP,源 MAC,發(fā)送給 A。當 A 機接收到 ARP應答后,更新自己的 ARP 高速 緩存,即把 arp 應答 中的 B 機的源 IP,源 MAC 的映射關系記錄在高速緩存中。那么現(xiàn)在 A 機中有 B 的 MAC 和 IP, B 機中也有 A 的 MAC 和IP。 arp 請 求和應答過程就結束了。由于 arp 高速緩存是會定時自動更新的,在沒有靜態(tài)綁定的情況下, IP 和 MAC 的映射關系會隨時間流逝自動消失。在以后的通信中, A在和 B 通信時,會首先察看 arp 高速緩存中有沒有 B 的 IP 和 MAC 的映射關系,如果有,就直接取得 MAC 地址,如果沒有就再發(fā)一次 ARP 請求的廣播, B 再應答即重復上面動作。 網(wǎng)絡管理之 ARP 協(xié)議應用 我們知道,當我們在瀏覽器里面輸入網(wǎng)址 時, DNS 服務器會自動把它解析為 IP 地址,瀏覽器實際上查找的是 IP 地址而不是網(wǎng)址。那么 IP 地址是如何轉換為第二層物理地址(即 MAC 地址)的呢?在局域網(wǎng)中,這是通過 ARP 協(xié)議來完成的。 ARP 協(xié)議對網(wǎng)絡安全具有重要的意義。 通過偽造 IP 地址和 MAC 地址實現(xiàn) ARP 欺騙,能夠在網(wǎng)絡中產(chǎn)生大量的 ARP 通信量使網(wǎng)絡阻塞。所以網(wǎng)管們應深入理解 ARP 協(xié)議。 一、什么是 ARP 協(xié)議 ARP 協(xié)議是 ―Address Resolution Protocol‖(地址解析協(xié)議)的縮寫。在局域網(wǎng)中,網(wǎng)絡中實際傳輸?shù)氖?―幀 ‖,幀里面是 有目標主機的 MAC 地址的。在以太網(wǎng)中,一個主機要和另一個主機進行直接通信,必須要知道目標主機的 MAC 地址。但這個目標 MAC地址是如何獲得的呢?它就是通過地址解析協(xié)議獲得的。所謂 ―地址解析 ‖就是主機在發(fā)送幀前將目標 IP 地址轉換成目標 MAC 地址的過程。 ARP 協(xié)議的基本功能就是通過目標設備的 IP 地址,查詢目標設備的 MAC 地址,以保證通信的順利進行。 二、 ARP 協(xié)議的工作原理 在每臺安裝有 TCP/IP 協(xié)議的電腦里都有一個 ARP 緩存表,表里的 IP 地址與 MAC地址是一一對應的,如附表所示。 附表 ip 地址 mac 地址 00- aa- 00- 62- c6- 09 00- aa- 00- 62- c5- 03 03- aa- 01- 75- c3- 06 …… …… 我們以主機 A( )向主機 B( )發(fā)送數(shù)據(jù)為例。當發(fā)送數(shù)據(jù)時,主機 A 會在自己的 ARP 緩存表中尋找是否有目標 IP 地址。如果找到了,也就知道了目標 MAC 地址,直接把目標 MAC 地址寫入幀里面發(fā)送就可以了;如果在 ARP 緩存表 中沒有找到相對應的 IP 地址,主機 A 就會在網(wǎng)絡上發(fā)送一個廣播,目標 MAC 地址是 ―‖,這表示向同一網(wǎng)段內的所有主機發(fā)出這樣的詢問: ―的 MAC 地址是什么? ‖網(wǎng)絡上其他主機并不響應 ARP 詢問,只有主機 B 接收到這個幀時,才向主機 A 做出這樣的回應: ― MAC 地址是 00aa0062c609‖。這樣,主機 A 就知道了主機 B 的 MAC 地址,它就可以向主機 B 發(fā)送信息了。同時它還更新了自己的 ARP 緩存表,下次再向主機 B 發(fā)送信息時,直接從 ARP 緩存 表里查找就可以了。 ARP 緩存表采用了老化機制,在一段時間內如果表中的某一行沒有使用,就會被刪除,這樣可以大大減少 ARP 緩存表的長度,加快查詢速度。 三、如何查看 ARP 緩存表 ARP 緩存表是可以查看的,也可以添加和修改。在命令提示符下,輸入 ―arp a‖就可以查看 ARP 緩存表中的內容了,如附圖所示。 用 ―arp d‖命令可以刪除 ARP 表中某一行的內容;用 ―arp s‖可以手動在 ARP 表中指定 IP 地址與 MAC 地址的對應。 手把手教你捕獲數(shù)據(jù)包 一.捕獲數(shù)據(jù)包的實現(xiàn)原理: 在通常情況下,網(wǎng)絡通 信的套接字程序只能響應與自己硬件地址相匹配的或是以廣播形式發(fā)出的數(shù)據(jù)幀,對于其他形式的數(shù)據(jù)幀比如已到達網(wǎng)絡接口但卻不是發(fā)給此地址的數(shù)據(jù)幀,網(wǎng)絡接口在驗證投遞地址并非自身地址之后將不引起響應,也就是說應用程序無法收取與自己無關的的數(shù)據(jù)包。 所以我們要想實現(xiàn)截獲流經(jīng)網(wǎng)絡設備的所有數(shù)據(jù)包,就要采取一點特別的手段了: 將網(wǎng)卡設置為混雜模式。 這樣一來,該主機的網(wǎng)卡就可以捕獲到所有流經(jīng)其網(wǎng)卡的數(shù)據(jù)包和幀。 但是要注意一點,這種截獲僅僅是數(shù)據(jù)包的一份拷貝,而不能對其進行截斷,要想截斷網(wǎng)絡流量就要采用一些更底層的辦法了, 不在本文的討論范圍之內。 二. 捕獲數(shù)據(jù)包的編程實現(xiàn): socket 的實現(xiàn)方法 不同于我們常用的數(shù)據(jù)流套接字和數(shù)據(jù)報套接字,在創(chuàng)建了原始套接字后,需要用 WSAIoctl()函數(shù)來設置一下,它的定義是這樣的 int WSAIoctl( SOCKET s, DWORD dwIoControlCode, LPVOID lpvInBuffer, DWORD cbInBuffer, LPVOID lpvOutBuffer, DWORD cbOutBuffer, LPDWORD lpcbBytesReturned, LPWSAOVERLAPPED lpOverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine )。 雖然咋一看參數(shù)比較多,但是其實我們最關心的只是其中的第二項而已,我們需要做的就是把第二項設置為 SIO_RCVALL,講了這么多其實要做的就是這么一行代碼,很簡單吧? ^_^ 當然我們還可以指定是否親自處理 IP 頭,但是這并不是必須的。 完整的代碼類似與如下這樣,加粗的代碼是與平常不同 的需要注意的地方: ( 為了讓代碼一目了然,我把錯誤處理去掉了,下同 ) include “” define SIO_RCVALL _WSAIOW(IOC_VENDOR,1) SOCKET SnifferSocket WSADATA wsaData。 iFlag=WSAStartup(MAKEWORD(2,2),amp。wsaData)。 //開啟 SnifferSocket=WSASocket(AF_INET, //創(chuàng)建raw socket SOCK_RAW,IPPROTO_IP,NULL,0,WSA_FLAG_OVERLAPPED)。 char FAR name[128]。 //獲取本機 IP 地址 gethostname(name, sizeof(name))。 struct hostent FAR * pHostent。 pHostent = gethostbyname(name)。 SOCKADDR_IN sa。 //填充 SOCKADDR_IN 結構的內容 = AF_INET。 = htons(6000)。 // 端口號可以隨便改,當然與當然系統(tǒng)不能沖突 memcpy(amp。(),pHostenth_addr,pHostenth_length)。 bind(SnifferSocket,(LPSOCKADDR)amp。sa,sizeof(sa))。 //綁定 // 置 ioctl 來接收所有網(wǎng)絡數(shù)據(jù) ,關鍵步驟 DWORD dwBufferLen[10] 。 DWORD dwBufferInLen = 1 。 DWORD dwBytesReturned = 0 。 WSAIoctl(SnifferSocket, IO_RCVALL,amp。dwBufferInLen, izeof(dwBufferInLen), amp。dwBufferLen, sizeof(dwBufferLen),amp。dwBytesReturned , NULL , NULL )。 至此,實際就可以開始對網(wǎng)絡數(shù)據(jù)包進行嗅探了,而對于數(shù)據(jù)包的接收還是和普通的 socket一樣,通過 recv()函數(shù)來完成,因為這里涉及到不同的 socket 模型,接收方法差別很大,所以在此就不提供接收的代碼了。 的實現(xiàn)方法: winpcap 驅動包,是我們玩轉數(shù)據(jù)包不可或缺的好 東東, winpcap 的主要功能在于獨立于主機協(xié)議(如 TCPIP)而發(fā)送和接收原始數(shù)據(jù)報,主要為我們提供了
點擊復制文檔內容
試題試卷相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1