ARP协议
来源:互联网 发布:四川大学网络空间学院 编辑:程序博客网 时间:2024/04/28 11:48
ARP协议
ARP协议叫做地址解析协议,在数据传送到目标网络时,源主机需要将数据发送到对应主机,但源主机只知道目标主机的IP地址,不知道MAC地址,而数据包在接收时是先被网卡接受在递交给上层协议,网卡通过数据包上的MAC地址与主机是否相符,选择是否要丢弃,所以在通讯前必须先获得目标主机的MAC地址。
(1)源主机通过广播的方式,向局域网内的所有主机发送ARP请求,其中包括源主机的IP地址IP1, MAC地址M1,目标主机的IP地址IP2,MAC地址不知道。
(2)局域网内部的所有主机在接收到这个消息后,先对比IP2与自己是否相同,如不同则直接丢弃,只有IP地址为IP2的主机回向源主机发送ARP响应,其中包括源主机的IP地址IP2,MAC地址M2,目标主机的IP地址IP1,MAC地址M1。
ARP报文格式
其中:
帧类型:ARP帧为0806。
硬件类型:链路层网络类型,例如:以太网为1。
协议类型:指要提交的上层协议类型,例如:IP协议为0800。
硬件地址长度:以太网地址长度 ,06。
协议地址长度:IP地址长度,04。
以太网目的地址:ff ff ff ff,全F表示广播地址。
ARP缓存表
每台主机中都有一个ARP缓存表,其中保存了多条IP地址与MAC地址的对应关系的记录,对于这些记录都存在一个过期时间,若该条记录在表中存在的时间大于过期时间,那么就会删除该条记录。
当需要ARP协议解析某个地址时,会先查看ARP缓存表,若表中无该条记录,则在局域网中广播发送数据报查询,查询后会立即更新ARP缓存表。
ARP指令
arp -a:查看arp缓存表信息。
ARP脚本抓取对应主机的MAC地址
#!/bin/bashindex=1num=0while [ $index -le 254 ]do if [ $num -eq 20 ] then sleep 1 num=0 continue fi ping -c1 "92.16.16.$index" & let index++ let num++done
阅读全文
0 0
- arp协议,arp欺骗
- ARP协议
- ARP协议
- ARP协议
- arp协议
- ARP协议
- ARP协议
- ARP协议
- ARP 协议
- ARP协议
- ARP协议
- ARP协议
- ARP协议
- ARP协议
- ARP 协议
- arp协议
- ARP协议
- ARP协议
- vim学习笔记(usr_04)
- 搜索引擎选择: Elasticsearch与Solr
- 欢迎使用CSDN-markdown编辑器
- 反编译apk获得jar包
- js实现图片上下轮播效果(二)
- ARP协议
- iBatis 和 myBatis中 的“$”符号和“#”
- eclipse导入android系统签名
- 自定义View-圆球进度的实现(仿360波浪进度)
- YELANGU 狼王 L4摄影小车II代
- js计算用开始日期和结束日期计算天数
- JSP开发业务应用
- 到来的Rxjava2.0<一>
- 算术表达式的转换——算术表达树