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. hive 集群初探,查询比较

    在slave3安装MySQL作为hive 的matastore [root@slave3 hadoop]# yum search mysql [root@slave3 hadoop]# yum ins ...

  2. JDBC操作MySQL(crud)

    这两天复习了一下JDBC操作MySQL,把crud操作的例子记一下, 类库链接(mysql-connector-java-5.1.37-bin.jar):http://files.cnblogs.co ...

  3. 第二篇elasticsearch配置

    1.去github搜索 elashsearch——head,以mobz开头的2.在根目录下安装npm install 3.修改elashsearch下的config文件下的elashsearch.yu ...

  4. Flask17 Flask_Script插件的使用

    1 什么是Flask_Script 可以对flask应用做一些统一的操作 flask_script官网:点击前往 2 安装flask_script pip install -i https://pyp ...

  5. 服务器环境迁移,Linux centos7 64位 基础环境部署 jdk+tomcat+mysql+nginx

    最近阿里云服务器到期,这个周末连夜将服务器迁移到美国去了,为什么迁移到美国去呢?主要是因为阿里云服务器费用高,另外网站的访问量不大,对网速要求也不高,主要是宣传和信息传递的作用,加上本人之前在***上 ...

  6. 1、Question: prep_reads.info vs. align_summary.txt

    ###参考:https://www.biostars.org/p/163356/ used TopHat to map my reads against their relative referenc ...

  7. ARC097C K-th Substring

    传送门 题目 You are given a string s. Among the different substrings of s, print the K-th lexicographical ...

  8. 5.6 安装Virtual box

    本以为安装虚拟机很复杂的样子,经过kevin一指点,发现soeasy.废话少说,直接上图片: 将安装包放到自己的目录下: 安装完后,可以在搜索框中搜索:virtual 会出现安装好的虚拟机盒子.

  9. Umbraco中根据ID获取IPublishedContent

    Umbraco中根据ID来获取IPublishedContent 在Umbraco网站上的 https://our.umbraco.com/documentation/Reference/Templa ...

  10. C# 写 LeetCode easy #28 Implement strStr()

    28.Implement strStr() Implement strStr(). Return the index of the first occurrence of needle in hays ...