linux下防范arp欺骗攻击

转载 2007年10月08日 20:50:00
原贴:http://blog.chinaunix.net/u1/47189/showart_396686.html

linux下防范arp欺骗攻击

linux下防范arp欺骗攻击

rurutia posted @ 2007年04月23日 12:17AM in linux with tags arp 攻击
Gentoo下体验Xgl

前两天家里的网断断续续,发现有人在用arp欺骗,其实真正碰到有人在攻击的几率不大,大部分原因都是有人在用win下的诸如“P2P终结者”这样的软件导致的。再怎么bs那人也是没有用的,问题还是要解决,win下倒是好办,现成的软件多的是 ,linux下面就要自己动手了^^。

arp欺骗的原理不多述,基本就是利用发 送假的arp数据包,冒充网关。一般在网上通讯的时候网关的IP和MAC的绑定是放在arp 缓存里面的,假的arp包就会刷新这个缓存,导致本该发送到网关的数据包发到了欺骗 者那里。解决的办法就是静态arp。

假设网关的IP是192.168.0.1,我们要 先得到网关的正确MAC,先ping一下网关:

ping 192.168.0.1

然后运行arp查看arp缓存中的网关MAC:

localhost~$ arp
Address HWtype HWaddress Flags Mask Interface
192.168.0.1 ether 00:12:34:56:78:9A C eth0

这里得到的网关MAC假定 为00:12:34:56:78:9A,C代表这个绑定是保存在缓冲里的,我们要做的就是把这个IP和 MAC静态的绑定在一起,首先建立/etc/ethers文件,输入以下内容:

192.168.0.1 00:12:34:56:78:9A

保存退出,之后便是应 用这个静态绑定:

localhost~$ arp -f

再运行arp查看:

localhost~$ arp
Address HWtype HWaddress Flags Mask Interface
192.168.0.1 ether 00:12:34:56:78:9A CM eth0

多了个M,表示静态网关 ,OK收工~

另外,如果你不会和局域网内的用户通讯的话,那么可以干脆 把arp解析关掉,假定你的网卡是eth0,那么可以运行:

localhost~$ ifconfig eth0 -arp

这样对付那些终结者软件就可以了,但是真的有人 向攻击的话,这样还是不够的,因为攻击者还可以欺骗网关,解决的办法就是在网关和 局域网内机器上做双向绑定,原理方法同上,一般网吧里面也是这样做的。



原文来自        http://blog.linuxgem.org/rurutia/show/67.html

 

 发表于: 2007-10-08,修改于: 2007-10-08 14:01 已浏览9次,有评论1条 推荐 投诉

  网友评论
  本站网友 时间:2007-10-08 17:45:28 IP地址:124.114.233.★
 
Linux下绑定IP和MAC地址,防止ARP欺骗
时间:2007-7-27 21:02:30 作者:www.sec120.com  出处:125546878
一、应用背景
由于最近网上新出现一种ARP欺骗病毒,主要表现为:
中病毒的机器不仅影响自身,同时也会影响同网段的其它机器,将其它机器的HTTP数据包里加入病毒代码。代码例子如:
<html><iframe src=http://www2.89382.cn/wm/css.htm width=0 height=0></iframe>
这种病毒危害非常大!即使你机器的安全性做得很好,可是没办法保证同网段的其它机器安全没有问题!
解决办法:在网关和本机上双向绑定IP和MAC地址,以防止ARP欺骗。

二、约定
1、网关上已经对下面所带的机器作了绑定。网关IP:192.168.1.1 MAC:00:02:B3:38:08:62
2、要进行绑定的Linux主机IP:192.168.1.2 MAC:00:04:61:9A:8D:B2

三、绑定步骤
1、先使用arp和arp -a查看一下当前ARP缓存列表
[root@ftpsvr ~]# arp
Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.1.234            ether   00:04:61:AE:11:2B   C                     eth0
192.168.1.145            ether   00:13:20:E9:11:04   C                     eth0
192.168.1.1              ether   00:02:B3:38:08:62   C                     eth0

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

[root@ftpsvr ~]# arp -a
? (192.168.1.234) at 00:04:61:AE:11:2B [ether] on eth0
? (192.168.1.1) at 00:16:76:22:23:86 [ether] on eth0

2、新建一个静态的mac-->ip对应表文件:ip-mac,将要绑定的IP和MAC地下写入此文件,格式为 ip mac。
[root@ftpsvr ~]# echo '192.168.1.1 00:02:B3:38:08:62 ' > /etc/ip-mac
[root@ftpsvr ~]# more /etc/ip-mac
192.168.1.1 00:02:B3:38:08:62

3、设置开机自动绑定
[root@ftpsvr ~]# echo 'arp -f /etc/ip-mac ' >> /etc/rc.d/rc.local

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

5、确认绑定是否成功
[root@ftpsvr ~]# arp
Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.0.205            ether   00:02:B3:A7:85:48   C                     eth0
192.168.1.234            ether   00:04:61:AE:11:2B   C                     eth0
192.168.1.1              ether   00:02:B3:38:08:62   CM                    eth0

[root@ftpsvr ~]# arp -a
? (192.168.0.205) at 00:02:B3:A7:85:48 [ether] on eth0
? (192.168.1.234) at 00:04:61:AE:11:2B [ether] on eth0
? (192.168.1.1) at 00:02:B3:38:08:62 [ether] PERM on eth0

从绑定前后的ARP缓存列表中,可以看到网关(192.168.1.1)的记录标志已经改变,说明绑定成功。

四、添加信任的Windows主机(192.168.1.10)
1、Linux主机(192.168.1.2)上操作
[root@ftpsvr ~]# echo '192.168.1.10 00:04:61:AE:09:14' >> /etc/ip-mac

[root@ftpsvr ~]# arp -f /etc/ip-mac

2、Windows主机(192.168.1.10)上操作
1)清除ARP缓存
C:/Documents and Settings/Administrator>arp -d

2)绑定Linux主机的IP和MAC地址
C:/Documents and Settings/Administrator>arp -s 192.168.1.2 00-04-61-9A-8D-B2

你可以将上面2个步骤写在一个BAT(批处理)文件中,这样做的好处是,今后如果要增加其它机器的绑定,只需维护这个文件就可以了。例:
@echo off   
arp -d   
arp -s 192.168.1.2 00-04-61-9A-8D-B2
exit  

注意:Linux和Widows上的MAC地址格式不同。Linux表示为:AA:AA:AA:AA:AA:AA,Windows表示为:AA-AA-AA-AA-AA-AA

五、参考文献
ARP协议揭密:http://www.ibm.com/developerworks/cn/linux/l-arp/ 
 

[渗透测试] ARP欺骗攻击&DNS欺骗攻击

ARP是Address Resolution Protocol的缩写。其基本功能就是在主机发送数据之前将目标IP转换为MAC地址,完成网络地址到物理地理地址的映射,以保证两台主机能够正常通信。 任何一...
  • hitwangpeng
  • hitwangpeng
  • 2015年08月01日 19:50
  • 2307

利用WinPcap编程,实现基于ARP欺骗的中间人攻击

*******此实验旨在交流学习,请勿用在非正常合法途径*******利用WinPcap编程,实现基于ARP欺骗的中间人攻击 一、实验内容 利用WinPcap,分别向被欺骗主机和网关发送APR请求包,...
  • Ni9htMar3
  • Ni9htMar3
  • 2017年01月19日 08:51
  • 2152

基于ARP欺骗的网络攻击程序源码

最近开始学WINPCAP,看了很多高手写的基于arp欺骗的抓包工具,尤其是电子科大的TOo2y师兄的《详谈调用winpcap驱动写arp多功能工具》,令我收益非浅。下面是我把这个思想改成arp攻击程序...
  • zhongyhc
  • zhongyhc
  • 2013年06月07日 10:52
  • 1228

python 使用scapy库进行ARP欺骗

1. 说明  ARP欺骗(ARP spoofing),又称ARP病毒(ARP poisoning)或ARP攻击,是针对以太网地址解析协议(ARP)的一种攻击技术。此种攻击可让攻击者获取局域网上的数据包...
  • Jeanphorn
  • Jeanphorn
  • 2015年05月14日 21:20
  • 6527

Python黑帽编程 3.1 ARP欺骗

ARP欺骗是一种在局域网中常用的攻击手段,目的是让局域网中指定的(或全部)的目标机器的数据包都通过攻击者主机进行转发,是实现中间人攻击的常用手段,从而实现数据监听、篡改、重放、钓鱼等攻击方式。 在进行...
  • xuanhun
  • xuanhun
  • 2016年08月27日 11:00
  • 4272

关于ARP欺骗与MITM(中间人攻击)的一些笔记(一)

测试环境如下: 拓扑图:     网关: ASUS RT-N10+(DD-WRT) IP:192.168.1.1/24   攻击主机: B...
  • hljzzj
  • hljzzj
  • 2015年10月12日 11:00
  • 863

ARP断网攻击和欺骗实现 kali

ARP(Address Resolution Protocol),中文解释为地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。 ARP大致工作流程如下: 主机发送信息时将包含目标IP...
  • qq_33936481
  • qq_33936481
  • 2016年04月30日 14:50
  • 7568

Kali实现局域网ARP欺骗和ARP攻击

Kali实现局域网ARP欺骗和ARP攻击                                              ------唐天龙        所谓ARP攻击,就是伪造IP和MA...
  • tiaotiaolong99234
  • tiaotiaolong99234
  • 2015年05月29日 23:53
  • 3527

ARP欺骗的源代码

#include  #include  #include  //winpcap的头文件 #include  #include  //多线程编程的头文件 #include  #include...
  • GarfieldEr007
  • GarfieldEr007
  • 2016年05月04日 12:49
  • 1099

ARP中间人欺骗实现

ARP欺骗是TCP/IP协议里面一个比较常用的攻击手段,我们需要深入了解其中的原理。...
  • qq_30265545
  • qq_30265545
  • 2016年08月14日 18:25
  • 481
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux下防范arp欺骗攻击
举报原因:
原因补充:

(最多只允许输入30个字)