技巧与问答
❖ 如何窃听网络上的信息?
以太网的数据传输是基于“共享”原理的:所有的同一本地网范围内的计算机共同接收到相同的数据包。这意味着计算机直接的通信都是透明可见的。
正是因为这样的原因,以太网卡都构造了硬件的“过滤器”,这个过滤器将忽略掉一切和自己无关的网络信息,事实上是忽略掉了与自身MAC地址不符合的信息。
嗅探程序正是利用了这个特点,它主动地关闭了这个嗅探器,即设置网卡“混杂模式”。因此,嗅探程序就能够接收到整个以太网内的网络数据了。
❖ 嗅探可以做什么,为什么需要嗅探?
嗅探(Sniflf)就是窃听网络上流经的数据包,而数据包中一般会包含很多重要的隐私信息,如你正在访问什么网站,你的邮箱密码是多少,你在和谁聊QQ等,而很多攻击方式(如著名的会话劫持)都是建立在嗅探基础上的。
❖ 如何才能检测网内是否存在有嗅探程序?
理论上,嗅探程序是不可能被检测出来的,因为嗅探程序是一种被动的接收程序,属于被动触发的,它只会收集数据包,而不发送出任何数据,尽管如此,嗅探程序有时还是能够被检测出来的。
一个嗅探程序,不会发送任何数据,但是当它安装在一台正常的局域网内的计算机上的时候会产生一些数据流。举个例子,它能发出一个请求,使DNS根据IP地址进行反相序列查找。
下面讲一种简单的检测方法。
Ping方法
很多的嗅探器程序,如果用户发送一个请求给哪台有嗅探程序的机器,它将做出应答。
说明
(1)怀疑IP地址为10.0.0.1的机器装有嗅探程序,它的MAC地址确定为00-40-05-A4-79-32。
(2)确保机器是在这个局域网中间。
(3)现在修改MAC地址为00-40-05-A4-79-33。
(4)现在用Ping命令Ping这个IP地址。
(5)没有任何人能够看到发送的数据包,因为每台计算机的MAC地址无法与这个数据包中的目的地MAC不符,所以这个包应该会被丢弃。
(6)如果用户看到了应答,说明这个MAC包没有被丢弃,也就是说,很有可能有嗅探器存在。
现在,这种方法已经得到了广泛的应用,新一代的黑客们也学会了在他们的代码中加入虚拟的MAC地址过滤器,很多的计算机操作系统(如Windows)都支持MAC过滤器(很多过滤器只检查MAC的第一个字节,这样一来,MAC地址FF-00-00-00-00-00和FF-FF-FF-FF-FF-FF就没有区别了。这种技术通常会用在交换模型的以太网中。当交换机发现一个未知的MAC地址时,它会执行类似“flood”的操作,把这个包发送给每个结点。