Linux arp命令详解及C/C++代码实现

      最后更新:2022-03-06 20:07:53 手机定位技术交流文章

      ARP(地址解析协议)是一种网络协议,用于从 IP 地址中找出设备的硬件 (MAC) 地址。当设备想要与本地网络上的其他设备通信时使用它,发送设备使用 ARP 将 IP 地址转换为 MAC 地址。

      设备发送一个 ARP 请求消息,其中包含接收设备的 IP 地址。 本地网段上的所有设备都会看到该消息,但只有具有该 IP 地址的设备会使用包含其 MAC 地址的 ARP 回复消息进行响应。 发送设备现在有足够的信息将数据包发送到接收设备。

      在这里插入图片描述

      ARP过程的解释:

      假设主机 A 想与主机 B 通信。主机 A 知道主机 B 的 IP 地址,但不知道主机 B 的 MAC 地址。为了找出主机B的MAC地址,主机A发送一个ARP请求,列出主机B的IP地址作为目的IP地址,MAC地址为FF:FF:FF:FF:FF:FF(以太网广播) .交换机会将帧转发到所有接口。

      网段上的每个设备都会收到该数据包,但由于目标 IP 地址是主机 B 的 IP 地址,因此只有主机 B 会回复 ARP 回复数据包,并列出其 MAC 地址。

      Linux中的arp命令是什么

      ARP 代表“地址解析协议”,是一种用于将 IP 地址映射到局域网上的物理 MAC 地址的协议。
      在这里插入图片描述
      在局域网上,客户端计算机尝试联系服务器,同一广播域上的两台计算机之间的通信是指局域网。ARP 缓存是一个 IP 地址表及其对应的 MAC 地址。

      要查看 Linux 上的 ARP 表,请打开终端输入以下命令:

      arp -a

      在这里插入图片描述
      可以在输出中看到您的计算机 ARP 表, 第一列是IP地址,第二列对应MAC地址。还可以通过使用 arp 命令指定 IP 地址来查找特定 IP 地址的 ARP 缓存条目:

      arp -a <IP地址>

      在这里插入图片描述

      下面给出了一些 ARP 命令:

      arp -s

      该命令用于在ARP表中添加静态条目,将IP地址解析为物理地址。 要在 ARP 表中添加静态条目,在终端上编写 arp -s 命令以及设备的 IP 地址和 MAC 地址。

      arp -s 192.168.67.15 00-a5-00-34-c3-09

      下面我们来看看怎么在ARP 表中删除条目:

      arp -d

      当您要从特定接口的 ARP 表中删除条目时使用此命令。 要删除条目,请在要删除的命令提示符中写入 arp -d 命令以及 IP 地址。

      arp -d 192.168.67.23

      您还可以从 ARP 表中删除所有条目。 此命令将从表中删除或刷新所有条目。

      arp -d *

      Linux arp命令C/C++代码实现

      编译运行:

      在这里插入图片描述

      总结

      了解了 ARP 是什么以及它是如何工作的。 及如何查找本地网络的 ARP 缓存和特定 IP 地址。希望这将帮助您解决与网络相关的问题,更多详细信息可以查看man手册。

      欢迎关注微信公众号【程序猿编码】,需要arp命令完整源码的添加本人微信号(c17865354792)

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/19615.html

          热门文章

          文章分类