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

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] [] [-i ] [-a] [] <-Display ARP cache

arp [-v] [-i ] -d [pub] <-Delete ARP entry

arp [-vnD] [] [-i ] -f [] <-Add entry from file

arp [-v] [] [-i ] -s [temp] <-Add entry

arp [-v] [] [-i ] -Ds [netmask ] 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 from given device

-A, -p, --protocol specify protocol family

-f, --file read new entries from file or from /etc/ethers

=Use '-H ' 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] [] [-i ] [-a] []

显示ARP缓存- -a: 显示所有主机(BSD风格)- -e: 显示所有主机(Linux默认风格)- -v: 详细模式- -n: 不解析名称- : 指定硬件地址类型,默认为ether- -i : 指定网络接口

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

删除ARP条目- -d: 删除指定条目- pub: 公有条目- -v: 详细模式- -i : 指定网络接口

arp [-vnD] [] [-i ] -f []

从文件添加条目- -f: 从文件读取新条目,或从/etc/ethers

arp [-v] [] [-i ] -s [temp]

添加条目- -s: 设置新ARP条目- temp: 临时条目- : 硬件地址- -v: 详细模式- -i : 指定网络接口

arp [-v] [] [-i ] -Ds [netmask ] pub

特殊设置条目- -Ds: 特定操作- pub: 公有条目- netmask : 子网掩码- -v: 详细模式- : 指定接口

其他选项

-A, -p, --protocol

指定协议家族

-D, --use-device

从给定设备读取

硬件类型支持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

arp -d 192.168.3.166

3.5 从文件读取并添加条目

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

`arp -f filename`

filename示例文件```bash192.168.1.1 00:11:22:33:44:55192.168.1.2 66:77:88:99:AA:BB

## 3.6 清除ARP缓存

>使用`sudo arp -d `命令,清除某条APR缓存信息。

```bash

arp -a -d 172.17.0.3

四、注意事项

在执行上述命令时,特别是添加或删除ARP条目时,通常需要管理员权限(即使用sudo)。

手动添加静态ARP条目应谨慎操作,错误的配置可能会导致网络连接问题。

不同的Linux发行版可能有细微的命令差异,但基本用法大体相同。

五、总结

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

相关推荐