ARP协议(Address Resolution Protocol),或称地址解析协议。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。ARP是IPv4中网络层必不可少的协议,不过在IPv6中已不再适用,并被icmp v6所替代。在Linux可以使用“arp”命令查看、增加、删除本机的ARP记录。
l 显示本机的ARP记录。
[root@srv ~]# arp
Address HWtype HWaddress Flags Mask Iface
192.168.159.159 ether 00:50:56:C0:00:01 C eth0
192.168.56.2 ether 00:50:56:ED:83:C0 C eth1
l 使用“arp -s <IP地址> <MAC地址>”可以增加ARP记录。
[root@srv ~]# arp -s 192.168.159.10 00:50:56:D1:03:04
[root@srv ~]# arp
Address HWtype HWaddress Flags Mask Iface
192.168.159.10 ether 00:50:56:D1:03:04 CM eth0
192.168.56.2 ether 00:50:56:ED:83:C0 C eth1
192.168.159.159 ether 00:50:56:C0:00:01 C eth0
l 使用“arp -d <IP地址>”可以删除ARP记录。
[root@srv ~]# arp -d 192.168.159.10
[root@srv ~]# arp
Address HWtype HWaddress Flags Mask Iface
192.168.159.10 (incomplete) eth0
192.168.56.2 ether 00:50:56:ED:83:C0 C eth1
192.168.159.159 ether 00:50:56:C0:00:01 C eth0
在RHEL 5.x中可以通过/etc/ethers文件(需要建立)实现IP地址与MAC地址绑定的功能,在配置完成后需要重新启动或使用“arp -f”命令使其生效。在下面的例子中配置该文件后,这二个IP地址就与对应的MAC地址绑定。
[root@srv ~]# cat /etc/ethers
192.168.159.10 00:0D:30:98:22:3D
192.168.159.11 00:0D:30:98:22:45
http://yimu1023.blog.163.com/blog/static/3625228220085236340841/
ARP攻击仅能在以太网(局域网如:机房、内网、公司网络等)进行。
无法对外网(互联网、非本区域内的局域网)进行攻击。
ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。
RHEL4-Linux系统有效防御ARP攻击
让Linux系统有效防御ARP攻击
1、#arp -a > /etc/ethers
将ip和mac地址导入ethers
2、#vi /etc/ethers
编辑文件格式,ethers文件内容必须格式如下多余的全部删除,改成形式ip mac
192.168.1.X XX:XX:XX:XX:XX
192.168.1.X XX:XX:XX:XX:XX
……
//注意mac大写,而且没有O只有零,ip和mac空格
3、#vi /etc/rc.d/rc.local //打开并显示 /etc/rc.d/rc.local文件,启动项文件
#i //编辑
//启动的时候执行arp -f按照/etc/ethers 中的内容绑定
在 /etc/rc.d/rc/local 文件中最后加一行
arp -f
ESC退出编辑
:wq //保存编辑
4、#arp -f //执行保存的绑定
(ethers 里不包括网关mac否则会报错)
这只能防住一些arp攻击,如果将网内所有ip mac导入ethers文件,能有效的防止arp攻击
1、nmap -sP 192.168.11.0/24
扫描,结果我的arp表里就有那个网段所有机器的mac,将所有信息复制至/etc/ethers文件
++++++++++++