上几章中我们提到以太网协议中,在以太网首部中一个帧类型的字段,它可以表示为IP ARP RARP协议。 这里说一下ARP 和RARP协议。
首先看ARP协议: 要想网络中的数据包准确到达某个主机,最后还是依靠MAC地址, 那么ARP协议就负责将IP地址映射为48位MAC地址,当数据包到达一个以太网内后,就要依靠mac地址找到相应的主机。下面这张图表达的十分清晰
当数据包到达以太网时, 它要发送到具体的主机, 这时候就需要目的主机的MAC地址,如果ARP缓存里面没有ARP记录的话,它就会通过ARP广播来寻找对应IP的MAC地址, 目的主机接收到ARP请求之后便会回应自己的MAC地址。ARP请求的首部内容为:
以太网报头中的前两个字段是以太网的源地址和目的地址。目的地址为全 1的特殊地址是广播地址。电缆上的所有以太网接口都要接收广播的数据帧。两个字节长的以太网帧类型表示后面数据的类型。对于 A R P请求或应答来说,该字段的
值为0 x 0 8 0 6。
R A R P分组的格式与A R P分组基本一致(见图 4 - 3) 。它们之间主要的差别是 R A R P请求或应答的帧类型代码为0 x 8 0 3 5,而且R A R P请求的操作代码为3,应答操作代码为4。对应于A R P,R A R P请求以广播方式传送,而R A R P应答一般是单播( u n i c a s t )传送的。
其实ARP欺骗的原理也就是利用原始套接字对ARP头部进行重构,伪造假的IP和MAC地址,当目的主机接收到回应后,就会将内核的ARP缓冲更新为接受到的IP MAC对应关系。http://blog.csdn.net/smstong/article/details/7221184