Linux命令 arp
ARP缓存攻击是一项非常危险的攻击,重要的是在用户中创建安全的意识和分析有效的工具和策略。如果你操作的是小型网络,那么就很容易维护ARP。但是在大型的网络,维护ARP是很困难和费事的。在前一篇文章的最后我们讨论了工具和技术,能够被用来检测ARP缓存中毒攻击。让我们来回顾下每一步:
静态ARP
你可以在网络ARP表中手动的添加一些信息,一旦信息插入,你就有了静态ARP映射。输入数据的过程也是非常简单,在你的终端/CMS中,只需输入:“arp -s”
例子:
你现在的ARP表:
root@bt:~# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.1 ether 00:22:93:cf:eb:6d C eth0
让我们假设一下,我想添加一个新的主机在我的ARP缓存表中,我输入如下命令:
arp -s IP MAC
root@bt:~# arp -s 192.168.1.2 00:50:FC:A8:36:F5
root@bt:~# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.2 ether 00:50:fc:a8:36:f5 CM eth0
192.168.1.1 ether 00:22:93:cf:eb:6d C eth0
root@bt:~#
需要注意的是,手动添加ARP表只适用于当前的会话。当你重新启动计算机,将更新表。如果你想要使用这种方法,那么你可以创建一个批处理文件/BASH文件,并将它们添加到启动项。
ARPwatch
(ps:监听ARP记录)
这是一个不错的实用程序,已经被用来监测ARP网络,它能够探测并记录发生更改的网络,同时还发送邮箱详细说明各自的变化。安装过程也是非常简单的。
对于Ubuntu用户:
apt-get install arpwatch
root@bt:~# arpwatch -h
Version 2.1a15
usage: arpwatch [-dN] [-f datafile] [-i interface] [-n net[/width]] [-r file] [-s sendmail_path] [-p] [-a] [-m addr] [-u username] [-R seconds ] [-Q] [-z ignorenet/ignoremask]
如果需要快速检测就用下面这个命令:
arpwatch -i interface
root@bt:~# arpwatch -i eth0
检查程序是否在运行:
root@bt:~# ps -ef | grep arpwatch
arpwatch 1041 1 0 14:05 ? 00:00:00 /usr/sbin/arpwatch -u arpwatch -N -p
root 2191 2165 0 14:54 pts/0 00:00:00 grep –color=auto arpwatch
接下来的步骤就是ARPwatch记录日志,这也非常简单,你只需要做得是确定目录,然后读取文件。
oot@bt:~# cd /var/lib/arpwatch
root@bt:/var/lib/arpwatch# ls
arp.dat arp.dat-
root@bt:/var/lib/arpwatch# cat arp.dat
00:50:fc:a8:36:f5 192.168.1.2 1337437776 eth0
00:27:0e:21:a6:1e 192.168.1.5 1337437923 eth0
所以如果你是网络管理员,那么你应该实施一些策略来监视ARP表并且保护主机免受ARP中毒攻击。
当然我们要注意,中间人攻击并不局限于一个ARP欺骗攻击。正如前面提到的,还有许多其他的技术能够执行一个中间人攻击。一个主要的例子就是DNS欺骗,我们将分析它。