1、通过使用Sniffer pro软件,掌握Sniffer(嗅探器)工具的使用方法,实现捕捉FTP,HTTP等协议的数据包,以理解TCP/IP协议中多种协议的数据结构、会话连接建立和终止的过程、TCP序列号、应答序号变化规律。
2、通过实验了解FTP、HTTP等协议明文传输的特性,以建立安全意识,防止FTP、HTTP等协议由于传输明文密码造成的泄密。
预备知识
Sniffer即网络嗅探器,用于监听网络中的数据包,分析网络性能和故障。Sniffer主要用于网络管理和网络维护,系统管理员通过Sniffer提供的信息可以诊断出计算机之间的异常通信、不同网络协议的通信流量、每个数据包的源地址和目的地址等。
通常每个网络接口都有一个互不相同的硬件地址(MAC地址),同时,每个网段有一个在此网段中广播数据包的广播地址(代表所有的接口地址)。一般情况下,一个网络接口只响应目的地址是自己硬件地址或者自己所处网段的广播地址的数据帧,并由操作系统进一步进行处理,同时丢弃不是发给自己的数据帧。
通过Sniffer工具,可以将网络接口设置为“混杂”(promiscuous)模式。在这种模式下,网络接口就处于一个对网络进行“监听”的状态,它可以监听此网络中传输的所有数据帧,而不管数据帧的目标地址是广播地址还是自己或者其他网络接口的地址了。它将对遇到的每一个数据帧产生硬件中断,交由操作系统对这个帧进行处理,比如截获这个数据帧,进而实现实时分析数据帧中包含的内容。
当然,如果一个数据帧没有发送到目标主机的网络接口,则目标主机将无法监听到该帧。所有Sniffer所能监听到的信息将仅限于在同一个物理网络内传送的数据帧,就是说和监听的目标中间不能有路由(交换)或其他屏蔽广播包的设备。因此,当Sniffer工作在由集线器(hub)构建的广播型局域网时,它可以监听到此物理网络内所有传送的数据;而对于由交换机(switch)和路由器(router)构建的网络中,由于这些网络设备只根据目标地址分发数据帧,所有在这种网络中,Sniffer工具就只能检测到目标地址是自己的数据帧再加上针对广播地址的数据帧了。
Sniffer工作在OSI模型中的第二层,它一般在已经进入对方系统的情况下使用。实验中要注意,虽然Sniffer能得到在局域网中传输的大量数据,但是不加选择的接收所有的数据包,并且进行长时间的监听,那么你需要分析的数据量将是非常巨大的,并且会浪费大量硬盘空间。
Sniffer工具分为软件和硬件两大类,在这里我们主要以Sniffer Pro软件为例对Sniffer工具的使用方法和功能进行简单的介绍。当然,Sniffer软件工具还有很多种,例如SQLServerSniffer、FsSniffer等,他们的功能和使用的环境有所不同,如果读者感兴趣,可以自己进行深入探索。
对于Sniffer工具的防范可以从以下几个方面进行:首先,如果通过网管工具发现在局域网内存在长时间占用较大带宽的计算机,这台计算机可能在进行嗅探:其次,Sniffer的记录文件增长很快,通过分析文件系统大小的变换情况,可以找到这个文件;最后,如果计算机的网络接口处于混杂模式下(在Unix环境下通过ifconfig-a命令查看网络接口状态)。则它很可能运行了Sniffer。通过上面的几种方法,可以对Sniffer进行分析监测。除了这些间接分析方法外,还可以利用AntiSniff工具,它具有直接检测Sniffer的功能,从而可以对Sniffer进行有效防范。
启动xp01,密码为123456.双击打开Sniffer Pro软件
启动的时候有时候需要选择相应的网卡(adapter),选好后即可启动软件。
工具栏如图所示
点击图标,开启网络监视面板,Dashboard可以监控网络的利用率,流量及错误报文等内容,如图所示
点击,开启Host table界面,可以直观地看出连接的主机,如图所示,显示方式为IP
捕获FTP数据包并进行分析
(1) 假设VPC1主机监视本机的活动,首先VPC1主机要知道本机的IP地址,VPC1主机可以在DOS命令符提示下输入ipconfig查询自己的IP地址。
(2) 选中Monitor菜单下的Matirx或直接点击网络性能监视快捷键
,此时可以看到网络中的Traffic Map视图。可以单击左下角的MAC,IP或IPX使Traffic Map视图显示相应主机的MAC地址,IP地址或IPX地址。下图显示的是以IP地址显示的图表,每条连线表明两台主机间的通信
单击菜单栏Capture->Define Filter->Advanced,再选中IP->TCP->FTP,如图所示,然后单击OK
(4)回到Traffic Map视图中,用鼠标选中要捕捉的VPC2主机IP地址,选中后IP地址以白底高亮显示,此时,单击鼠标右键,选中Capture或者单击捕获报文快捷键中的开始按钮,Sniffer则开始捕捉指定IP地址主机的有关FTP协议的数据包,如图所示
(5) 开始捕捉后,单击工具栏中的Capture Panel按钮,显示出捕捉的Packet的数量
(6)在VPC1开启浏览器,在地址栏输入ftp://192.168.1.103(以VPC2实际ip地址为准),访问VPC2主机的ftp服务,如图所示
(7)在访问过程中将产生数据传输,sniffer将捕获这些数据包,需要sniffer,为保证sniffer获取足够数量数据包,需要sniffer工作一分钟左右,便于查看数据。
(8)捕获足够量数据包后,点击“停止捕获并查看”快捷按钮,此时弹出如图所示捕获数据的相关信息,选择下方的“Decode”栏目,可以查看捕获数据包中的详细信息。
捕获HTTP数据包
(1) 同步骤4(1)
(2) 同步骤4(2)
(3) 同步骤4(3),不同的是单击菜单中的Capture->Define Filter->Advanced,再选中IP->TCP->HTTP,然后单击ok。
(4) 同步骤4(4)
(5) 同步骤4(5)
(6) VPC1主机访问VPC2,在VPC1地址栏中输入http://192.168.1.106(以VPC2实际IP地址为准),应显示如下截图
(7) 同步骤4(7)
(8) 停止抓包后,单击窗口左下角的Decode选项,窗中会显示所捕捉的数据,并分析捕获的数据包在捕获的窗口的低端,我们可以看到VPC2主机的相关信息。
由上述实验我们可以看出,Sniffer可以探查出局域网内流动的任何信息,尤其是用户名和密码之类敏感的数据,所以在局域网内的安全就至关重要。只要在电脑内安装上网络防火墙,并把Windows操作系统的安全级别提高,Sniffer工具就可能嗅探不到任何信息。