原理:
网络的一个特点就是数据总在流动中,从一处到另外一处,而互联网由错综复杂的各种网络交汇而成的,也就是说,当你的数据从网络的一台电脑到另一台电脑的时候,通常会经过大量不同的网络设备,我们用tracert命令就可以看到这种路径是如
何进行的。
如果传输过程中,有人看到了传输中的数据,那么问题就出现了,这就好比你给人发了一封邮件,在半路上被人拆开偷看一样。
这里面需要解释的一点是,网络传输分为明文传输和密文传输,如果采用密文传输,当中途数据被截取时,偷窥者所看到的是乱成一团的字符,他们需要相当费力的去解码(限于笔者的技术水平,加密解密,公开密钥,私人密钥等问题,不在本系列文章讨论之内),这就好比二战时候的间谍战,电报发送的东西敌军虽然可以收到,但是需要解码才能阅读。不过更可怕的是,大部分网络数据传输都是明文的,也就是一旦被人截获,所有的秘密将被一览无余,也许是你的商业机密,也许是你的存款信息,甚至是你邮箱的帐号密码等等。
嗅探侦听主要有两种途径,一种是将侦听工具软件放到网络连接的设备或者放到可以控制网络连接设备的电脑上,这里的网络连接设备,比如网关服务器,比如路由器。当然要实现这样的效果可能也需要javascript:;" onClick="javascript:tagshow(event, '%C6%E4%CB%FB');" target="_self">其他黑客技术,比如通过木马方式将嗅探器发给某个网络管理员,使其不自觉的为攻击者进行了安装。另外一种是针对不安全的局域网(采用交换hub实现),放到个人电脑上就可以实现对整个局域网的侦听,这里的原理是这样的,共享hub获得一个子网内需要接收的数据时,并不是直接发送到指定主机,而是通过广播方式发送到每个电脑,对于处于接受者地位的电脑就会处理该数据,而其他非接受者的电脑就会过滤这些数据,这些操作与电脑操作者无关,是系统自动完成的,但是电脑操作者如果有意的话,他是可以将那些原本不属于他的数据打开的。
攻击方法:
第一,根据网络通讯协议的标准,编写将数据报文截取保留的程序,除了能够将数据报文保存之外,还应该具有基本的过滤,判断功能,因为也许你将侦听大堆无用的,不可识别或者无价值的网络传输数据,有价值的信息往往被这些数据所淹没,因此过滤和判断,是实现有效侦听非常必要的。
第二,将侦听工具有效的和需要侦听的网络连接。
第三,采集侦听数据,进行处理。
第四,如果拿到了数据还不满意的话,那么怎么利用这些数据,就要看每个人的道德素质了。
其实只要在大的搜索引擎上查Sniffer关键字,就可以知道这个领域是多么的繁荣了。
防护手段:
第一,确认你所进行的请求和数据传递,是处于明文还是加密的状态。比如不用te.net而用ssh实现对主机的远程管理,比如确认只有在浏览器下方出现关闭的小锁头(证明连接处于加密状态)情况下才输入一些私密性的帐号和密码。
第二,不在公开网络环境中进行私密性信息的录入(比如在网吧,通常任何一台电脑都可以侦听整个网段的内容)
第三,如果有非常机密的文件要传递,最好选择优秀的加密工具,在传递文件前先进行一次加密。
第四,随时对自己所处的网络环境进行监控,在力所能及的范围内杜绝监听工具的存在。
第五,加强对网络设备的安全性检查,在具有安全要求的网络内,严禁使用老式的共享hub,同时注意网络端口的维护,以前曾报道某黑客通过一个废弃不用的网络通讯端口进入某局域网窃取数据的犯罪案件。
第六,小心自己的共享目录和共享服务,如果非要开放,最好通过密码认证开放。
典型案例:
局域网:笔者1998年在广州的时候,曾在某个下午通过NetXray(一款非常方便的网络侦听工具)获取了本部门的网络管理员登陆公司对外服务器的密码(Telnet协议,明文传输),以及某员工收取邮件的密码(POP协议,明文传输),几乎是不费吹灰之力。当然,如果让笔者做一个NetXray那样的工具,就另当别论了。
广域网:几年前FLG猖獗的时候,公安部曾对海外网站进行了一次大封杀,只要网络传输中出现了“FaLunGong"三个汉字,该网址就会被屏蔽,这种行为也是靠网络侦听,在骨干路由安装sniffer实现的。当然,他们安装sniffer的途径,就和其他黑客们大不同了
其他变种:很多人都玩联众的四国军旗,曾一度,网络上出现了针对联众四国军旗的工具,能够让四家棋子都变成明棋,从而"知己知彼,百战不怠”,其实这个工具也是源于著名的网络侦听工具"ipman"改写的,为了减少主服务器的负载压力,通常对军旗这种游戏,吃子,走子的运算是在客户端进行的,服务端只传递不同客户端移动棋子的状态,这意味着,四家的棋子,实际上已经分别传递给了四个玩家,只不过客户端软件并不显示其他三家的棋子,只在进行碰子的运算中调用。别有用心的玩家,就通过侦听工具,进行自我侦听,将该客户端软件接收的数据进行截取,并进行翻译,从而实现对别人棋子的可视化。后来联众忍无可忍,只好将运算放到中央服务器运行,以增加系统运行成本的代价,制止了这种自我侦听的闹剧的继续。
联众的闹剧结束了,qq的闹剧开始了,现在很多小插件,可以显示对方qq的来源ip和来源城市,其实也是一种自我侦听的体现。原理是同上的。
总结:设计一个优秀的侦听工具,通常都是以网络上共享的Ipman的源代码起步,通过对各种协议的甄别,对数据包的保存和过滤,实现数据的侦听和截获。一些具有不良企图的工具,还会对截获的数据进行进一步甄别,从而自动实现攻击或入侵。
使用一个侦听工具,如果是一种简单的侦听工具,他必须有对基本通讯协议的理解才能对大量无序和难懂的数据包进行分析和研究,并得到他想要的结果,但是傻瓜化的侦听工具的出现,使得这个门槛也降低了,所以喜欢在网吧偷窥MM的qq号码的boy数量急剧膨胀了。