网络嗅探实验报告

一、实验目的

● 掌握Sniffer(嗅探器)工具的使用方法,实现FTP、HTTP数据包的捕捉。

● 掌握对捕获数据包的分析方法,了解FTP、HTTP数据包的数据结构和连接过程,了解FTP、HTTP协议明文传输的特性,以建立安全意识。

二、实验原理

● 网络嗅探器Sniffer的原理

● 网卡有几种接收数据帧的状态:unicast(接收目的地址是本级硬件地址的数据帧),Broadcast(接收所有类型为广播报文的数据帧),multicast(接收特定的组播报文),promiscuous(目的硬件地址不检查,全部接收)

● 以太网逻辑上是采用总线拓扑结构,采用广播通信方式,数据传输是依靠帧中的MAC地址来寻找目的主机。

● 每个网络接口都有一个互不相同的硬件地址(MAC地址),同时,每个网段有一个在此网段中广播数据包的广播地址

● 一个网络接口只响应目的地址是自己硬件地址或者自己所处网段的广播地址的数据帧,丢弃不是发给自己的数据帧。但网卡工作在混杂模式下,则无论帧中的目标物理地址是什么,主机都将接收

● 通过Sniffer工具,将网络接口设置为“混杂”模式。可以监听此网络中传输的所有数据帧。从而可以截获数据帧,进而实现实时分析数据帧的内容。

三、实验环境

● 实验室所有机器安装了Windows操作系统,并组成了一个局域网,并且都安装了Sniffer Pro软件、FLASHFXP(FTP下载软件)、Flashget下载工具和IE浏览器。

● 每两个学生为一组:其中学生A进行Http或者Ftp连接,学生B运行Sniffer Pro软件监听学生A主机产生的网络数据包。完成实验后,互换角色重做一遍。

四、实验内容和步骤

任务一:熟悉Sniffer Pro工具的使用

根据老师给的ppt材料对Sniffer进行了基本的操作,操作过程部分截图如下:

网络监控面板Dashboard

https://upload.fanwen118.com/wk-img/img100/3757080_1.jpg

使用Dashboard作为网络状况快速浏览

https://upload.fanwen118.com/wk-img/img100/3757080_2.jpg

Detail(协议列表)

https://upload.fanwen118.com/wk-img/img100/3757080_3.jpg

Matrix (网络连接)

https://upload.fanwen118.com/wk-img/img100/3757080_4.jpg

设置

https://upload.fanwen118.com/wk-img/img100/3757080_5.jpg

https://upload.fanwen118.com/wk-img/img100/3757080_6.jpg

任务二:捕获FTP数据包并进行分析

(1)基本步骤:

① 在命令符提示下输入IPCONFIG查询自己的IP地址。

② 学生B单击菜单中的“捕获”|”定义捕获”|”高级”,再选中IP|TCP|FTP。设置Sniffer捕捉数据的过滤选项,使其只捕捉FTP数据。

③ 学生B选中显示菜单下的网络连接可以看到网络中的传输地图视图。在传输地图视图中单击IP选项卡,用鼠标选中学生A主机的IP地址,单击鼠标右键,选中“捕获”命令,开始捕获指定主机的有关FTP协议的数据包。

④ 学生B单击工具栏中的捕获仪表盘按钮,可看到捕捉的包数量。

⑤ 学生A登陆ftp(ftp://113.55.4.20)然后在输入用户名和密码,登陆到某个老师的ftp下。

⑥ 学生B在捕获数据包到达一定的数量后,单击停止并显示按钮,停止抓包。 ⑦ 停止抓包后,单击窗口左下角的解码选型,窗口会显示捕捉的数据。学生B根据捕获报文和报文解码,详细分析捕获的数据包,找出有用信息:ftp连接的目的地址、目的端口、发起连接的源地址、源端口、建立连接的3次握手的数据包及其对应的TCP协议包头结构各字段数据、登陆的用户名及密码、目标主机浏览过的目录和文件。

⑧ A、B交换角色,重做实验。

(2)实验过程:

https://upload.fanwen118.com/wk-img/img100/3757080_7.jpg

https://upload.fanwen118.com/wk-img/img100/3757080_8.jpg

1)捕获了一个数据包,并对其中的一个TCP报文进行分析

捕获了这个数据报:

https://upload.fanwen118.com/wk-img/img100/3757080_9.jpg

分析其数据如下:

https://upload.fanwen118.com/wk-img/img100/3757080_10.jpg

由以上的信息可以分析TCP报文的各项内容:

源端口号:landmarks (3969)

目的端口号:http (80)

序号:0

确认号:0 (relative sequence number)

头部长度:28 bytes

窗口大小:65535

校验和:0xc94b [validation disabled] [Good Checksum: False] [Bad Checksum: False]

2)分析捕获的FTP数据包

https://upload.fanwen118.com/wk-img/img100/3757080_11.jpg

https://upload.fanwen118.com/wk-img/img100/3757080_12.jpg

由上图可以看出登陆的用户名和密码分别为:anonymous和IEUser

由于FTP是应用层协议且该协议用的是TCP进行数据通信,在访问ftp时,由图得本机172.17.16.143在访问ftp://172.16.48.92前,需要和172.16.48.92进行三次握手,以确定连接关系,并进行数据通信。在输入用户名和密码后,就能进行访问https://upload.fanwen118.com/wk-img/img100/3757080_13.jpg分析:

从捕获的报文中可以看出数据包1是TCP连接,D=21,S=1514,DestAddress=202.204.22.49,表明目的端口是21,主机端口是1514,说明我们连接的是IP地址为202.204.22.49的FTP服务器

捕获的数据包1,2,3显示了TCP连接过程的三次握手,数据1显示主机向服务器发出了FTP连接的请求。数据中包含SYN(SYN=2197295847),数据包2是服务器向主机发送的数据。数据中对刚才主机发送的包进行了确认(ACK=2197295847),并表明自己的ISN=1545135791,此时,TCP连接已经完成了两次握手。数据包3显示了第三次握手,从而完成了TCP连接,此包中主机对服务器发出的数据包进行了确认,这表明整个过程没有数据包的丢失,连接成功。

3)结论:

通过实验可知FTP中的数据是以明文形式传输的,可以利用捕获的数据包分析被监听主机的任何行为,监听主机的信息极易泄露。

任务三:捕获HTTP数据包并分析

(1)基本步骤:

① 学生B单击菜单中的“捕获”|”定义捕获”|”高级”,再选中IP|TCP|HTTP。设置Sniffer捕捉数据的过滤选项,使其只捕捉HTTP数据。

② 学生B选中显示菜单下的网络连接可以看到网络中的传输地图视图。在传输地图视图中单击IP选项卡,用鼠标选中学生A主机的IP地址,单击鼠标右键,选中“捕获”命令,开始捕获指定主机的有关HTTP协议的数据包。

③ 学生B单击工具栏中捕获仪表盘的按钮,可看到捕捉的包数量。

④ 学生A浏览www.163.com,任意浏览页面,登陆邮箱(输入正确用户名和密码)。

⑤ 学生B在A关闭页面后,单击停止并显示按钮,停止抓包。

⑥ 停止抓包后,单击窗口左下角的解码选型,窗口会显示捕捉的数据。学生B根据捕获报文和报文解码,详细分析捕获的数据包,找出有用信息

⑦ A、B交换角色,重做实验。

(2)实验过程:

 选中Monitor菜单下的Matirx或直接点击网络性能监视快捷键,此时可以看到网络中的Traffic Map视图,显示的是IP地址,每条连线表明两台主机间的通信

https://upload.fanwen118.com/wk-img/img100/3757080_14.jpg

点击菜单中的“Capture→Define Filter,点击其中的Address页面,单击Profiles.按钮,创建新配置文件,在Capture Profiles对话框中,单击New,输入新配置文件名,单击OK 

https://upload.fanwen118.com/wk-img/img100/3757080_15.jpg

单击Station l字段,输入本机的IP地址:单击Station 2字段,输入合作伙伴的IP地址,将Address Type字段的值由Hardware改为IP

https://upload.fanwen118.com/wk-img/img100/3757080_16.jpg

开始捕捉后,点击工具栏中的“Capture Panel”,如下图所示,看到捉包的情况,图中显示出Packet的数量

https://upload.fanwen118.com/wk-img/img100/3757080_17.jpg

1)分析捕获的HTTP数据包

https://upload.fanwen118.com/wk-img/img100/3757080_18.jpg

在捕获报文窗口中看出数据包236是TCP连接,D=80,S=1191,Dest Address=58.63.234.251,表明目的端口是80,主机端口是1191,说明我们连接的是IP地址为58.63.234.251的HTTP服务器(HTTP服务器占用80端口)。捕获的数据包236、237、238显示了TCP连接过程中的三次握手。 

数据包236显示主机向服务器发出了HTTP连接请求。数据中包含SYN(SYN=2604516000),数据包237是服务器向主机发送的数据。数据中对刚才主机发送的包进行了确认(ACK=2604516001),并表明自己的ISN=1445560998,此时,TCP连接已经完成了两次握手。数据包238显示了第三次握手,从而完成了TCP连接,此包中,主机对服务器发出的数据包进行了确认(ACK=1445560999),这表明整个建立过程没有数据包丢失,连接成功。 

分析TCP包头结构,选中一项,十六进制内容中都会有相应的数据与之对应,每一字段都会与TCP包头结构一致。

2)结论:

通过实验可知http传输数据不是以明文传输,能捕捉到用户名,但是不能捕捉到暗文,所以不容易泄露信息,比ftp要安全一些。

五、实验总结

这次的实验让我了解到了网络嗅探的原理:Sniffer即网络嗅探器,是一种威胁性极大的被动检测攻击工具。使用这种工具,可以监视网络的状态、数据流动情况以及网络上传输的信息。当信息以明文的形式在网络上传输时,便可以使用网络监听的方式来进行嗅探攻击。将网络接口设置在监听模式,便可以将网上传输的信息截获。黑客常常用它来截获用户的口令;管理员则可以使用Sniffer分析网络性能和故障。以及网络嗅探的防范方式:通过使用加密软硬件设备,实现对传输数据的加密,从而保护传输数据的安全性;VPN、SSL、SSH等加密手段可有效防范sniffer的嗅探。利用网络设备的物理或者逻辑隔离的手段,可以避免信息的泄密;利用交换机的VLAN功能,实现VLAN间的逻辑隔离。

通过这次实验的学习,在同学和老师的帮助与指导下,我熟悉掌握了Sniffer的操作,如何制定捕获过滤准则及捕获不同类型的数据包,通过捕获数据包来分析IP数据报和TCP报文的结构。同时也了解了HTTP和FTP的操作过程,观察了安全套接层协议SSL的会话与连接过程等内容。

在实验的过程中自己也遇到了一些问题,刚开始时对于软件的使用不了解,导致了很多低级错误,在做Ftp口令的嗅探过程和Http口令的嗅探过程内容的时候,自己有好多内容不是很清楚,在老师和同学的帮助下,自己也清楚的指导其运行的过程和所代表的含义。

相关推荐