ARP协议应用以及ARP欺骗

ARP协议以及ARP欺骗

ARP协议简介

ARP是“Address Resolution Protocol“也就是地址解析协议的缩写,在以太网环境中,数据的传输所依懒的是MAC地址而非IP地址,而将已知IP地址转换为MAC地址的工作是由ARP协议来完成的。

ARP工作原理

在计算机网络中,以ping命令为例

ping 10.10.10.1

我们只给出了目标的IP地址,没有给出MAC地址,这就好比寄快递只给了收件人姓名,没有给收件地址

ARP协议就是为了通过收件人姓名而得到收件地址,最终实现收发快递功能的协议

那么ARP协议是怎样工作的呢?

如图,是我刚刚连入网络获取到ip地址时,抓取到的收到以回复及相应的ARP包

可以分析到如下内容

数据包分析

第一个数据包来自MAC地址58:41:20:2D:D5:B1的主机,这个数据包的目标地址为Broadcast也就是广播地址ff-ff-ff-ff-ff-ff,向本网段里的全部机器发送,询问who has 10.1.40.106,想要IP为10.1.40.106的主机地址回复自身的MAC地址

恰好我的主机所获取到的IP地址就是10.1.40.106,所以我的主机回复了一条消息给MAC地址为58:41:20:2D:D5:B1的主机,也就是网关主机,告知他我持有他询问的ip,同时给出我的MAC地址

然后网关在得到我的MAC后,就能愉快的和我通信啦

ARP欺骗

举例来说,这是一个基本的家庭网络结构,两台设备通过路由器网关上网左边的PC1为攻击者的主机,此时的PC2正常上网
1.jpg

PC1向PC2发送ARP数据包,告知网关IP所对应的MAC地址是自己也就是PC1

2.jpg

PC2的ARP表刷新后,PC1的MAC地址对应的是网关,所以一切正常的通过网关发送到互联网的数据包都发送到了PC1
3.jpg

但是PC1毕竟不是网关,所以此时的PC2就已经断网了,因为假的网关可不会帮他转发数据,这就达到了一个简单的断网攻击

但是攻击者通常不希望被发现攻击,窃取隐私才是最重要的,所以通常会再将PC2发来的流量转发给路由器,这样PC2还可以继续正常上网,但是所有的上网流量都要经过PC1,此时PC1知道PC2在访问什么web,web上有哪些图片,以及登录操作所传输的账号密码等。

部分攻击并不满足于看,更要篡改数据,比如当你访问http://www.baidu.com的时候,更改你的数据包内容,重定向去访问了http://www.e-wolf.top,或者等baidu.com回复给你页面写着空腹不能吃饭被篡改为空腹要多喝水

添加新评论