macOS arp 命令行使用

1,050 阅读3分钟

1. macOS 终端打印的arp 文档说明

usage: arp [-n] [-i interface] hostname
       arp [-n] [-i interface] [-l] -a
       arp -d hostname [pub] [ifscope interface]
       arp -d [-i interface] -a
       arp -s hostname ether_addr [temp] [reject] [blackhole] [pub [only]] [ifscope interface]
       arp -S hostname ether_addr [temp] [reject] [blackhole] [pub [only]] [ifscope interface]
       arp -f filename

2. 每个命令进行详细解释:

  1. arp [-n] [-i interface] hostname

    • 作用:查询指定主机的ARP表项。
    • 参数:
      • -n:不执行地址解析,只显示数字格式的地址。
      • -i interface:指定网络接口。
      • hostname:要查询的主机名。
  2. arp [-n] [-i interface] [-l] -a

    • 作用:显示ARP缓存中的所有条目。
    • 参数:
      • -n:不执行地址解析,只显示数字格式的地址。
      • -i interface:指定网络接口。
      • -l:显示本地主机的ARP缓存。
  3. arp -d hostname [pub] [ifscope interface]

    • 作用:从ARP缓存中删除指定主机的条目。
    • 参数:
      • hostname:要删除的主机名。
      • pub:删除公共ARP表项。
      • ifscope interface:指定网络接口。
  4. arp -d [-i interface] -a

    • 作用:清空ARP缓存。
    • 参数:
      • -i interface:指定网络接口。
  5. arp -s hostname ether_addr [temp] [reject] [blackhole] [pub [only]] [ifscope interface]

    • 作用:手动添加ARP表项。
    • 参数:
      • hostname:要添加的主机名。
      • ether_addr:主机的MAC地址。
      • temp:临时ARP表项。
      • reject:拒绝ARP表项。
      • blackhole:黑洞ARP表项。
      • pub:公共ARP表项。
      • only:只有公共ARP表项。
      • ifscope interface:指定网络接口。
  6. arp -S hostname ether_addr [temp] [reject] [blackhole] [pub [only]] [ifscope interface]

    • 作用:强制添加ARP表项,如果表项已存在则更新。
    • 参数同上。
  7. arp -f filename

    • 作用:从指定文件中读取ARP表项并加载到ARP缓存中。
    • 参数:
      • filename:包含ARP表项的文件名。

这些命令可以让用户管理ARP缓存,包括查询、添加、删除ARP表项,以及清空ARP缓存等操作。

假设我们有一个局域网,其中有两台主机:主机A和主机B。现在我们将使用arp命令来进行一些操作:

  1. 查询主机B的ARP表项:

    arp -n -i en0 hostB
    

    这条命令将在网络接口en0上查询主机B的ARP表项。

  2. 显示本地主机的ARP缓存:

    arp -l -a
    

    这条命令将显示本地主机的ARP缓存中的所有条目。

  3. 删除主机B的ARP表项:

    arp -d hostB
    

    这条命令将从ARP缓存中删除主机B的条目。

  4. 清空ARP缓存:

    arp -d -a
    

    这条命令将清空本地主机的ARP缓存。

  5. 手动添加主机C的ARP表项:

    arp -s hostC 00:11:22:33:44:55
    

    这条命令将手动添加主机C的ARP表项,MAC地址为00:11:22:33:44:55

  6. 强制添加或更新主机D的ARP表项:

    arp -S hostD 11:22:33:44:55:66
    

    这条命令将强制添加或更新主机D的ARP表项,MAC地址为11:22:33:44:55:66

  7. 从文件中加载ARP表项: 假设我们有一个名为arp_entries.txt的文件,内容如下:

    hostE 22:33:44:55:66:77
    hostF 33:44:55:66:77:88
    

    我们可以使用以下命令从文件中加载ARP表项:

    arp -f arp_entries.txt
    

    这将从文件中读取ARP表项并加载到ARP缓存中。