ARP协议笔记
㈠ ARP的定义
ARP(Address Resolution Protocol),地址解析协议,把IP地址解析成MAC地址如:192.168.1.1->00-1E-37-44-86-5E,电脑在局域网内通讯时用数据帧通讯的,数据帧的头部就包含MAC地址信息
看下面这张图:
PC1想向PC2发送数据,就必须得知道PC2的IP地址和MAC地址,为什么呢?请再看下图:
任何的一个网络都是以OSI参考模型做参考的。发送数据都是要进行卦装的所以,PC1想向PC2发送数据,就一定要知道PC2的MAC地址!
那要怎样PC1才可以知道呢?
当PC1想发送数据到PC2,会先对照自己的ARP表,如果发现没有IP与MAC对应时,就会由PC1,发送一个广播的ARP请求这个ARP请求的内容包 括:源IP192.168.1.2,源MAC:0C.E1.12……,目IP192.168.1.3,目MAC:00.00.00.00什么是广播?也就 是"我PC1要找PC2的MAC地址,请问谁是?",同一网络内的机子都收得到此广播因为是广播的形式,所以PC3也一样可以接收!PC3接收了之后就开 始解卦装,到达网络层时发现自己不是192.168.1.3,丢弃!
PC2也接到同样的请求,在网络层时发现自己的IP与请求的IP相同,PC2就发送一个ARP应答这个应答来告诉PC1我是192.168.1.3的 MAC地址:F2.A0.12……。PC1收到后就把IP192.168.1.3对应的MAC保存在ARP表中这时,PC1就可以对PC2发送信息了!
㈡ 代理ARP
先看下图:
代理简单的理解是本来有由C来做这件事情的,现在由router来做当A ping C,主机A首先做的事情就是查自己的ARP表此时,发现没有主机C的MAC!没有对应目标的MAC,A就广播主机B接收了广播,通过解封装,发现目的IP 与自己的IP不配,丢弃此包!
广播是在同一个网段里,而router的E1口也是属于该网段,所以E1口一样接收到广播当router接收到广播时,同样也解封装,然后查看自己的路由表,些时就发现地址172.16.1.2是在E0口的172.16.1.0网段下这时候,router就代替主机C发送了ARP应答并附上E1口的MAC地址给主机A!
这样,在主机A的ARP表里就存在了172.16.1.2所对就的MAC(注意这个MAC是routerE1口的)!
其实这个router的应答是一种欺骗,它欺骗了主机A,只不过是正面的欺骗然后,主机A就可以向主机C发送数据了。主机A发送一个数据通过查看自己 ARP表就把该数据发送到E1口router接收到数据后通过表看自己的路由表,把数据进行转发到主机C㈢ ARP攻击
类似于我明明是Think,但是我给所有同学发短信说“我是Dave,这是我的新号码”
这样同学们给Dave发的短信以后就全部回到我这儿来,Dave就没办法“上网”了,我就完成了一次欺骗ARP欺骗就是黑客在局域网内的欺骗,让其他PC和路由器将IP对应到错误的MAC
ARP的攻击主要有以下几种方式 :
① 简单的欺骗攻击
这是比较常见的攻击,通过发送伪造的ARP包来欺骗路由和目标主机,让目标主机认为这是一个合法的主机,便完成了欺骗这种欺骗多发生在同一网段内,因为路由不会把本网段的包向外转发当然实现不同网段的攻击也有方法,便要通过ICMP协议来告诉路由器重新选择路由
(责任编辑:VEVB)
新闻热点
疑难解答