「协议」ARP工作原理的简单介绍

今天的文章不讲Python啦,今天所讲的内容是为下一篇的ARP攻击做铺垫。

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址。收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源(来自百度百科)。

(注意:ARP是以太网技术,其他类型网络可不用ARP)

上面的ARP介绍对于网络小白来说可能还会有难度,这样比喻吧:你给你的同学寄快递,你知道他的姓名,但你现在还不知道他的地址。你在QQ或者微信群里问:XX你地址是多少?XX就会回复你他的地址是哪。你把他的姓名和地址记录在你的便笺上,等下就根据记录的信息给他寄快递。

这里的收件人姓名相当于IP地址,收件人地址相当于MAC地址。记录信息的便笺相当于ARP缓存。ARP工作的原理就像这个过程:知道姓名,询问收件地址,根据记录的信息发邮件。很容易理解吧。(只是大致比喻,不要叫真)

从上面的介绍就已经暴露出了一个很严重的问题,如果我冒充你同学告诉你地址,你会不会把东西寄我这里?这个问题今天先不讨论,下次再说。

「协议」ARP工作原理的简单介绍

网络拓扑

如上图所示,3台路由器在一个局域网里,都开启debug arp,此时如果R1给R2发数据包(Ping),我们抓包观察。

「协议」ARP工作原理的简单介绍

R1的debug信息

「协议」ARP工作原理的简单介绍

R2的debug信息

「协议」ARP工作原理的简单介绍

R3的debug信息

R1上debug显示,自己发送的源IP是1.1.1.1,MAC是cc01.227c.0000,目的IP是1.1.1.2,但目是0000.0000.0000。之后收到回复:回复的源IP是1.1.1.2,MAC地址是cc02.02ec.0000。此时在R1上查看ARP缓存:「协议」ARP工作原理的简单介绍

R1的ARP缓存

R2上debug显示为收到请求并做出回复。R3上debug显示仅仅收到请求,未作出任何回复。

再来观察wireshark抓包情况:直接在Filter中输入arp,因为我们只关注arp协议的包:

「协议」ARP工作原理的简单介绍

抓包

上图显示了arp请求使用了广播发送,问谁有1.1.1.2的mac地址,告诉我(1.1.1.1),1.1.1.2则使用了单播进行回复。

展开看:「协议」ARP工作原理的简单介绍

ARP广播请求

「协议」ARP工作原理的简单介绍

ARP单播应答

本文没有详细介绍ARP协议,只是对其工作原理做了简单介绍。下篇以实验的方式演示一下如何利用Python、ARP进行网络攻击。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值