科普:如何防范ARP欺骗

我用的是从别人家里分出来的网线,最近经常上不了网,我很恼火,开始我还以为是Modem有问题,后来才意识到可能被人用Arp欺骗在Sniffer(嗅探)别人的密码和其它隐私,也许是邻居在有意测试他们认为有趣的如网络执法官之类的黑客软件,也许是他们家的电脑中了ARP欺骗木马病毒,也许是其它高手(国安?如果是国安就太抬举我了)在想办法玩我呢。我也没有什么好的办法,我只好改所有的密码,只好找来Anti Arp Sniffer来抵抗ARP欺骗,还决定以后登录全用SSH的tunnel。免得哪天别人盗到我的密码然后把在我的BLOG发表骂Fisker的文章,前不久Fisker的BLOG就被人盗了密码然后发了一篇文章来骂我,搞得我莫明其妙。我觉得有必要记录一下并让我的朋友们免于密码被盗,所以介绍一下所谓的黑客技术,学会如何防范ARP欺骗总是有好处的。

什么是ARP欺骗呢?ARP就是地址解析协议,就用来把IP地址解析成MAC地址,也就是物理地址(Physical Address),局域网需要用这个协议把IP地址对应成网卡的MAC地址。局域网的每台电脑在上网时需要指定一个网关才能上网,ARP欺骗就是局域网中的另一台电脑发出假的ARP信息来冒充网关,让其它电脑路过网关的信息全部流到这台电脑上,通过嗅探他们就可以分析数据包里的隐私信息,如密码之类的隐私信息。如下就是192.168.1.31在试图冒充192.168.1.1这个网关时的信息:

C:Documents and SettingsAdministrator>arp -a

Interface: 192.168.1.2 --- 0x10003
  Internet Address      Physical Address      Type
  192.168.1.1           00-50-bf-56-23-8f     dynamic
  192.168.1.31          00-50-bf-56-23-8f     dynamic

从上面的输出中可以看到同一个MAC的网卡居然有两个IP,而我用Antiarp.exe来输入网关192.168.1.1的IP地址来查询网关的网卡MAC地址时,得到的真实MAC地址却是00-0f-a3-5d-4c-88,然后可以看到不断有ARP欺骗消息弹出。

防范ARP欺骗

下载Anti Arp Sniffer的地址在这里,网上介绍在这里

对了,使用的时候需要输入网关地址,如192.168.1.1,然后按”获取网关MAC地址”即可,然后还需要输入本地MAC,本地MAC的地址用这种方法可以获得,运行”CMD”后再执行ipconfig /all

C:Documents and SettingsAdministrator>ipconfig /all

Windows IP Configuration

        Host Name . . . . . . . . . . . . : Home
        Primary Dns Suffix  . . . . . . . : zuola.com
        Node Type . . . . . . . . . . . . : Unknown
        IP Routing Enabled. . . . . . . . : No
        WINS Proxy Enabled. . . . . . . . : No
        DNS Suffix Search List. . . . . . : zuola.com

Ethernet adapter 本地连接:

        Connection-specific DNS Suffix  . :
        Description . . . . . . . . . . . : VIA PCI 10/100Mb Fast Ethernet Adapter
        Physical Address. . . . . . . . . : 00-0A-E6-88-D5-69
        Dhcp Enabled. . . . . . . . . . . : Yes
        Autoconfiguration Enabled . . . . : Yes
        IP Address. . . . . . . . . . . . : 192.168.1.2
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.1.1
        DHCP Server . . . . . . . . . . . : 192.168.1.1
        DNS Servers . . . . . . . . . . . : 192.168.1.1
        Lease Obtained. . . . . . . . . . : 2007年4月25日 21:40:49
        Lease Expires . . . . . . . . . . : 2007年4月28日 21:40:49

上面的红字就是MAC地址了。

使用上这个软件后,记得改掉你所有密码哦,如开机密码、Blog密码、邮箱密码、网上银行密码、支付宝密码、Adwords密码、Adsense密码、网上电话营业厅密码、同学录密码、Flickr密码、Del.icio.us密码、抓虾密码、豆瓣密码、土豆密码、优酷密码、v2ex密码、Yupoo密码、SKYPE密码、QQ密码、MSN密码……最好是每个月改一次,每次改都写在一个纸做的记事本上,好记心不如烂笔头,但是切记不要把密码记录在电脑的任何格式的文档中。

不过,那些用HttpS方式来登录的网站似乎不会被Sniffer到密码,如Google的产品Gmail、Adwords、Adsense和SKYPE,那些舍不得给网站加上安全证书的穷网站就没这么安全了。

写完日志,在发表之前我也要去先把密码全改了再发表这篇文章,免得某黑客看到我的这篇BLOG就先下手为强,也许他早已经得到我的密码了呢。我可是一年多没有改过密码了。为了安全起见,再麻烦也要做,麻烦点也值。

Updata:

感谢istef留言提供的更简单方法,用arp -s 192.168.1.1 00-0f-a3-5d-4c-88这个命令就可以把动态ARP缓存改为静态,这样就可以抵御ARP欺骗了 :

C:Documents and SettingsAdministrator>arp -a

Interface: 192.168.1.2 --- 0x10003
  Internet Address      Physical Address      Type
  192.168.1.1           00-0f-a3-5d-4c-88     dynamic
  192.168.1.31          00-50-bf-56-23-8f     dynamic

C:Documents and SettingsAdministrator>arp -s 192.168.1.1 00-0f-a3-5d-4c-88

C:Documents and SettingsAdministrator>arp -a

Interface: 192.168.1.2 --- 0x10003
  Internet Address      Physical Address      Type
  192.168.1.1           00-0f-a3-5d-4c-88     static
  192.168.1.31          00-50-bf-56-23-8f     dynamic

更简单的办法就是写一个BAT的批处理命令,在打开浏览器之前执行arp -s 192.168.1.1 00-0f-a3-5d-4c-88这个命令步骤如下:

  1. 先用Anti Arp Sniffer找到网关的MAC地址,我找到的网关MAC地址是00-0f-a3-5d-4c-88,我不知道还有什么办法可找到MAC地址;
  2. 在电脑上从右键菜单中选择”新建”,然后新建一个文本文档”新建 文本文档.txt”;
  3. 在”新建 文本文档.txt”中输入arp -s 192.168.1.1 00-0f-a3-5d-4c-88,然后保存;
  4. 把”新建 文本文档.txt”改名字为antiArpSniffer.bat,如果看不到”新建 文本文档.txt”的txt后缀,请打开”我的电脑”的”工具”菜单中的”文件夹选项”,把”查看”标签中的”隐藏已知文件类型的扩展名”这个选项设置为不勾选。这样就可以改txt为bat的扩展名了。

以上操作在Windows XP中验证,欢迎转载,允许商业使用,只要求署名并注明来源。

7 thoughts on “科普:如何防范ARP欺骗”

  1. 在命令提示符下输入 arp -a 查到 gateway 的 ip 和 mac,例如 192.168.0.1 00-00-00-ff-ff-ff dynamic

    然后输入命令将其变为静态的
    arp -s 192.168.0.1 00-00-00-ff-ff-ff
    这样可以抵御一般的 ARP 欺诈,因为它已经无法修改你的 ARP 表

  2. to 刀山:请不要订阅 http://www.zuola.com/weblog/?feed=rss 这个地址,不知道在新版本中这个地址变成了摘要输出,你可以改为订阅 http://www.zuola.com/index.xml 吗?
    to chyni:不是我谦虚,而是我根本就不知道自己是不是高手。要我看来,技术高手永远是一个相对的概念,而且是唯心的,你认我是高手就是高手,认为我是狗屎我就是狗屎。
    to 睬一踩:我还是国家认可的网络工程师呢,所以基础知识还是有的:)

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据