关于ZAKER 融媒体解决方案 合作 加入

如何利用 ARP 命令解决网络故障

51CTO 11-14

一、什么是 arp

1. 什么是 arp

地址解析协议 ( Address Resolution Protocol ) ,其基本功能为透过目标设备的 IP 地址,查询目标设备的 MAC 地址,以保证通信的顺利进行。它是 IPv4 中网络层必不可少的协议,不过在 IPv6 中已不再适用,并被邻居发现协议 ( NDP ) 所替代。

说白了,就是把通过 ip 地址找到设备 mac 地址。

2. arp 有什么作用

在计算机间通信的时候,计算机要知道目的计算机是谁 ( 就像我们人交流一样,要知道对方是谁 ) ,这中间需要涉及到 MAC 地址,而 MAC 是真正的电脑的唯一标识符。

为什么需要 ARP 协议呢 ? 因为在 OSI 七层模型中,对数据从上到下进行封装发送出去,然后对数据从下到上解包接收,但是上层 ( 网络层 ) 关心的 IP 地址,下层关心的是 MAC 地址,这个时候就需要映射 IP 和 MAC,通过 ip 地址找到 mac 地址。

二、arp 命令的使用

arp 的命令一般有三个用法,就是查询显示、添加记录、与删除记录,这个在我们做网络项目时经常会用到。

1. arp -a ,当你需要显示当期 ip 地址对应的 mac 地址时使用

在命令提示符中输入 "arp -a" 并回车 ; 自动在缓存中,读取 IP 地址和 mac 地址的对应关系表 ;

2. arp -s ,当你需要手动添加一条 arp 记录时使用。

手工输入一条 ARP 项目,格式为 "ARP+ 空格 +-a+IP 地址 +MAC 地址 ";

如下图,我特意用 arp -a 查询了 ARP 记录 ;

其实这个命令也叫作绑定 mac 地址的命令,例如一个公司的网络,员工经常喜欢改自己电脑的 ip 地址,经常会造成 ip 地址混乱,无法管理,那么这个时候你只需要把它的 ip 地址与它电脑 mac 地址进行绑定,那么下次出现网络故障,就可以直接 mac 地址定位到那几台电脑。

3. arp -d,当你觉得某条 arp 记录有问题时,可以删除。

功能为:删除所有 ARP 记录

其实如果想彻底清空 ARP 列表,需要您禁止所有网络连接,否则网络数据交互过程中仍然会产生新的 ARP 列表。

那么有朋友会问,这三条命令会有什么用呢 ?

其实用途挺大的,例如,当你网络中出了问题,可能是有某些 ip 地址发生冲突了,mac 对应的 ip 地址有误,那么你可以对它进行删除这条 arp 记录,然后重新添加新的记录,网络问题就会得到解决。

三、什么 arp 攻击

1. 什么是 arp 攻击

ARP 协议的基本功能就是通过目标设备的 IP 地址,查询目标设备的 MAC 地址,以保证通信的进行。基于 ARP 协议的这一工作特性,黑客向对方计算机不断发送有欺诈性质的 ARP 数据包,数据包内包含有与当前设备重复的 Mac 地址,使对方在回应报文时,由于简单的地址重复错误而导致不能进行正常的网络通信。

2. arp 地址如何防御

一般情况下,受到 ARP 攻击的计算机会出现两种现象:

不断弹出 " 本机的 XXX 段硬件地址与网络中的 XXX 段地址冲突 " 的对话框。

计算机不能正常上网,出现网络中断的症状。

这类情况,在我们监控系统中或者用户较多的网络中出现的比较多,经常会出现 ip 地址冲突等问题,那么如何预防呢 ?

对于监控或网络系统中,一旦用户较多,就需要划分 vlan 或者对网络进行端口隔离,避免受到 arp 攻击后,扩散到其它设备上,通常有以下三个方法。

( 1 ) ARP 双向绑定

在 pc 端上 IP+mac 绑定, 在网络设备 ( 交换路由 ) 上 采用 ip+mac+ 端口绑定

网关也进行 IP 和 mac 的静态绑定。

( 2 ) 建立 DHCP 服务器

ARP 攻击一般先攻击网关,将 DHCP 服务器建立在网关上,也可采用 arp 过滤的防火墙。

( 3 ) 划分安全区域

ARP 广播包是不能跨子网或网段传播的,网段可以隔离广播包。VLAN 就是一个逻辑广播域,通过 VLAN 技术可以在局域网中创建多个子网,就在局域网中隔离了广播。。缩小感染范围。 但是,安全域划分太细会使局域网的管理和资源共享不方便。

3. 出现了 arp 攻击后如何解决

受到 arp 攻击后,网络可能已经断了,时查看此对照表发现,网关的 Mac 地址改变了。

( 1 ) 然后输入 arp -a

可以看到所有网关的列表,但是正常情况下,应该只有一个网关,多出来的,肯定是 arp 攻击发起者的电脑伪装的网关。

( 2 ) 然后 arp -d.

清除所有网关,然后你的电脑会自己找网关。

( 3 ) 在 arp -a

列出新找的网关,如果仍有多个,再继续 arp -d。直到 arp -a 只出现一条记录、

这个列表会显示网关的 IP 地址和 MAC 地址,就是你的网关。

( 4 ) arp -s , 再重新绑定

输入 arp -s xxx.xxx.xxx.xxx ab-cd-ef-gh-ij-kl

xxx.xxx.xxx.xxx 表示网关的 IP 地址,ab-cd-ef-gh-ij-kl 表示网关的 MAC 地址。

【编辑推荐】

熟练使用 Wireshark 排除网络故障的方法

什么是 ARP 地址?什么是 ARP 攻击?如何利用 ARP 命令解决网络故障

大规模集群故障处理,能抗住这 3 个灵魂拷问算你赢

Ping、Arp、Tracert、Route 这四大命令的详细用法

【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0

以上内容由"51CTO"上传发布 查看原文

觉得文章不错,微信扫描分享好友

扫码分享