| Sniffer(嗅探器)是一种常用的收集有用数据方法, 这些数据可以是用户的帐号和密码, 可以是一些商用机密数据等等. Sniffer可以作为能够捕获网络报文的设备, ISS为Sniffer这样定义:Sniffer是利用计算机的网络接口截获目的地为其他计算机的数据报文的一种工具. Sniffer根据网络的类型分为两个类别: 1.交换环境下的Sniffer 2.共享环境下的Sniffer 交换环境下的Sniffer往往是通过对交换机进行ARP欺骗, 变成一个中间人进行截获数据. 共享环境下的Sniffer仅仅只需要把本机的网卡设置为混杂模式就可以监听网络上所有的数据报, 而不需要进行任何欺骗行为.
Sniffer的原理: 交换环境的网络使用交换机(Switch)连接各个网络节点, 而共享环境的网络则采用集线器连接各个节点. 先说共享环境吧, 共享网络也成为集线器网络, 数据报到达集线器以后, 集线器会把数据报转发到每个集线器的端口, 换句话说, 集线器连接的每个网络节点都有权利收到所有的数据报. 运行Sniffer以后, Sniffer会把网卡设置为混杂模式, 一旦设置为混杂模式, Sniffer就可以接受所有的数据报, 这样也就达到了Sniffer的目的. 交换环境, 通过使用交换机代替共享环境下的集线器, 能够解决集线器的几个安全问题, 交换机通过自己的ARP缓存列表来决定把数据报发送到某个端口, 这样就不是把一个数据报转发到各个端口了, 这样的做法一方面大大提高了网络的性能, 另一方面也提高了安全性, 在交换环境下, 即使网卡设置为混杂模式, 也只能监听本机的数据包, 因为交换机不会把其他节点的数据报转发给嗅探主机了. 所以, 在交换环境下必须想办法让被嗅探主机的数据报发到嗅探主机来, 能够实现这种目的方法叫做ARP欺骗(ARP Spoofing), 这种方式通过伪造ARP数据包欺骗交换机使交换机更新ARP缓存列表达到欺骗的目的, 这样发送到被嗅探的主机的数据报完全转发到嗅探主机来, 而被嗅探主机收不到任何的数据包, 为了使得能够正常的截获数据报, 嗅探主机除了充当嗅探的身份之外, 还要充当中间人的身份. 具体的原理和方式可以去Google上搜索ARP欺骗. 交换环境下在不使用ARP欺骗的情况下, 如何能够进行整网的数据分析呢 我提供2种方法进行参考: 1. 在根节点使用带有镜像功能的交换机, 这种功能的交换机可以设置为把所有的数据报都转发到某一指定端口上, 在该端口上可以连接运行Sniffer的主机. 2. 如果您的根节点交换机没有这种功能, 那么可以在根节点上方添加一台集线器, 集线器1个端口连接交换机, 另外一个端口就可以连接运行Sniffer的主机了. 下面的这些是我个人认为比较经典的Sniffer,值得收藏. |