网络嗅探技术浅析

简介:

一.嗅探可以做什么?为什么需要嗅探?

  嗅探(sniff),就是窃听网络上流经的数据包,而数据包里面一般会包含很多重要的私隐信息,如:你正在访问什么网站,你的邮箱密码是多少,你在和哪个MM聊QQ等等......而很多攻击方式(如著名的会话劫持)都是建立在嗅探的基础上的。

二.嗅探技术

  在集线器盛行的年代,要做嗅探是件相当简单的事情,你什么事情都不用干,集线器自动会把别人的数据包往你机器上发。但是那个年代已经过去了,现在交换机已经代替集线器成为组建局域网的重要设备,而交换机不会再把不属于你的包转发给你,你也不能再轻易地监听别人的信息了(不熟悉集线器和交换工作原理的朋友可以参考我之前写的文章《网络基础知识1:集线器,网桥,交换机》),注意,只是不再轻易地,不是不行!呵呵,要在交换机网络下做嗅探还是有方法的,接下来我总结一下最近看到的关于交换机网络嗅探的一些方法:>

1.基于ARP欺骗的嗅探技术(对ARP攻击不熟悉可以参看我另外两篇文章《Arp小记》《Arp攻击实战》

  以前搞ARP攻击没什么意思,它顶多就是把一些机器搞得不能上网,真的没啥意思,但自从交换机成为架设局域网的主流设备后,ARP攻击有了新的用途:用ARP欺骗辅助嗅探!原理很简单,先看看下面两幅图:

  2009012111294478.jpg2009012111295173.jpg

  左图是正常通信时,两台机器数据流向。右图是B被A机器ARP欺骗后,两台机器的数据流向,着重看右图,B被ARP欺骗后,数据的流向改变了,数据先是发给了A,然后再由A转发给网关;而从网关接收数据时,网关直接把发给B的数据转发给了A,再由A转发给B,而A的自己的数据流向是正常的。现在B的数据全部要流经A,如果A要监听B是易于反掌的事情了。

  再简单说说这个ARP欺骗的过程吧,也就是怎么实现改变B的数据流向:

  1).现在架设A的IP地址是192.168.1.11,MAC地址是:11-11-11-11-11-11;B的IP地址是192.168.1.77,MAC地址是77-77-77-77-77-77;网关IP地址是192.168.1.1,MAC地址是:01-01-01-01-01-01。

  2).A发送ARP欺骗包(ARP应答包)给B,告诉B:我(A)是网关,你把访问外网的数据发给我(A)吧!ARP欺骗包如下:

  SrcIP: 192.168.1.1 ,SrcMAC:11-11-11-11-11-11

  DstIP: 192.168.1.77 ,DstMAC:77-77-77-77-77-77

  3).A发送ARP欺骗包(ARP应答包)给网关,告诉网关:我(A)是机器B,结果网关把所有给B的数据都发到A那里了。ARP欺骗包如下:

  SrcIP: 192.168.1. 77,SrcMAC:11-11-11-11-11-11

  DstIP: 192.168.1. 1,DstMAC:01-01-01-01-01-01

  4).机器A有一个辅助用的转发软件,它负责把“网关->B”和“B->网关”的数据包转发。

至此,ARP欺骗的辅助任务完成了,接下来就是用你的嗅探器进行偷窥了~噢~哈哈!

  这里有几点值得注意一下的:

  1).ARP欺骗包每隔一段时间要发一次,否则网关和B的ARP缓存会更新!

  2).ARP欺骗完成后,网关的ARP记录会有两记录的MAC地址是相同的,分别是:192.168.1.11(11-11-11-11-11-11)和192.168.1.77(11-11-11-11-11-11),这样可能会比较明显,嗯~可以把A自己在网关的ARP缓存改了:192.168.1.11(01-10-01-10-01-10,乱写一个),但这样会有两个问题:一个是这个MAC是乱写的,局域网内根本没有这个MAC地址的机器,根据交换机的工作原理,网关发给192.168.1.11这IP的机器的数据将会被广播。第二个是,此刻你(A)的正常与外界通信的能力将会丧失。可以权衡考虑一下。

  以前的一篇文章《Arp攻击实战》,里面所使用的ARP攻击工具:"WinArpAttacker",它就有利用这种原理进行嗅探的功能,见下图:

  2009012116560725.jpg

2.欺骗交换机缓存

  用ARP欺骗辅助嗅探是一种比较旧的方式,现在的局域网机器很多都装了ARP防火墙!如果机器装了ARP防火墙,上面的嗅探方式就没用了:<,那还有其他的方式吗?嗯~有!那就是欺骗交换机缓存!

  cncert的一个很出名的会话劫持工具SSCLONE就是采用这种方法进行嗅探的,它的网站上也有专门的文章说明“欺骗交换机缓存”的嗅探方法(见参考资料)。我在这里大概说一下原理吧。

  交换机里面有一张CAM表,记录了Mac-Port信息(这个端口对应的机器的MAC地址是什么),MAC信息的获取是:交换机从转发的数据包中提取。所谓欺骗交换机缓存,就是修改这张CAM表以达到欺骗交换机的目的!比如现在有一个4端口的交换机,它的CAM表如下:

  port1 -- 11-11-11-11-11-11

  port2 -- 22-22-22-22-22-22

  port3 -- 33-33-33-33-33-33

  port4 -- 44-44-44-44-44-44

现在port1的机器A(IP是192.168.1.11,MAC地址为11-11-11-11-11-11)想要嗅探port2的机器B(IP是192.168.1.22,MAC地址为22-22-22-22-22-22),怎么办呢?呵呵~流程如下:

  机器A对外发送一个数据包,如下:

  SrcIP:192.168.1.11  ScrMac:22-22-22-22-22-22

  DstIP:xxx.xxx.xxx.xxx(随便写),DstMac:xx-xx-xx-xx-xx-xx(随便写)

  此时,交换机收到这个包,发现在原来CAM里面,port1对应的机器MAC地址是11-11-11-11-11-11,怎么现在变为:22-22-22-22-22-22了呢??哦,应该是这台机器的MAC地址变了吧~好!那我更新CAM表!

  更新后的交换机CAM表如下:

  port1 -- 22-22-22-22-22-22

  port2 -- 22-22-22-22-22-22

  port3 -- 33-33-33-33-33-33

  port4 -- 44-44-44-44-44-44

现在有port1和port2对应的MAC地址是一样的。如果现在网关(假设现在port4连接的是网关)来了一个数据包是给机器B(IP是192.168.1.22,MAC地址为22-22-22-22-22-22),交换机会顺序查询此刻的CAM表来确定该数据包转发去哪个端口!在查询port1时,发现此端口对应MAC地址和数据包里的MAC地址相同,交换机直接就把包转发到port1的机器A了,由于该包已转发完毕,交换机继续处理下一个数据包......就这样,数据包又再次落入充满窥探欲望的人手中!

  这里也需要注意几个问题:

  1).A收到包后,还是需要转发给B的,不然B和外面的对话就中断了。

  2).当A把包转发给B时,需要修复交换机的CAM表。

当你看完以上这两点注意时,可能会发现利用这种的一些缺陷:

  1).A在转发包给B时需要恢复CAM表,转发后又要再次欺骗。如果在转发包时,网关来了一个数据给B,此时的CAM表是正确的,交换机会把这个数据会直接发给B,A无法监听到这个包,由于每次转发都需要完成以上操作,导致CAM表刷新相当频繁,最后的结果是,A监听到的数据很不完整。

  2).你接的交换机的端口号决定着你的命运!

  如果B接的port1端口,A接的是port2端口,那么,用这种方式,A将永远也嗅探不到B的信息,更悲观的想一下,如果你连接的是这个交换机最后一个端口呢??!:<

  3).跨交换机进行嗅探丢包非常多!

  看下图:

  2009012115302323.jpg

现在交换机A连接交换机B的port1,机器C连接port2,如果没有机器B的话,机器A还是能比较顺利监听机器到C的信息的,但是有了机器B就不同了,交换机的CAM表里port1这条记录,会因为机器A和机器B的发包而经常改变。导致的问题大家也可以想到了。

  现在,防止欺骗交换机缓存的方法只有在交换机处绑定port-mac这对信息,但由于这和交换机原先设计的理念有矛盾,故这个是无法实现的,也就是说,没有办法防止:<

  值得一说的是,现在无线网已经兴起了,和集线器时代一样,在无线网络监听别人的信息是不费吹灰之力的事情,无线网的安全也值深思呀~

  有什么想法大家踊跃发言呀~!:>

三.参考资料:

1.http://www.cncert.net/TEC/network/2008-7-26/161.html

2.http://blog.csdn.net/zhihui13/archive/2008/10/10/3048272.aspx



本文转自hyddd博客园博客,原文链接:http://www.cnblogs.com/hyddd/archive/2009/01/21/1379531.html,如需转载请自行联系原作者。

目录
相关文章
|
5天前
|
SQL 安全 算法
网络安全与信息安全:攻防之间的技术博弈
【4月更文挑战第20天】在数字化时代,网络安全与信息安全已成为维护国家安全、企业利益和个人隐私的重要屏障。本文深入探讨了网络安全漏洞的成因、加密技术的进展以及提升安全意识的必要性,旨在为读者提供全面的网络安全知识框架,同时分享最新的防御策略和技术手段。通过对网络攻防技术的分析,本文揭示了安全防御的复杂性,并强调了持续教育和技术创新在网络安全领域的重要性。
15 6
|
22天前
|
SQL 安全 算法
网络安全与信息安全:防御前线的关键技术与意识
【4月更文挑战第3天】在数字化时代,网络安全与信息安全已成为维护信息完整性、确保数据私密性和保障系统可用性的基石。本文深入探讨了网络安全漏洞的概念、加密技术的应用以及提升安全意识的重要性,旨在为读者提供全面的网络安全知识框架,以应对日益复杂的网络威胁。
|
29天前
|
存储 安全 网络安全
云计算与网络安全:新时代的技术挑战与应对策略
随着云计算技术的快速发展,网络安全问题变得愈发突出。本文探讨了云服务、网络安全以及信息安全在当今技术领域面临的挑战,并提出了相应的解决方案。通过分析现状和未来趋势,可以更好地了解云计算与网络安全的关系,为构建安全可靠的云服务提供参考。
|
15天前
|
数据采集 大数据 数据安全/隐私保护
掌握网络抓取技术:利用RobotRules库的Perl下载器一览小红书的世界
本文探讨了使用Perl和RobotRules库在遵循robots.txt规则下抓取小红书数据的方法。通过分析小红书的robots.txt文件,配合亿牛云爬虫代理隐藏真实IP,以及实现多线程抓取,提高了数据采集效率。示例代码展示了如何创建一个尊重网站规则的数据下载器,并强调了代理IP稳定性和抓取频率控制的重要性。
掌握网络抓取技术:利用RobotRules库的Perl下载器一览小红书的世界
|
4天前
|
安全 物联网 网络安全
网络安全与信息安全:防御前线的关键技术与策略
【4月更文挑战第21天】在数字化时代,数据成为了新的货币,而网络安全则是保护这些资产不受威胁的盾牌。本文深入探讨了网络安全漏洞的本质、加密技术的进展以及提升个人和企业安全意识的方法。通过分析当前网络攻击的模式和动机,我们提出了一系列切实可行的防御措施,旨在帮助读者构建更加安全的网络环境。
|
6天前
|
存储 监控 安全
网络安全与信息安全:防御前线的关键技术与意识
【4月更文挑战第18天】在数字化时代,数据成为了新的货币,而网络安全则是保护这些宝贵资产不受威胁的盾牌。本文深入探讨了网络安全的核心议题—漏洞管理、加密技术以及安全意识的重要性。通过分析当前网络环境中普遍存在的安全挑战,我们阐述了如何通过持续监控、定期更新和强化员工培训来构建一个更加坚固的防线。
|
15天前
|
存储 安全 网络安全
未来云计算与网络安全:技术创新与挑战
随着数字化时代的来临,云计算与网络安全成为了当今科技领域的焦点。本文从技术创新和挑战两个方面探讨了未来云计算与网络安全的发展趋势。在技术创新方面,人工智能、区块链和量子计算等新兴技术将为云计算和网络安全带来前所未有的发展机遇;而在挑战方面,隐私保护、数据泄露和网络攻击等问题也将不断考验着技术研究者和行业从业者的智慧和勇气。未来,只有不断创新,同时加强安全防护,才能实现云计算与网络安全的良性发展。
16 1
|
16天前
|
传感器 监控 安全
|
16天前
|
安全 SDN 数据中心
|
19天前
|
SQL 监控 安全
网络安全与信息安全:防御前线的关键技术与策略
【4月更文挑战第6天】 在数字化时代,数据成为了新的货币,而网络安全则是保护这些数据的金库。本文深入分析了网络安全漏洞的形成机理、加密技术的最新进展以及提升个人和企业安全意识的实践方法。通过对网络威胁的剖析和防御技术的探讨,文章为读者提供了一系列的信息安全防护策略,旨在帮助个人和组织构建更为坚固的数字防线。

热门文章

最新文章