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