网络协议分析-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应答包

在这里插入图片描述

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