Linux系统之ARP命令的基本使用

简介: 【7月更文挑战第2天】Linux系统之ARP命令的基本使用

在这里插入图片描述

一、ARP介绍

ARP(Address Resolution Protocol,地址解析协议)是一个在网络设备之间转换IP地址和MAC地址的网络层协议。在Linux系统中,arp命令主要用于查看和修改本地系统上的ARP缓存。ARP缓存存储了最近获取的IP地址到MAC地址的映射关系,有助于加快数据包的传输速度,因为它减少了需要进行ARP请求的次数。

二、ARP命令帮助

2.1 ARP的help帮助信息

使用--help选项,可以查看到arp命令的帮助信息。

[root@jeven ~]# arp --help
Usage:
  arp [-vn]  [<HW>] [-i <if>] [-a] [<hostname>]             <-Display ARP cache
  arp [-v]          [-i <if>] -d  <host> [pub]               <-Delete ARP entry
  arp [-vnD] [<HW>] [-i <if>] -f  [<filename>]            <-Add entry from file
  arp [-v]   [<HW>] [-i <if>] -s  <host> <hwaddr> [temp]            <-Add entry
  arp [-v]   [<HW>] [-i <if>] -Ds <host> <if> [netmask <nm>] pub          <-''-

        -a                       display (all) hosts in alternative (BSD) style
        -e                       display (all) hosts in default (Linux) style
        -s, --set                set a new ARP entry
        -d, --delete             delete a specified entry
        -v, --verbose            be verbose
        -n, --numeric            don't resolve names
        -i, --device             specify network interface (e.g. eth0)
        -D, --use-device         read <hwaddr> from given device
        -A, -p, --protocol       specify protocol family
        -f, --file               read new entries from file or from /etc/ethers

  <HW>=Use '-H <hw>' to specify hardware address type. Default: ether
  List of possible hardware types (which support ARP):
    ash (Ash) ether (Ethernet) ax25 (AMPR AX.25)
    netrom (AMPR NET/ROM) rose (AMPR ROSE) arcnet (ARCnet)
    dlci (Frame Relay DLCI) fddi (Fiber Distributed Data Interface) hippi (HIPPI)
    irda (IrLAP) x25 (generic X.25) infiniband (InfiniBand)
    eui64 (Generic EUI-64)

2.2 ARP命令的帮助解释

命令选项 描述
arp [-vn] [<HW>] [-i <if>] [-a] [<hostname>] 显示ARP缓存
- -a: 显示所有主机(BSD风格)
- -e: 显示所有主机(Linux默认风格)
- -v: 详细模式
- -n: 不解析名称
- <HW>: 指定硬件地址类型,默认为ether
- -i <if>: 指定网络接口
arp [-v] [-i <if>] -d <host> [pub] 删除ARP条目
- -d: 删除指定条目
- pub: 公有条目
- -v: 详细模式
- -i <if>: 指定网络接口
arp [-vnD] [<HW>] [-i <if>] -f [<filename>] 从文件添加条目
- -f: 从文件读取新条目,或从/etc/ethers
arp [-v] [<HW>] [-i <if>] -s <host> <hwaddr> [temp] 添加条目
- -s: 设置新ARP条目
- temp: 临时条目
- <hwaddr>: 硬件地址
- -v: 详细模式
- -i <if>: 指定网络接口
arp [-v] [<HW>] [-i <if>] -Ds <host> <if> [netmask <nm>] pub 特殊设置条目
- -Ds: 特定操作
- pub: 公有条目
- netmask <nm>: 子网掩码
- -v: 详细模式
- <if>: 指定接口
其他选项
-A, -p, --protocol 指定协议家族
-D, --use-device 从给定设备读取<hwaddr>

硬件类型支持ARP列表:

  • ash (Ash)
  • ether (Ethernet)
  • ax25 (AMPR AX.25)
  • netrom (AMPR NET/ROM)
  • rose (AMPR ROSE)
  • arcnet (ARCnet)
  • dlci (Frame Relay DLCI)
  • fddi (Fiber Distributed Data Interface)
  • hippi (HIPPI)
  • irda (IrLAP)
  • x25 (generic X.25)
  • infiniband (InfiniBand)
  • eui64 (Generic EUI-64)

三、ARP命令的基本使用

3.1 查看ARP缓存

使用以下命令,显示所有ARP缓存条目。

arp -a

在这里插入图片描述

3.2 显示详细信息

显示ARP缓存中的所有条目,包括IP地址、MAC地址以及对应的接口名称等信息。

arp -v

在这里插入图片描述

3.3 添加静态arp映射

使用arp -s IP_ADDRESS MAC_ADDRESS命令。添加静态ARP映射。有时候为了网络管理的需要,你可能想手动添加一个静态的ARP条目,这样系统就不会尝试去动态解析这个IP地址对应的MAC地址了。

 arp -s 192.168.3.251  00:0c:29:54:85:18

在这里插入图片描述

3.4 删除指定主机的ARP条目

删除指定主机的ARP条目

arp -d <hostname>
arp -d 192.168.3.166

3.5 从文件读取并添加条目

arp -f filename是一个命令行指令,用于从一个文件中读取并加载ARP(Address Resolution Protocol)表项。ARP表项是一个用于将IP地址映射到物理硬件地址(MAC地址)的网络协议。在执行这个命令时,filename参数是包含了ARP表项的文件的路径。

`arp -f filename`
  • filename示例文件
    ```bash
    192.168.1.1 00:11:22:33:44:55
    192.168.1.2 66:77:88:99:AA:BB


## 3.6 清除ARP缓存
>使用`sudo arp -d <IP地址>`命令,清除某条APR缓存信息。

```bash
arp -a -d 172.17.0.3

四、注意事项

  • 在执行上述命令时,特别是添加或删除ARP条目时,通常需要管理员权限(即使用sudo)。
  • 手动添加静态ARP条目应谨慎操作,错误的配置可能会导致网络连接问题。
  • 不同的Linux发行版可能有细微的命令差异,但基本用法大体相同。

五、总结

使用arp命令可以快速查看本地系统上的ARP缓存,以便了解IP地址和MAC地址之间的映射关系,从而方便网络故障排除和优化网络连接。通过修改arp缓存,可以手动添加、删除或修改IP地址和MAC地址的映射关系,从而实现对本地网络设备的管理和控制。

相关文章
|
1天前
|
Linux 网络安全 开发工具
linux 常用命令【编程必备】
linux 常用命令【编程必备】
13 4
|
1天前
|
Linux 网络安全 虚拟化
Ngnix04系统环境准备-上面软件是免费版的,下面是收费版的,他更快的原因使用了epoll模型,查看当前Linux系统版本, uname -a,VMWARE建议使用NAT,PC端电脑必须使用网线连接
Ngnix04系统环境准备-上面软件是免费版的,下面是收费版的,他更快的原因使用了epoll模型,查看当前Linux系统版本, uname -a,VMWARE建议使用NAT,PC端电脑必须使用网线连接
|
1天前
|
存储 Linux
Linux文件的上和下,FinalShell文件右键可下文件,先选择root文件夹,然后把他文件往里面拖动,就可以下载了,命令下载,ls -l可以看当前文件目录,sz 文件名可下载,tab补,rz出上
Linux文件的上和下,FinalShell文件右键可下文件,先选择root文件夹,然后把他文件往里面拖动,就可以下载了,命令下载,ls -l可以看当前文件目录,sz 文件名可下载,tab补,rz出上
|
1天前
|
安全 Linux 测试技术
Linux命令setpriv详解
`setpriv` 是Linux下的命令行工具,用于调整进程权限以增强安全性,尤其适用于自动化和非交互式权限切换。它不使用PAM,支持管理能力集、GID/UID及SELinux上下文。例如,`setpriv --reuid=1000 script.sh` 可以以低权限用户运行脚本,而`--selinux-label`可设定SELinux标签。在使用时,应最小化权限、充分测试、保持与其他安全机制的兼容性,并定期审核权限设置。
|
1天前
|
Linux 数据安全/隐私保护
Linux命令setfacl详解
`setfacl`是Linux中用于设置文件访问控制列表的命令,提供比传统权限更细粒度的控制。它允许为特定用户或组添加、修改或删除权限,适用于多用户环境和复杂场景。常用参数包括`-m`(修改规则)、`-x`(删除规则)、`-R`(递归设置)和`-d`(设置默认ACL)。例如,`setfacl -m u:user1:rw- file.txt`给用户`user1`赋予文件`file.txt`的读写权限。记得在使用前确认文件系统支持ACL,并谨慎规划和审查权限设置。
|
1天前
|
Linux 数据处理
Linux命令setarch深度解析与实际应用
`setarch`是Linux下用于调整程序执行环境的命令,它允许在不同CPU架构间运行二进制文件,模拟架构并设置CPU功能标志。通过指定`-a`参数切换架构,如`-a i386`,用`-R`参数启用或禁用如SSE2的功能。在测试兼容性、调试和优化时非常有用。注意正确设置参数,避免滥用,确保程序正常运行。查阅文档、逐步测试和考虑兼容性是最佳实践。
|
1天前
|
Linux Shell 数据处理
Linux命令seq的深入解析与应用
`seq`命令在Linux中用于生成数字序列,适用于数据处理和脚本编写。它支持自定义起始值、步长和结束值,可生成整数或浮点数。通过选项如`-f`(格式化输出)、`-s`(设置分隔符)、`-w`(宽度对齐)和`-r`(逆序)调整输出。在实践中,`seq`常与for循环结合,用于测试数据、文件命名等。注意增量为零会导致无限循环,格式和宽度选项不能同时使用。善用`seq`能提升命令行效率。
|
1天前
|
存储 Unix Linux
探索Linux中的sed命令:强大的文本处理工具
`sed`是Linux/Unix的流编辑器,用于文本替换、删除、新增等操作,无需直接编辑文件。它逐行处理输入,存储在模式空间,执行脚本后输出。主要特点是非交互、支持正则表达式和简洁语法。示例:`sed &#39;s/apple/orange/g&#39; example.txt`替换文本,`/error/d`删除包含&quot;error&quot;的行,`a\---`在每行后加&quot;---&quot;。使用时注意备份、测试命令和理解正则表达式。
|
2月前
|
缓存 网络协议 安全
【网络工程师】<软考中级>解析协议ARP&路由协议RIP/OSPF/BGP
【1月更文挑战第27天】【网络工程师】<软考中级>解析协议ARP&路由协议RIP/OSPF/BGP
|
2月前
|
缓存 网络协议 网络架构
【计算机网络】第三章 数据链路层(MAC地址 IP地址 ARP协议)
【计算机网络】第三章 数据链路层(MAC地址 IP地址 ARP协议)
45 1