arp 命令详解

| 选择喜欢的代码风格  

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

arp 命令安装:


-bash/zsh: arp: command not found

#Debian
apt-get install net-tools

#Ubuntu
apt-get install net-tools

#Arch Linux
pacman -S net-tools

#Kali Linux
apt-get install net-tools

#CentOS
yum install net-tools

#Fedora
dnf install net-tools

#Raspbian
apt-get install net-tools

#Docker
docker run cmd.cat/arp arp

arp 命令补充说明:


arp 命令用于操作主机的 arp 缓冲区,它可以显示 arp 缓冲区中的所有条目、删除指定的条目或者添加静态的 IP 地址与 MAC 地址对应关系。

arp 命令语法:


arp [-vn] [-H type] [-i if] [-ae] [hostname]

arp [-v] [-i if] -d hostname [pub]

arp [-v] [-H type] [-i if] -s hostname hw_addr [temp]

arp [-v] [-H type] [-i if] -s hostname hw_addr [netmask nm] pub

arp [-v] [-H type] [-i if] -Ds hostname ifname [netmask nm] pub

arp [-vnD] [-H type] [-i if] -f [filename]

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条目。

arp 命令实例:


[root@Dev_Test ~]$arp -v
Address                  HWtype  HWaddress           Flags Mask            Iface
k8s-n2                   ether   52:54:00:19:8e:30   C                     br0
10.20.32.34              ether   50:01:d9:d6:71:7d   C                     br0
10.20.40.24              ether   38:d5:47:ab:4d:32   C                     br0
10.20.32.101             ether   40:31:3c:18:b0:44   C                     br0
10.20.32.205             ether   6c:b7:49:64:f9:be   C                     br0
k8s-n3                   ether   52:54:00:e3:0b:51   C                     br0
10.20.32.246             ether   50:01:d9:dc:cb:a7   C                     br0
10.20.32.181             ether   bc:3d:85:65:3b:31   C                     br0
10.20.32.180             ether   40:31:3c:18:b0:38   C                     br0
10.20.40.114                     (incomplete)                              br0
10.20.32.123             ether   78:02:f8:f6:7d:df   C                     br0
10.20.32.196             ether   10:6f:3f:29:46:89   C                     br0
10.20.32.105             ether   a8:c8:3a:4c:97:12   C                     br0
10.20.40.116                     (incomplete)                              br0
10.20.32.236             ether   40:31:3c:18:b0:70   C                     br0
10.20.32.51              ether   f8:c3:9e:4e:5b:da   C                     br0
10.20.32.171             ether   40:31:3c:18:a8:84   C                     br0
10.20.32.131             ether   40:31:3c:18:af:d4   C                     br0
10.20.32.77              ether   90:2b:d2:70:81:46   C                     br0
10.20.32.204             ether   54:25:ea:74:46:40   C                     br0
10.20.40.106             ether   fa:16:3e:13:df:36   C                     br0
10.20.32.254             ether   00:e0:8d:03:fc:4e   C                     br0
10.20.32.71              ether   40:31:3c:18:a7:98   C                     br0
10.20.40.21              ether   38:d5:47:ac:2a:61   C                     br0
10.20.32.152             ether   7c:11:cb:37:e1:47   C                     br0
10.20.40.25              ether   38:d5:47:ac:ea:2a   C                     br0
10.20.40.107             ether   fa:16:3e:c6:3a:6f   C                     br0
10.20.32.102             ether   40:31:3c:18:b2:14   C                     br0
10.20.32.202             ether   f0:0f:ec:56:97:7d   C                     br0
k8s-n1                           (incomplete)                              br0
Entries: 31     Skipped: 0      Found: 31

arp 命令的坑:


常说的ARP攻击:arp是有机器伪装成了网关的mac,所以浏览受害机器的arp缓存肯定可以发现一台或者多台机器与网关有相同的mac地址。如果真的有这种情况,就可以判断是arp攻击..

解决:arp 绑定

#首先,清空arp缓存。
arp -d 网关ip

#找到网关真实mac地址。
arping 网关ip

#绑定mac地址
arp -s 网关ip 网关真实mac

如果是暂时性 arp 欺骗攻击至此即可,如果网络中常有此问题,继续以下:

#如下命令建立 /ect/ip-mac 文件
echo '网关IP地址 网关MAC地址' >/ect/ip-mac

#通过下面的命令查看文件是否写的正确
more /ect/ip-mac

#加载静态绑定arp记录。
arp -f /ect/ip-mac 

如果想开机自动绑定 arp。

echo 'arp -f /ect/ip-mac' >> /etc/rc.d/rc.local

arp 命令扩展阅读:




arp 命令评论