Android 平台上的 ARP 和 ARP欺骗

前言:想要做的功能是在Android某个应用中加入arp,使Android手机和指定MAC的设备进行Socket连接前,能够向路由请求获得该MAC对应IP,前提是手机和设备在同一局域网下。写一篇非常详细的学习Android平台上的ARP的博客吧。


一、关于ARP

1. ARP概述

百度百科_ARP维基百科_ARP都读了一下,感觉还是Wikipedia介绍的更细致深刻

Address Resolution Protocol

Address Resultion Protocol (ARP)是一个通信协议,用于将网络层地址(如一个IPv4地址)转换成数据链路层物理地址例如以太网地址(也被称作MAC地址)。

在Internet Protocol Version 6(IPv6)中,ARP功能由Neighbor Discovery Protocol(NDP)取代

Wikipedia还给出了ARP在网络OSI模型中的位置,更便于理解,如图:

ARP在因特网协议中的位置

2. ARP过程

ARP是如何执行这个转换的呢?举个栗子:

这里写图片描述

同一局域网很多主机,主机0想要知道主机1的MAC,就会在局域网内发一个广播:“我是IP-0,MAC-0;我想知道IP-1的MAC是多少?”所有收到这个广播的主机都会进行判断,如果自己不是IP-1,就丢弃该广播;主机1则会回复主机0:“主机0,我是IP-1,我的MAC是MAC-1!”收到回复后的主机0,更新了自己的本地ARP缓存表。主机1的MAC一旦确定,主机0就可以向主机1发送IP通信了。

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值