arp协议的验证学习
基本知识
ARP协议的用途:
ARP(地址解析协议)和RARP(逆地址解析协议)协议它们实现了IP地址和机器物理地址(通常是Mac地址)之间的转换,网络层使用IP地址寻找一台机器,而数据链路层使用物理地址寻址一台机器,因此网络层必须先将目标机器的IP地址转化成物理地址,才能使用数据链路层提供的服务。
工作原理:
主机向自己所在的网络广播一个ARP请求,该请求包含目标机器的网络地址。此网络上的其他机器都将受到这个请求,但只有被请求的目标机器会回应一个ARP应答,其中包含自己的物理地址。
测试设备:
这里我开始使用的是一台虚拟机和一台阿里云的服务器测试,还是并没有抓到arp包,原因:因为虚拟机和阿里云服务器不在同一网段,就不会发送arp广播帧,会数据帧直接从路由器出去。就是下面这幅图表示的意思。
先执行下面命令抓包:
另开一个中断下面测试:
先执行telnet 192.168.48.201 echo
在输入ctrl+]
再输入quit
前提另一台虚拟机开启echo服务。
开启方式可以参考下面博客:http://blog.csdn.net/linux_ever/article/details/50515632
结束抓包wireshark中观察:
第一个ARP请求帧:
以太网帧格式
可以看见因为没有CRC冗余校验,所以长度为42字节
ARP应答帧:
padding是填充字节来满足最小帧的长度。
参考资料:linux高性能服务器11页