ladewang 2019-09-22
有朋友多次问到,如何防止ip地址冲突?如何解决?很多情况下ip地址冲突除了人为,大多数都是由arp所造成的,今天我们就一起来了解一下arp相关的内容。
一、什么是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攻击的计算机会出现两种现象:
这类情况,在我们监控系统中或者用户较多的网络中出现的比较多,经常会出现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 ,再重新绑定