从抓包到嗅探
此文是我的计算机网络课作业,拿出来凑凑数。
第一次接触“抓包”这个词应该是在高一的时候,当时刚刚迷上网络安全,经常从《黑客X档案》中看见一些利用抓包技术入侵的文章,最常用的工具就是WsockExpert,同时它也是我接触的第一个抓包工具。WsockExpert可以用来监视和截获指定进程网络数据的传输,修改网络发送和接收数据,并用NC(NetCat)提交到服务器。利用这两个工具可以协助完成很多网页脚本入侵工作,比如用户验证漏洞、Cookie构造,文件上传等。
后来又接触到了大名鼎鼎的TcpDump。它可以将网络中传送的数据包的“头”完全截获下来提供分析,支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来筛选自己感兴趣的信息。 tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。
因为自己对攻击方面比较感兴趣,对我个人而言最关心的就是传输数据中的用户名和密码,所以慢慢地开始接触“网络嗅探”。关于嗅探的原理我就不多说了,网上有很多资料。Windows下曾经用过的工具cain和ettercap,因为是GUI的操作简单,功能也不错。直到大学才开始接触Unix,FreeBSD下玩过的工具dsniff、ettercap、sniffit、sniffer。每个工具都有自己的特点, Ettercap功能非常强大,操作也相对复杂,sniffit简单易用,官方说明文件虽然是全英文的但自己也基本能看明白。
按照老师的作业要求我也操作一下吧。试验环境:服务器A(21x.X.X.6),服务器B(21x.X.X.5),客户机C(IP任意)。服务器A提供FTP服务,服务器B与服务器A在同一网段进行嗅探,这里我用的是FreeBSD+sniffit, 客户机C访问服务器A上的FTP服务。在服务器B上操作:sniff -d 21x.X.X.6 -p 21 -L “ftpnorm”
(各参数的含义可以参见sniff –h)
然后客户机C开始访问服务器A,输入用户名密码登录成功后,在服务器B上停止嗅探。此时数据已经自动保存在当前目录的sniff.log文件中,然后less sniff.log
12x.X.X.X —-> 21x.X.X.X {21}
USER anonymous
PASS IEUser@
QUIT
………. {FIN}
12x.X.X.X是客户机C的IP地址,用户名和密码已经成功嗅探到了。
网络嗅探的危害是非常大的,尤其是在成功入侵一台服务器以后对整个网段的主机安全将是巨大的威胁。因此建议管理员平时尽量采用各种相对安全的服务(协议),比如SSH2,SSL,IPSec等等。