当局域网内的主机通过HUB连接时,HUB的作用就是局域网上面的一个共享的广播媒体,所有通过局域网发送的数据首先被送到HUB,然后HUB将接收到的所有数据向它的每个端口转发。因此我们只要将某台主机的网卡设置为混杂模式,就可以接收到局域网内所有主机间的数据流量。
3.2 在交换以太网中捕包
在交换式以太网中,交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中。当有数据包发送到交换机时,交换机会将数据包中的目的MAC地址与自己维护的MAC地址?端口映射表中的数据进行对照,然后将数据包发送到对应的端口上。对交换机而言,仅有两种情况会发送广播,一是数据包的目的MAC地址不在交换机维护的数据库中,此时数据包向所有端口转发,这一过程称之为泛洪(flood);二是数据包本身就是广播包。
不同于工作在物理层的集线器,交换机是工作在数据链路层的。由于端口间的传递的数据帧彼此屏蔽,因此节点就不担心自己发送的帧在通过交换机时是否会与其他节点发送的帧产生冲突。交换机将冲突隔绝在每一个端口(每个端口都是一个冲突域),避免了冲突的扩散。因此,基于交换机以太网建立的局域网并不是真正的广播媒体,交换机限制了被动监听工具所能截获的数据。因此,要捕获数据包就必须将捕包系统运行在网关或路由器上,如果想在网段的任意一台主机上实现捕包功能,就需要采取其它的方法:
(1) 端口镜像。当路由器或交换机具备端口镜像功能时,我们可以通过镜像端口完成抓包工作。路由器或交换机的端口镜像功能,是指可以将一个端口的流量自动复制到另一端口,供网络管理员在判断网络问题时对端口流量和内容进行实时分析。通过交换机的镜像端口,这些流量就可以被一个特殊的设备监控,对发现和排除故障有很大的帮助。
(2) MAC洪泛法。通过在局域网上发送大量随机的MAC地址,以造成交换机的内存耗尽,当内存耗尽时,一些交换机便开始向所有连在它上面的链路发送数据。不过这种方法对网络会造成很大的堵塞,造成网络性能下降。
(3) ARP欺骗。ARP协议的作用是将IP地址映射到MAC地址,攻击者通过向目标主机发送伪造的ARP应答包,骗取目标系统更新自身的ARP缓存表,将目标系统的网关的MAC地址修改为监听者的主机MAC地址,使数据包都经由监听者的主机,同时监听者向网关发送伪造的ARP应答包,欺骗网关更新自己的ARP缓存表,是网关发给目标主机的数据也都流经监听者的主机,这样就实现了交换环境下的网络监听。值得一提的是,黑客经常会以此方法进行攻击和窃取数据。
4 总结
不同的操作系统实现的底层包捕获机制可能是不一样的,但从形式上看大同小异。数据包常规的传输路径依次为网卡、设备驱动层、数据链路层、网络层、传输层、最后到达应用程序。而包捕获机制是在数据链路层增加一个旁路处理,对发送和接收到的数据包做过滤、缓冲等相关处理,最后直接传递到应用程序。值得注意的是,包捕获机制并不影响操作系统对数据包的网络栈处理。对用户程序而言,包捕获机制提供了一个统一的接口,使用户程序只需要简单的调用若干函数就能获得所期望的数据包。这样一来,针对特定操作系统的捕获机制对用户透明,使用户程序有比较好的可移植性。包过滤机制是对所捕获到的数据包根据用户的要求进行筛选,最终只把满足过滤条件的数据包传递给用户程序。
参考文献
[1]?王电.包捕获型网络计费系统[J].杭州电子科技大学学报,2005,(06):60?64.
[2]?赵树升,范刚龙,张焕剑.一种Windows网络嗅探器的检测原理与实现[J].郑州大学学报(理学版),2005,(03).
[3]?申志,赵跃龙,申强.一种分布式网络管理监控系统的研究与开发[J].计算技术与自动化,2006,(01).
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说计算机网络数据包捕获技术研究(2)在线全文阅读。