⊕ 网站首页 ⊕注册会员 ⊕ 本站免费电影 ⊕ 留言板 ⊕ 繁體中文
WinRAR 3.90 Beta 4 烈火一周软件回顾 Win 7 RC热酷软推荐 PPLiv海量视频光影魔术手(nEOiMAGING)PPLive2.0客户端最新界面大量微软新系统Windows 酷似Vista 预览Win Home微软Windows XP SP3 概览苹果公司发布Final Cut 苹果公司发布Final Cut
决定使用ARP绑定后,接下来就要考虑ARP的实现方法。ARP(Address Resolution Protocol)协议是用来向对方的计算机、网络设备通知自己IP对应的MAC地址的。如果所有非法用户都被赋予了错误的MAC地址,那么他们是无法通过这台服务器上网的。因此,ARP绑定要求必须将所有可能的IP地址全部与MAC地址绑定,才能够杜绝非法用户(当然,用户修改MAC地址除外)。 经过一番思索,确定了初步的构思。首先,用Linux Shell的循环方法生成一张包含从10.0.0.1到10.0.3.254的无效MAC地址匹配表,称之为全局表。然后根据DHCP服务器的数据得到一张合法用户的IP和MAC地址表,称之为合法表。接着,读取合法表中每个用户的IP,并在全局表中寻找匹配的IP,如果找到的话就用合法用户的MAC地址替换原来无效的MAC地址。最后,这张全局表中的合法用户匹配正确MAC地址,而非法用户匹配无效的MAC地址。只要用户把这张表写入系统ARP缓存,非法用户就不能通过简单的盗取IP方法来通过网关了。 实现 首先生成一张初始的全局表。它包含所有IP地址,每个IP地址与一个非法的MAC地址匹配。它的格式必须是arp命令能够识别的。初始化全局表的脚本为init,内容如下: #!/bin/bash ipprefix=10.0. count1=0 while (( $count1 < 4 )) do count2=1 while (( $count2 < 255 )) do echo“$ipprefix$count1.$count2 00e000000001” let $count2+=1 done let $count1+=1 done 写好后存档,用“chmod +x init”命令使得脚本可执行。然后运行脚本init > arp,就可以将结果保存到当前目录的arp文件中。该文件就是10.0.0.1到10.0.3.254所有IP地址与MAC地址00e000000001绑定的ARP表,看上去该文件类似于下面这样: 10.0.0.1 00e000000001 10.0.0.2 00e000000001 10.0.0.3 00e000000001 10.0.0.4 00e000000001 10.0.0.5 00e000000001 ... ... 需要注意的是,Shell脚本语法虽然和C语言类似,但对格式要求很严格,有些地方不能加空格,有些地方则必须加空格。比如let $count1+=1就不能写成let $count1 += 1;相反,while (( $count1 < 4 )) 也不能写成while (($count1<4)),括号与语句之间必需有空格。 接下来通过DHCP服务器得到合法用户的IP与MAC地址匹配表(即合法用户表),假设是valid.arp文件。编写一个脚本一行一行地读取该表,每得到一个IP地址记录,就在前面生成的arp文件中查找同样的IP。如果找到的话,那么就用valid.arp中该IP的MAC地址替换arp文件中该IP的MAC地址。valid.arp文件可能像下面这样: 10.0.0.2 00e00a0f1d2c ... 10.0.1.25 00e0b2c3d5c1 ...
【责任编辑 徐洋】
| 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 |
Copyright © 2007 - 2009 chenpeng123.com All Rights Reserved 本站所有文章,软件等均来自网络收集,不代表本站观点,仅供学习和研究使用。如有侵犯您的版权,请联系我们,本站将立即删除。 鲁ICP备07014697号 你是本站第 位访客