欢迎使用CSDN-markdown编辑器
来源:互联网 发布:163邮箱注册软件 编辑:程序博客网 时间:2024/06/03 16:29
地址解析协议–ARP(Address Resolution Protocol)
是根据IP地址获取物理地址的一个TCP/IP协议。
- 主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;
- 收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
ARP
地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。
ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。
ARP工作过程
主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01;
主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;
- 根据A上的路由表内容,IP确定访问主机B的转发IP地址是192.168.1.2。然后A主机在本地ARP缓存中检查主机B的匹配MAC地址。
- 如果A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。
- 主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。
- B将包含其MAC地址的ARP回复消息直接发送回A。
- 当A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。
本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。
“工作要素”ARP缓存
ARP缓存是个用来储存IP地址和MAC地址的缓冲区,是一个IP地址–>MAC地址的对应表,表中每一个条目分别记录了网络上其他主机的IP地址和对应的MAC地址。
ARP缓存可以包含动态和静态项目。
动态项目随时间推移自动添加和删除。
静态项目一直保留在缓存中,直到重新启动计算机为止。
ARP命令
ARP命令用于查询本机ARP缓存中IP地址–>MAC地址的对应关系、添加或删除静态对应关系等。
arp -a或arp –g:用于查看缓存中的所有项目。
arp -a Ip:arp -a加上接口的IP地址,只显示与该接口相关的ARP缓存项目。
arp -s Ip 物理地址:向ARP缓存中人工输入一个静态项目。
arp -d Ip:人工删除一个静态项目。
ARP报文
ARP报文字段总共有28个字节
1.硬件类型:占2个字节,表明ARP实现在何种类型的网络上。
Ø 值为1:表示以太网。
2.协议类型:占2个字节表示要映射的协议地址类型。
Ø IP:0800
3.硬件地址长度:占1个字节,表示 MAC地址长度,其值为6个字节。
4.协议地址长度:占1个字节,表示IP地址长度,此处值4个字节
5.操作类型 :占2个字节,表示ARP数据包类型。
Ø 值为1表示ARP请求。
Ø 值2表示ARP应答。
6.源MAC地址:占6个字节,表示发送端MAC地址
7.源IP地址:占4个字节,表示发送端IP地址
8.目的以太网地址:占6个字节,表示目标设备的MAC物理地址
9.目的IP地址:占4个字节,表示目标设备的IP地址.
注意:在ARP操作中,有效数据的长度为28个字节,不足以太网的最小长度46字节长度,需要填充字节,填充字节最小长度为18个字节
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- EL表达式中获取list长度
- Linux下SD卡驱动移植
- netBeans如何连接mysql
- F5安装配置VE版本
- 使用eclipse打开已有项目
- 欢迎使用CSDN-markdown编辑器
- 出现次数最多的整数
- Android ToolBar 完全解析
- 进程peb结构、获得peb的方法
- Restful后台系统搭建(一)
- js为操作radio
- socket编程入门(一)
- 【LeetCode】50. Pow(x, n)
- swf逆向调试