存档

文章标签 ‘arp防护’

linux(centos)绑定ARP的方法

2013年4月16日 没有评论

ARP协议是“Address Resolution Protocol”(地址解析协议) 的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主 机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标 MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

而ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。

ARP攻击主要是存在于局域网网络中,局域网中若有一台计算机感染ARP木马,则感染该ARP木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。

在工作中经常遇到有服务器受到ARP欺骗攻击,严重影响了网络的正常运营,于是想到将网关的ARP条目进行绑定。

本文是关于linux服务器下arp网关的绑定

1、查看网关的arp信息
[root@Vtest ~]# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.103 ether 00:16:ea:27:7b:04 C eth0
192.168.1.1 ether 40:16:9f:6c:39:1e C eth0

说明:
Address: 主机的IP地址
Hwtype: 主机的硬件类型
Hwaddress:主机的硬件地址
Flags Mask:记录标志,”C”表示arp高速缓存中的动态条目,”CM”表示静态的arp条目。

我们需要绑定的就是192.168.1.1所在的一行。

2、建立一个静态IP –>>mac对应的文件
[root@Vtest ~]#echo ’192.168.1.1 40:16:9f:6c:39:1e’>>/etc/ip-mac

3、设置开机自动绑定

arp信息重启后会清空,所以需要开机的时候自动绑定。服务器启动过程最后运行的脚本是rc.local,我们把绑定的命令就加到这个文件的最后一行。

[root@Vtest ~]#echo ‘arp -f /etc/ip-mac’ /etc/rc.local

4、手动绑定一下
[root@Vtest ~]#echo arp -f /etc/ip-mac

[root@Vtest ~]#arp -s 192.168.1.1 40:16:9f:6c:39:1e
5、验证
[root@Vtest ~]# arp -a
(192.168.1.103) at 00:16:ea:27:7b:04 [ether] on eth0
(192.168.1.1) at 40:16:9f:6c:39:1e [ether] PERM on eth0
[root@Vtest ~]# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.103 ether 00:16:ea:27:7b:04 C eth0
192.168.1.1 ether 40:16:9f:6c:39:1e CM eth0

从以上显示的信息来看,已经绑定成功了,第一个命令结果中的”PERM”表示Permanent,永久的意思,即绑定成永久arp条目。到这里绑定就完成了,你的网关arp绑定了么,为了稳定运行,赶快绑定吧。

6、这只能防住一些arp攻击,如果将网内所有ip mac导入ethers文件,能有效的防止arp攻击
安装nmap:

rpm -vhU http://nmap.org/dist/nmap-6.25-1.i386.rpm
rpm -vhU http://nmap.org/dist/zenmap-6.25-1.noarch.rpm
rpm -vhU http://nmap.org/dist/ncat-6.25-1.i386.rpm
rpm -vhU http://nmap.org/dist/nping-0.6.25-1.i386.rpm
扫描同网段所有ip
nmap -sP 192.168.1.0/24 2>&1 | tee ip.log
扫描,结果我的arp表里就有那个网段所有机器的mac,将所有信息复制至/etc/ip-mac文件

使用arp防火墙防止arp攻击

2011年11月1日 没有评论

我们先来了解下什么是arp

ARP是地址转换协议(Address Resolution Protocol)的英文缩写,它是一个链路层协议,工作在OSI模型的第二层,在本层和硬件接口间进行联系,同时对上层(网络层)提供服务。

        二层的以太网交换设备并不能识别32位的IP地址,它们是以48位以太网地址(就是我们常说的MAC地址)传输以太网数据包的。也就是说IP数据包在局域网内部传输时并不是靠IP地址而是靠MAC地址来识别目标的,因此IP地址与MAC地址之间就必须存在一种对应关系,而ARP协议就是用来确定这种对应关系的协议。

         Windows操作系统,在命令行窗口输入”arp -a”命令可查看本机当前的ARP缓存表,ARP缓存表保存的就是IP地址与MAC地址的对应关系,我们来看一下

C:\>arp -a

Interface: 192.168.1.20 — 0×10003
  Internet Address      Physical Address      Type
  192.168.1.1           94-0c-6d-49-13-34     dynamic

“Internet Address”指的就是IP地址,”Physical Address”指的就是MAC地址。

 接下来我们了解一下ARP协议工作原理

ARP数据包根据接收对象不同,可分为两种:
    1. 广播包(Broadcast)。广播包目的MAC地址为FF-FF-FF-FF-FF-FF,交换机设备接收到广播包后,会把它转发给局域网内的所有主机。
    2. 非广播包(Non-Broadcast)。非广播包后只有指定的主机才能接收到。

   ARP数据包根据功能不同,也可以分为两种:
    1. ARP请求包(ARP Request)。ARP请求包的作用是用于获取局域网内某IP对应的MAC地址。
    2. ARP回复包(ARP Reply)。ARP回复包的作用是告知别的主机,本机的IP地址和MAC是什么。

    广播的一般都是ARP请求包,非广播的一般都是ARP回复包。

    假设局域网内有以下两台主机,主机名、IP地址、MAC地址分别如下:
        主机名   IP地址          MAC地址
        A        192.168.0.1     AA-AA-AA-AA-AA-AA
        B        192.168.0.2     BB-BB-BB-BB-BB-BB

    当主机A需要与主机B进行通讯时,它会先查一下本机的ARP缓存中,有没有主机B的MAC地址。如果有就可以直接通讯。如果没有,主机A就需要通过ARP协议来获取主机B的MAC地址,具体做法相当于主机A向局域网内所有主机喊一嗓子:“喂~谁是192.168.0.2?我是192.168.0.1,我的MAC地址是AA-AA-AA-AA-AA-AA
。你的MAC地址是什么,快告诉我”,这时候主机A发的数据包类型为:广播-请求。

    当主机B接收到来自主机A的“ARP广播-请求”数据包后,它会先把主机A的IP地址和MAC地址对应关系保存/更新到本机的ARP缓存表中,然后它会给主机A发送一个“ARP非广播-回复”数据包,其作用相当于告诉主机A:“嘿,我是192.168.0.2,我的MAC地址是BB-BB-BB-BB-BB-BB”。当主机A接收到主机B的回复后,它会把主机B的IP地址和MAC地址对应关系保存/更新到本机的ARP缓存表中,之后主机A和B就可以进行通讯了。

    从上述局域网主机通讯过程可以看出,主机在两种情况下会保存、更新本机的ARP缓存表,
    1. 接收到“ARP广播-请求”包时
    2. 接收到“ARP非广播-回复”包时

    这种机制,或者说ARP协议的设计,会不会存在问题呢?当然,不然怎么会有人利用来攻击呢?

ARP攻击会对我们有什么影响呢?最广的一种方式就是利用arp进行挂马!

用户在浏览某些网页的时候,网页中可能会包含一些恶意的代码,这就是俗称的“网页木马”,此种行为通常被称为“挂马”。

    网页中包含的恶意代码通常类似为:<iframe src=http://xxx/xxx width=50 height=0></iframe>

    “网页木马”并非万能的,它一般是通过系统中的漏洞(例如浏览器的漏洞、浏览器插件的漏洞等)来对用户的主机进行攻击,进而获取用户主机中的敏感数据,例如QQ号、网银账号、游戏ID等。如果你的主机已经安装了最新的安全补丁,大多数网页木马都无法对你的主机造成伤害。但是,也有不少网页木马是通过系统未公开的漏洞来攻击用户主机,即是说,即使你的主机安装齐全所有安全补丁,也无法做到100%免疫。

网页中为何会被插入恶意代码?

 1. 服务器被黑。服务器被入侵或感染病毒,硬盘上的网页文件被修改,被插入恶意代码。这种情况比较少见。表现形式:互联网上所有用户访问这台服务器上的网页时,网页上都会包含有恶意代码。

    2. 服务器被ARP欺骗。服务器所处的那个局域网内,有主机被黑客控制或者感染了病毒,服务器返回给用户的网页数据,在传输过程中被ARP欺骗程序、病毒程序所篡改,插入了恶意代码。表现形式:互联网上所有用户访问这台服务器上的网页时,网页上都会包含有恶意代码。

    3. 用户的局域网被ARP欺骗。用户所处的那个局域网内,有主机被黑客控制或者感染了病毒。服务器返回给用户的网页数据,在传输过程中被ARP欺骗程序、病毒程序所篡改,插入了恶意代码。表现形式:局域网的用户,在访问所有网站时,网页中都会包含恶意代码。

如何解决呢?

 1. 加强服务器的安全管理,避免被黑客入侵或者感染病毒。
 2. 安装ARP防火墙,避免受局域网内ARP欺骗程序、ARP病毒的影响。

在这里我介绍一个比较好的arp防火墙。经过我几年来实践测试还是非常不错的,可以有效的对arp进行防护。

彩影arp防火墙 官方网站 http://www.antiarp.com   安装过程不细说。

实践我们看看效果如何

遇到arp攻击时:

最关键的是可以知道谁在攻击我们,可以马上通知机房相关人员进行排查