arp

arp

arp 命令用于显示和修改 IP 到 MAC 转换表

补充说明

arp 命令 是 Address Resolution Protocol,地址解析协议,是通过解析网络层地址来找寻数据链路层地址的一个网络协议包中极其重要的网络传输协议。而该命令可以显示和修改 arp 协议解析表中的缓冲数据。

这个核心协议模块实现RFC826中定义的 Address Resolution Protocol [译注:即TCP/IP的第三层到第一层的地址转换协议],用于在直接相连的网络中换第二层硬件地址和 Ipv4 协议地址之间的转换。 用户除非想对其进行配置,否则一般不会直接操作这个模块。

实际上,它提供对核心中其它协议的服务。

用户进程可以使用 packet(7) 的 sockets,收到 ARP 包(译注:一译分组)。 还有一种机制是使用 netlink(7) sockets,在用户空间管理 ARP 缓存的机制。我们也可以通过 ioctl (2) 控制任意 PF_INET socket上的 ARP 表

ARP 模块维护一个硬件地址到协议地址映射的缓存。这个缓存有大小限制,所以不常用的和旧的记录(Entry)将被垃圾收集器清除(garbage-collected),垃圾收集器永远不能删除标为永久的记录。我们可以使用ioctls直接操纵缓冲, 并且其性状可以用下面定义的 sysctl 调节。

如果在限定的时间(见下面的sysctl)内,一条现存映射没有肯定反馈时, 则认为相邻层的缓存记录失效。 为了再次向目标发送数据,ARP将首先试着询问本地arp进程 app_solicit 次,获取更新了的 MAC(介质访问控制)地址。 如果失败,并且旧的MAC地址是已知的,则发送 ucast_solicit 次的 unicast probe。如果仍然失败,则将向网络广播一个新的ARP请求,此时要 有待发送数据的队列

如果 Linux 接到一个地址请求,而且该地址指向 Linux 转发的地址,并且接收接口打开了代理 arp 时,Linux 将自动添加一条非永久的代理 arp 记录;如果存在拒绝到目标的路由,则不添加代理 arp 记录。

语法

arp(选项)(参数)

选项

-a # 主机 :显示 arp 缓冲区的所有条目;
-H # 地址类型 :指定 arp 指令使用的地址类型;
-d # 主机 :从 arp 缓冲区中删除指定主机的 arp 条目;
-D # 使用指定接口的硬件地址;
-e # 以 Linux 的显示风格显示 arp 缓冲区中的条目;
-i # 接口 :指定要操作 arp 缓冲区的网络接口;
-s # 主机 MAC 地址 :设置指定的主机的 IP 地址与 MAC 地址的静态映射;
-n # 以数字方式显示 arp 缓冲区中的条目;
-v # 显示详细的 arp 缓冲区条目,包括缓冲区条目的统计信息;
-f # 文件 :设置主机的 IP 地址与 MAC 地址的静态映射。

参数

主机:查询 arp 缓冲区中指定主机的 arp 条目。

实例

显示arp 缓冲区内容

[root@localhost ~]# arp -v
Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.0.134            ether   00:21:5E:C7:4D:88   C                     eth1
115.238.144.129          ether   38:22:D6:2F:B2:F1   C                     eth0
Entries: 2      Skipped: 0      Found: 2

添加静态 arp 映射

arp -s IP MAC-ADDRESS
arp -s 192.168.1.1 00:b1:b2:b3:b4:b5

删除 arp 缓存条目

arp -d 192.168.1.1

若文章对你有帮助,可以点赞或打赏支持我们。发布者:Aurora,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/arp/

(0)
AuroraAurora站点维系者
上一篇 2023年 12月 6日 下午1:04
下一篇 2023年 12月 6日 下午1:05

相关推荐

  • command

    文章目录command补充说明语法参数实例 command 调用并执行指定的命令 补充说明 command命令 调用指定的指令并执行,命令执行时不查询shell函数。command…

    入门教程 2023年 12月 7日
  • Java String 类

    字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。 文章目录创建字符串StringDemo.java 文件…

    2023年 3月 4日
  • hostid

    文章目录hostid概要主要用途选项例子注意 hostid 显示当前主机的十六进制数字标识。 概要 hostid [OPTION]… 主要用途 显示当前主机的十六进制标识符。 …

    入门教程 2023年 12月 15日
  • IOS iAD整合

    文章目录简介实例步骤输出 简介 IAD是苹果推出的广告平台,它可以帮助开发者从应用程序中获取收入。 实例步骤 创建一个简单的View based application 选择项目文…

    2023年 4月 1日
  • accept

    文章目录accept补充说明语法选项参数 accept 指示打印系统接受发往指定目标打印机的打印任务 补充说明 accept命令 属于CUPS套件,用于指示打印系统接受发往指定目标…

    入门教程 2023年 12月 6日
  • atq

    文章目录atq补充说明语法选项实例 atq 列出当前用户的at任务列表 补充说明 atq命令 显示系统中待执行的任务列表,也就是列出当前用户的at任务列表。 语法 atq [-V]…

    入门教程 2023年 12月 6日
  • dpkg-preconfigure

    文章目录dpkg-preconfigure补充说明语法选项参数实例 dpkg-preconfigure Debian Linux中软件包安装之前询问问题 补充说明 dpkg-pre…

    入门教程 2023年 12月 7日
  • setsid

    文章目录setsid补充说明语法选项实例 setsid 在新的会话中运行程序 补充说明 setsid命令 子进程从父进程继承了:SessionID、进程组ID和打开的终端。子进程如…

    入门教程 2024年 3月 4日
  • groupmod

    文章目录groupmod补充说明语法选项参数 groupmod 更改群组识别码或名称 补充说明 groupmod命令 更改群组识别码或名称。需要更改群组的识别码或名称时,可用gro…

    入门教程 2023年 12月 14日
  • iostat

    文章目录iostat补充说明语法选项参数实例 iostat 监视系统输入输出设备和CPU的使用情况 补充说明 iostat命令 被用于监视系统输入输出设备和CPU的使用情况。它的特…

    入门教程 2023年 12月 19日
Translate »