arp

原文:http://blog.chinaunix.net/uid-9525959-id-3318814.html

[功能]

管理系统的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

<from_interface>

(转) Linux命令学习手册-arp命令的更多相关文章

  1. Linux命令学习手册-printf命令(转)

    分类: LINUX 参考资料:http://sns.linuxpk.com/space-566-do-blog-id-15819.html printf FORMAT [ARGUMENT]... pr ...

  2. Linux命令学习手册-route命令

    route [-CFvnee] route [-v]  [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss ...

  3. 【转】Linux命令学习手册-split命令

    转自:http://blog.chinaunix.net/uid-9525959-id-3054325.html split [OPTION] [INPUT [PREFIX]] [功能]将文件分割成多 ...

  4. 《Linux命令学习手册》系列分享专栏

    <Linux命令学习手册>系列分享专栏 <Linux命令学习手册>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/207 ...

  5. Git版本控制软件结合GitHub从入门到精通常用命令学习手册(转)

    简要参考:http://www.tuicool.com/articles/mEvaq2 http://gitref.org/zh/index.html GIT 学习手册简介 本站为 Git 学习参考手 ...

  6. Linux命令学习神器!命令看不懂直接给你解释!

    大家都知道,Linux 系统有非常多的命令,而且每个命令又有非常多的用法,想要全部记住所有命令的所有用法,恐怕是一件不可能完成的任务. 一般情况下,我们学习一个命令时,要么直接百度去搜索它的用法,要么 ...

  7. linux shell 学习笔记--内部命令学习

    .基本命令 新手必须要掌握的初级命令 ls 基本的列出所有文件的命令.但是往往就是因为这个命令太简单,所以我们总是低估它.比如 ,用 -R 选项,这是递归选项,ls 将会以目录树的形式列出所有文件, ...

  8. Linux基础学习之基础命令(1)--2019-11-14

    查看命令路径其他方法: which 命令: which [options] [--] programname [...] -a:显示所有匹配的程序文件,而非第一个: --skip-alias:略过别名 ...

  9. Linux服务架设篇--arp命令

    ARP,地址解析协议.在以太局域网中,主机之间交换数据帧时,是通过MAC地址进行的.因此,当以太网的一台主机向另一台IP地址的主机发送数据包时,它需要知道目的IP地址所对应的MAC地址,才能把这个IP ...

随机推荐

  1. myeclipse保存时弹出Building workspace

    最近做项目,每次保存修改的东西.myeclipse都会building workspace(重新编译)一下.并且那 building的速度真不够慢的啊. 严重影响编程速度. 在网上也发现遇到此问题的很 ...

  2. 继承自DynamicObject的对象的Xml序列化

    默认情况下,对继承自DynamicObject的对象进行序列化操作是不会报错的,但是并没有实际序列化出任何东西来 为了让它进行序列化,我们改造一下实现类,实现IXmlSerializable接口 代码 ...

  3. 2.Apache + Tomcat + mod_jk实现集群服务

    转自:http://www.cnblogs.com/dennisit/p/3370220.html Tomcat中的集群原理是通过组播的方式进行节点的查找并使用TCP连接进行会话的复制. 实现效果:用 ...

  4. Spring 3.x 企业引用开发实战(陈雄华/林开雄)

    目录 ... 第一章:Spring概述 IoC:BeanFactory.Context.El(SpringEL表达式) AOP:允许JVM虚拟机启动时使用代理类在运行时期修改指定类的字节码,改变一个类 ...

  5. error C2872: “flann”: 不明确的符号 --- PCL 与OpenCV2 的flann命名空间冲突问题的解决方法

    error C2872: "flann": 不明确的符号 - PCL 与OpenCV2命名空间冲突问题的解决方法 error C2872: "flann" 如果 ...

  6. Impala介绍

    Impala介绍 Impala支持的文件格式 Impala可以对Hadoop中大多数格式的文件进行查询.它能通过create table和insert的方式将一部分格式的数据加载到table中,但值得 ...

  7. hdu1056

    #include <cstdio> void main(){ double length; double l[300]; l[1] = 1.0/2; int i; for (i = 2;; ...

  8. Java异常处理的10个最佳实践

    本文作者: ImportNew - 挖坑的张师傅 未经许可,禁止转载! 异常处理在编写健壮的 Java 应用中扮演着非常重要的角色.异常处理并不是功能性需求,它需要优雅地处理任何错误情况,比如资源不可 ...

  9. jquery 简单入门

    例:GridView

  10. php用百度地图API进行逆地址解析

    <?php /** * 根据地理坐标获取国家.省份.城市,及周边数据类(利用百度Geocoding API实现) * 百度密钥获取方法:http://lbsyun.baidu.com/apico ...