首先让我们了解下什么是ARP
ARP(地址解析协议)
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。
------ 来自《百度百科》
但是简单的总结下来就是,ARP就是一个地址解析协议,通过已知目标设备的IP地址,以此来查询目标设备的MAC地址。
虽然ARP在IPv4中网络层是必不可少的协议,但是,在IPv6协议中已经不再使用,其替代者是发现协议(NDP)。
至于ARP的用法,我们常用的也就是这其中的查询显示、添加记录、删除记录这三个功能。至于其他的如果大家有时间,也可以自己去实践操作。
CMD窗口输入arp可以查看到帮助说明:
-a 通过询问当前协议数据,显示当前 ARP 项。如果指定 inet_addr,则只显示指定计算机的 IP 地址和物理地址。如果不止一个网络接口使用 ARP,则显示每个 ARP 表的项。-g 与 -a 相同。-v 在详细模式下显示当前 ARP 项。所有无效项和环回接口上的项都将显示。inet_addr 指定 Internet 地址。-N if_addr 显示 if_addr 指定的网络接口的 ARP 项。-d 删除 inet_addr 指定的主机。inet_addr 可以是通配符 *,以删除所有主机。-s 添加主机并且将 Internet 地址 inet_addr与物理地址 eth_addr 相关联。物理地址是用连字符分隔的 6 个十六进制字节。该项是永久的eth_addr 指定物理地址。if_addr 如果存在,此项指定地址转换表应修改的接口的 Internet 地址。如果不存在,则使用第一个适用的接口。
一、arp -a参数的使用
arp -a参数的含义就是通过询问当前协议数据,显示当前 ARP 项。如果指定 inet_addr,则只显示指定计算机的 IP 地址和物理地址。如果不止一个网络接口使用 ARP,则显示每个 ARP 表的项。
arp -a参数的作用就是当你需要了解你网络设备对应的MAC地址时,你可以在命令提示符中输入arp -a参数回车,读取与IP地址对应的MAC地址关系表。
示例:ARP -a [inet_addr] [-N if_addr] [-v]
二、arp -g参数的使用
arp -g参数的含义用与-a相同。-a和-g参数的结果是一样的,多年来-g一直是UNIX平台上用来bai显示ARP缓存中所有项目的选项,而Windows用的是arp -a(-a可被视为all,即全部的意思),但它也可以接受比较传统的-g选项。
三、arp -s参数的使用
arp -s参数的含义就是添加主机并且将 Internet 地址 inet_addr与物理地址 eth_addr 相关联。物理地址(MAC地址)是用连字符分割的 6 个十六进制字节。该项是永久的。
arp -s参数的作用就是在办公网络或者是监控项目中,为了防止用户乱改IP地址或者遇到IP地址冲突,我们需要给IP地址绑定设备的MAC地址。只要下次出现网络故障,我们就可以用MAC地址定位到哪几台电脑。
其具体的用法就是先用arp -s ***.***.***.***(此为IP地址) **-**-**-**-**-**(此为MAC地址)绑定一条记录,然后用arp -a查询arp记录添加是否成功。
示例:ARP -s inet_addr eth_addr [if_addr]
四、arp -d参数的使用
arp -d参数的含义就是删除 inet_addr 指定的主机。inet_addr 可以是通配符 *,以删除所有主机。
arp -d参数的作用就是在你网络出现问题,IP地址发生冲突,其对应的MAC地址有误,那么我们就可以用arp -d命令来删除其中出问题的arp记录,然后重新添加新的arp记录,网络问题也就自然而然地得到解决了。
示例:ARP -d inet_addr [if_addr]
(注:如果想要彻底的清空ARP列表,则需要禁止所有的网络连接,否则在网络交互过程中仍然会产生新的ARP列表。)
参考文档:
1. 百度百科
2. 小谈ARP命令的介绍及使用说明!
3. arp -a和arp -d分别是什么意思