arp linux 命令 没有

2016-03-10 17:07:36 yjh314 阅读数 2090

[功能]

管理系统的arp缓存。

 

[描述]

用来管理系统的arp缓存,常用的命令包括:

arp: 显示所有的表项。

arp  -d  address: 删除一个arp表项。

arp  -s address hw_addr: 设置一个arp表项。

 

常用参数:

-a 使用bsd形式输出。(没有固定的列)

-n 使用数字形式显示ip地址,而不是默认的主机名形式。

-D 不是指定硬件地址而是指定一个网络接口的名称,表项将使用相应接口的MAC地址。一般用来设置ARP代理。

-H type, --hw-type type: 指定检查特定类型的表项,默认type为ether,还有其他类型。

-i If, --device If: 指定设置哪个网络接口上面的arp表项。

-f filename: 作用同'-s',不过它通过文件来指定IP地址和MAC地址的绑定。文件中每行分别是主机和MAC,中间以空格分割。如果没有指定文件名称,则使用/etc/ethers文件。

 

以下例子中,用主机名称的地方也可以用点分10进制的ip地址来表示。另外输出结果中用"C"表示ARP缓存内容,"M"表示永久性表项,"P"表示公共的表项。

 

 

[举例]

*查看arp表:

#arp

Address                  HWtype  HWaddress           Flags Mask            Iface

hostname1                ether   44:37:e6:97:92:16   C                     eth0

hostname2                ether   00:0f:fe:43:28:c5   C                     eth0

hostname3                ether   00:1d:92:e3:d5:ee   C                     eth0

hostname4                ether   00:1d:0f:11:f2:a5   C                     eth0

这里,Flags中的"C"代表此表项目是高速缓存中的内容,高速缓存中的内容过一段时间(一般20分钟)会清空,而"M"则表示静态表项,静态表项的内容不会过一段时间被清空。

 

*查看arp表,并且用ip显示而不是主机名称:

# arp -n

Address                  HWtype  HWaddress           Flags Mask            Iface

10.1.10.254              ether   00:1d:92:e3:d5:ee   C                     eth0

10.1.10.253              ether   44:37:e6:9b:2c:53   C                     eth0

10.1.10.178              ether   00:1b:78:83:d9:85   C                     eth0

10.1.10.119              ether   00:1d:0f:11:f2:a5   C                     eth0

这里,对于上面的条目,假设当我们"ping 10.1.10.1"通过之后,arp中会多一条"10.1.10.1"相关的信息。

 

*查看arp表,显示主机名称和ip:

#arp -a

ns.amazon.esdl.others.com (10.1.10.254) at 00:1d:92:e3:d5:ee [ether] on eth0

server.amazon.eadl.others.com (10.1.10.253) at 44:37:e6:9b:2c:53 [ether] on eth0

D2-baijh.amazon.esdl.others.com (10.1.10.178) at 00:1b:78:83:d9:85 [ether] on eth0

aplab.local (10.1.10.119) at 00:1d:0f:11:f2:a5 [ether] on eth0

 

*添加一对IP和MAC地址的绑定:

# arp -s 10.1.1.1 00:11:22:33:44:55:66

这里,如果网络无法达到,那么会报告错误,具体如下:

root@quietheart:/home/lv-k# arp -s 10.1.1.1 00:11:22:33:44:55:66

SIOCSARP: Network is unreachable

root@quietheart:/home/lv-k# arp -n

Address                  HWtype  HWaddress           Flags Mask            Iface

10.1.10.254              ether   00:1d:92:e3:d5:ee   C                     eth0

10.1.10.253              ether   44:37:e6:9b:2c:53   C                     eth0

10.1.10.178              ether   00:1b:78:83:d9:85   C                     eth0

10.1.10.119              ether   00:1d:0f:11:f2:a5   C                     eth0

实际上,如果"arp -s"设置成功之后,会增加一个Flags为"CM"的表项,有些系统静态条目不会因为ARP响应而更新,而高速缓存中的条目会因此而更新。如果想要手工设置没有"M",那么用"temp"选项,例如:"arp -s IP MAC temp"类似的命令,实践发现,如果已经设置过IP了,那么再设置也不会改变其Flags。

 

*删除一个arp表项:

# arp -d 10.1.10.118

这里,删除之后只是硬件地址没有了,如下:

root@quietheart:~# arp -n

Address                  HWtype  HWaddress           Flags Mask            Iface

10.1.10.118              ether   00:25:9c:c2:79:90   CM                    eth0

10.1.10.254              ether   00:1d:92:e3:d5:ee   C                     eth0

root@quietheart:~# arp -d 10.1.10.118

root@quietheart:~# arp -n

Address                  HWtype  HWaddress           Flags Mask            Iface

10.1.10.118                      (incomplete)                              eth0

10.1.10.254              ether   00:1d:92:e3:d5:ee   C   

 

*删除eth0上面的一个arp表项:

# arp -i eth0 -d 10.1.10.118

 

[其它]

*指定回复的MAC地址:

#/usr/sbin/arp -i eth0 -Ds 10.0.0.2 eth1 pub

当eth0收到IP地址为10.0.0.2的请求时,将会用eth1的MAC地址回答。

例如,双网卡机器运行这条命令:

/usr/sbin/arp -i eth0 -Ds 10.0.0.2 eth1 pub

会多一项:

10.0.0.2                 *       <from_interface>    MP                    eth0

 

 

2012-02-19 13:01:06 Bocai_Fire 阅读数 1726

inux Arp命令列表简单介绍


我们先看一下linux下的arp命令(如果开始arp表中的内容为空的话,需要先对某台主机进行一个连接,例如ping一下目标主机来产生一个arp项

AD

我们先看一下linux下的arp命令(如果开始arp表中的内容为空的话,需要先对某台主机进行一个连接,例如ping一下目标主机来产生一个arp项

Linux Arp命令显示和修改地址解析协议(ARP)使用的“IP 到物理”地址转换表。
ARP -s inet_addr eth_addr [if_addr]
ARP -d inet_addr [if_addr]
ARP -a [inet_addr] [-N if_addr] [-v]

-a            通过询问当前协议数据,显示当前ARP项。如果指定inet_addr,则只显示指定计算机的IP地址和物理地址。如果不止一个网络接口使用ARP,则显示每个ARP表的项。
-g            与-a相同。
-v            在详细模式下显示当前ARP项。所有无效项和环回接口上的项都将显示。
inet_addr     指定Internet地址(IP地址)。
-N if_addr    显示if_addr指定的网络接口的ARP项。
-d            删除inet_addr指定的主机。inet_addr可以是通配符*,以删除所有主机。
-s            添加主机并且将Internet地址inet_addr与物理地址eth_addr相关联。物理地址是用连字符分隔的6个十六进制字节。该项是永久的。
eth_addr      指定物理地址。
if_addr       如果存在,此项指定地址转换表应修改的接口的 Internet 地址。如果不存在,则使用第一个适用的接口。

示例:
添加静态项。这个很有用,特别是局域网中中了arp病毒以后
# arp -s 123.253.68.209 00:19:56:6F:87:D2
# arp -a   .... 显示 ARP 表。

但是arp -s设置的静态项在用户登出之后或重起之后会失效,如果想要任何时候都不失效,可以将ip和mac的对应关系写入arp命令默认的配置文件/etc/ethers中

例如:
引用
root@ubuntu:/# vi /etc/ethers
211.144.68.254 00:12:D9:32:BF:44
写入之后执行下面的命令就好了

引用
arp -f /etc/ethers
为保证重起之后绑定仍然有效,需要把上述命令写入/etc/ethers

ARP(Address Resolution Protocol),或称地址解析协议。

本地机向"某个IP地址 -- 目标机IP地址"发送数据时,先查找本地的ARP表,如果在ARP表中找到"目标机IP地址"的ARP表项,(网络协议)将把"目标机IP地址"对应的"MAC地址"放到MAC包的"目的MAC地址字段"直接发送出去;
如果在ARP表没有找到"目标机IP地址"的ARP表项,则向局域网发送广播ARP包("目的MAC地址字段" == FF:FF:FF:FF:FF:FF),目标机将向本地机回复ARP包(包含目标机的MAC地址)

转自 http://os.51cto.com/art/201006/206897.htm

2015-03-25 15:12:42 wzyzzu 阅读数 9101
我们先看一下linux下的arp命令(如果开始arp表中的内容为空的话,需要先对某台主机进行一个连接,例如ping一下目标主机来产生一个arp项


Linux Arp命令显示和修改地址解析协议(ARP)使用的“IP 到物理”地址转换表。
ARP -s inet_addr eth_addr [if_addr]
ARP -d inet_addr [if_addr]
ARP -a [inet_addr] [-N if_addr] [-v]
-a            通过询问当前协议数据,显示当前ARP项。如果指定inet_addr,则只显示指定计算机的IP地址和物理地址。如果不止一个网络接口使用ARP,则显示每个ARP表的项。
-g            与-a相同。
-v            在详细模式下显示当前ARP项。所有无效项和环回接口上的项都将显示。
inet_addr     指定Internet地址(IP地址)。
-N if_addr    显示if_addr指定的网络接口的ARP项。
-d            删除inet_addr指定的主机。inet_addr可以是通配符*,以删除所有主机。
-s            添加主机并且将Internet地址inet_addr与物理地址eth_addr相关联。物理地址是用连字符分隔的6个十六进制字节。该项是永久的。
eth_addr      指定物理地址。
if_addr       如果存在,此项指定地址转换表应修改的接口的 Internet 地址。如果不存在,则使用第一个适用的接口。
 
示例:
添加静态项。这个很有用,特别是局域网中中了arp病毒以后
# arp -s 123.253.68.209 00:19:56:6F:87:D2
# arp -a   .... 显示 ARP 表。
但是arp -s设置的静态项在用户登出之后或重起之后会失效,如果想要任何时候都不失效,可以将ip和mac的对应关系写入arp命令默认的配置文件/etc/ethers中
 
例如:
 
 
引用
root@ubuntu:/# vi /etc/ethers
211.144.68.254 00:12:D9:32:BF:44
写入之后执行下面的命令就好了
 
引用
arp -f /etc/ethers
为保证重起之后绑定仍然有效,需要把上述命令写入/etc/ethers
 
ARP(Address Resolution Protocol),或称地址解析协议。
本地机向"某个IP地址 -- 目标机IP地址"发送数据时,先查找本地的ARP表,如果在ARP表中找到"目标机IP地址"的ARP表项,(网络协议)将把"目标机IP地址"对应的"MAC地址"放到MAC包的"目的MAC地址字段"直接发送出去;
如果在ARP表没有找到"目标机IP地址"的ARP表项,则向局域网发送广播ARP包("目的MAC地址字段" == FF:FF:FF:FF:FF:FF),目标机将向本地机回复ARP包(包含目标机的MAC地址)
2016-12-30 14:58:36 xin_y 阅读数 1342

arp(地址解析协议)命令用于操作主机的arp缓冲区,它可以显示arp缓冲区中的所有条目,删除指定的条目或者添加

静态的ip地址与MAC地址对应关系

语法:

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条目
实例:

[root@localhost ~]# arp -v
Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.71.89            ether   3c:91:57:b0:03:55   C                     eno16777736
192.168.71.97            ether   3c:91:57:f9:f3:4b   C                     eno16777736
192.168.71.14            ether   c0:ee:fb:60:02:8a   C                     eno16777736

Linux中的arp命令

阅读数 1100

linux 命令之arp

阅读数 982

linux 清除 arp 缓存

阅读数 1047