网络协议分析-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应答包
在这里插入图片描述

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_abcdef

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值