ARP协议(2)ARP协议格式详解
生活随笔
收集整理的這篇文章主要介紹了
ARP协议(2)ARP协议格式详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、協議格式
ARP協議的格式如下:
分兩大塊來講解:
1、紅色框起來的是:以太網的首部,共14字節。
這部分是你不管發送什么以太網協議的數據包,它都是需要的,而且是必須的。各字段的說明:
2、藍色框起來的部分,這就是ARP協議的格式(請求/應答)
對于一個ARP請求來說,除目的端硬件地址外的所有其他的字段都有填充值。當系統收到一份目的端為本機的ARP請求報文后,它就把硬件地址填進去,然后用兩個目的端地址分別替換兩個發送端地址,并把操作字段置為2,最后把它發送回去。
二、分析ARP協議 這里要用到一抓包工具:wireshark,這是一免費的抓包工具,居于winpcap驅動,大家可以到網上去下載。下面我主要用這個工具來分析ARP協議格式。(Linux下可以用tcpdump來抓包,本ARP講解全部都基于win7下)
1、wireshark基本用法 關于wireshark的用法,大家可以去搜索,而且在下載包里,也自帶了一份使用說明。在這里簡單講解下它基本使用。
安裝,打開wireshark會出現這樣的界面:
點擊 抓包 -- 網絡接口
出現的窗口中, 第1列 詳細信息, 就是你電腦里的網絡適配器(網卡)的描述信息,我這有3個,第一個是無線網卡,第二個是虛擬的無線網卡,第三個是插入網線的網卡。 第2列 IP地址,就是每個網卡的IP/MAC地址。默認顯示的是MAC地址,在上面在點擊下,就會顯示IP地址 第3列 包,是經過該網卡的包的數量 第4列 包數/秒, 是每秒經過該網卡包的數量 上面的3個網卡中,可以看出,只有第一個網卡是由流量的(包數),所以在這臺機器上,第一個網卡是可用的。 當然,可能會同時存在多個可用的網卡,這個時候,要監聽哪個網卡的數據,就由你來決定了。(可以通過IP/MAC地址來分辨)
wireshark可以有很多的過濾規則,如果不設置的話,它會顯示所有經過該網卡的數據包。在這里,我先不對它進行過濾設置,點擊上面的開始按鈕,出現:
圖中,我用紅框分割出了4部分: 第1部分 過濾:這里填寫你要過濾的表達式(不是隨便填的,可以參考它的說明文檔) 第2部分 是主體部分,這里主要顯示了經過該網卡的數據包,各段的含義,大家看字段名就可以看出是什么意思,這里我就不再贅述了。 第3部分 是對應包格式說明 第4部分 是原始數據包的內容(十六進制)
2、ARP包詳解 好,這個時候,我們根據RAP的協議,來研究下,ARP在真正網絡上是如何來傳輸的。 另外,wireshark一旦開啟后,就不停地把包展現出來,為避免顯示包數過多,而不必我們分析時,可進行暫停,如圖:
在Protocol這列我們找到ARP,如果太多,可以在 過濾框里輸入arp回車,就把arp協議的過濾出來了
我們隨便選出一ARP包:
上面紅色線或框的部分,就是我們之前說的ARP協議格式的各個字段,大家對照協議,就都明白了。
有同學就問了,這個包,那我可以控制它么?
| 字段 | 所占字節數 | 說明 |
| 以太網目的地址 | 6 | 要向哪臺主機發送信息,主機的MAC地址 |
| 以太網源地址 | 6 | 信息是從哪臺機器發送出來的,主機的MAC地址 |
| 幀類型 | 2 | 表示這是什么類型的數據包。如果是RAP的話,該值為:0x0806 |
2、藍色框起來的部分,這就是ARP協議的格式(請求/應答)
| 字段 | 所占字節數 | 說明 |
| 硬件類型 | 2 | 通常填1,表示以太網硬件地址類型 |
| 協議類型 | 2 | 通常為0x0800,表示IP地址類型 |
| 硬件地址長度 | 1 | MAC地址的長度,填6 |
| 協議地址長度 | 1 | IP地址長度,填4 |
| op | 2 | 操作字段: ARP請求:1 ARP相應:2 RARP請求:3 RARP相應:4 |
| 發送端以太網地址 | 6 | |
| 發送端IP地址 | 4 | |
| 目的以太網地址 | 6 | |
| 目的以太網IP地址 | 4 | |
二、分析ARP協議 這里要用到一抓包工具:wireshark,這是一免費的抓包工具,居于winpcap驅動,大家可以到網上去下載。下面我主要用這個工具來分析ARP協議格式。(Linux下可以用tcpdump來抓包,本ARP講解全部都基于win7下)
1、wireshark基本用法 關于wireshark的用法,大家可以去搜索,而且在下載包里,也自帶了一份使用說明。在這里簡單講解下它基本使用。
安裝,打開wireshark會出現這樣的界面:
點擊 抓包 -- 網絡接口
出現的窗口中, 第1列 詳細信息, 就是你電腦里的網絡適配器(網卡)的描述信息,我這有3個,第一個是無線網卡,第二個是虛擬的無線網卡,第三個是插入網線的網卡。 第2列 IP地址,就是每個網卡的IP/MAC地址。默認顯示的是MAC地址,在上面在點擊下,就會顯示IP地址 第3列 包,是經過該網卡的包的數量 第4列 包數/秒, 是每秒經過該網卡包的數量 上面的3個網卡中,可以看出,只有第一個網卡是由流量的(包數),所以在這臺機器上,第一個網卡是可用的。 當然,可能會同時存在多個可用的網卡,這個時候,要監聽哪個網卡的數據,就由你來決定了。(可以通過IP/MAC地址來分辨)
wireshark可以有很多的過濾規則,如果不設置的話,它會顯示所有經過該網卡的數據包。在這里,我先不對它進行過濾設置,點擊上面的開始按鈕,出現:
圖中,我用紅框分割出了4部分: 第1部分 過濾:這里填寫你要過濾的表達式(不是隨便填的,可以參考它的說明文檔) 第2部分 是主體部分,這里主要顯示了經過該網卡的數據包,各段的含義,大家看字段名就可以看出是什么意思,這里我就不再贅述了。 第3部分 是對應包格式說明 第4部分 是原始數據包的內容(十六進制)
2、ARP包詳解 好,這個時候,我們根據RAP的協議,來研究下,ARP在真正網絡上是如何來傳輸的。 另外,wireshark一旦開啟后,就不停地把包展現出來,為避免顯示包數過多,而不必我們分析時,可進行暫停,如圖:
在Protocol這列我們找到ARP,如果太多,可以在 過濾框里輸入arp回車,就把arp協議的過濾出來了
我們隨便選出一ARP包:
上面紅色線或框的部分,就是我們之前說的ARP協議格式的各個字段,大家對照協議,就都明白了。
有同學就問了,這個包,那我可以控制它么?
好,下面一篇,我們主要來學習,如果對ARP進行編程。
總結
以上是生活随笔為你收集整理的ARP协议(2)ARP协议格式详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ajax多个分页,通过Ajax与kami
- 下一篇: PUN 2 菜鸟养成记 2主服务