網絡協議分析-ARP協議分析

ARP分組的格式如下圖:

在這裏插入圖片描述

字段1是ARP請求的目的以太網地址,全1時代表廣播地址。
字段2是發送ARP請求的以太網地址。
字段3以太網幀類型表示的是後面的數據類型,ARP請求和ARP應答這個值爲0x0806。
字段4表示硬件地址的類型,硬件地址不只以太網一種,是以太網類型時此值爲1。
字段5表示要映射的協議地址的類型,要對IPv4地址進行映射,此值爲0x0800。
字段6和7表示硬件地址長度和協議地址長度,MAC地址佔6字節,IP地址佔4字節。
字段8是操作類型字段,值爲1,表示進行ARP請求;值爲2,表示進行ARP應答;3,
表示進行RARP請求;值爲4,表示進行RARP應答。
字段9是發送端ARP請求或應答的硬件地址,這裏是以太網地址,和字段2相同。
字段10是發送ARP請求或應答的IP地址。
字段11和12是目的端的硬件地址和協議地址。
下面兩張圖分別是ARP請求和相應的ARP應答的分組格式截圖。
ARP請求分組中,字段11目的MAC地址未知,用全0進行填充。
ARP應答分組中,將ARP請求中的源和目的地址進行交換,此外,變化的還有字段8 Opcode。其餘字段內容不會發生變化。

導入 scapy 庫
找到arp

from scapy.all import *
ls()

在這裏插入圖片描述

實例化arp數據包格式
arp=ARP()
arp.show()

在這裏插入圖片描述

ytw=Ether()
packet=ytw/arp
構建一個Ethernet和ARP複合數據類型

在這裏插入圖片描述

import os					#導入os模塊
os.system("ifconfig")		#查看本地ip

在這裏插入圖片描述

賦值源ip地址,因爲在本地所有一樣

在這裏插入圖片描述

賦值廣播地址

在這裏插入圖片描述

發包

在這裏插入圖片描述

分析

在這裏插入圖片描述

以太網2協議對應的源地址就是路由器的mac地址,目標地址對應廣播地址(全f)

在這裏插入圖片描述

arp請求包

在這裏插入圖片描述

arp應答包

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章