一、实验目的
1、初步掌握Wireshark的使用方法,熟悉其基本设置,尤其是Capture Filter和Display Filter 的使用。
2、通过对Wireshark抓包实例进行分析,实现捕捉DHCP、ARP、FTP、HTTP等协议的数据包;理解TCP/IP协议中多种协议的数据结构、会话连接建立和终止的过程;了解FTP、HTTP等协议明文传输特性,增强安全意识。
二、实验原理
2.1 网络嗅探的原理
- Wireshark(原Ethereal)是一个网络封包分析软件。其主要功能是抓取网络封包,并尽可能显示出最为详细的网络封包资料。
- 当信息以明文的形式在网络上传输时,便可以使用网络监听的方式来进行嗅探攻击。将网络接口设置为监听模式,便可以将网上传输的信息截获。
- 攻击者常常用它来截获用户的口令;
- 管理员则可以使用Wireshark分析网络性能和故障;
2.2 网络嗅探的防范
- 检查网络中是否存在下述情况,其原因可能就是网络中有Wireshark工具正在运行。
- 一是网络丢包率非常高;
- 二是网络带宽出现反常现象;
- Wireshark嗅探的防范
- 通过使用加密软硬件设备,实现对传输数据的加密,从而保护传输数据的安全性;VPN、SSL、SSH等加密手段可有效防范Wireshark的嗅探。
- 利用网络设备的物理或者逻辑隔离的手段,可以避免信息的泄密;
利用交换机的VLAN功能,实现VLAN间的逻辑隔离。
三、实验环境
1、系统环境:Windows 7/8/10操作系统、Centos6.8
2、浏览器:IE10/11
3、Wireshark:Version 2.2.5
4、WinPcap 4.1.0.2980
5、8UFtp 3.8.2.0
6、Foxmail 7.2
四、实验步骤
1、DHCP协议抓包实验
以Win10操作系统为例,鼠标左键单击左下角的开始菜单,选择“设置”选项,进入Win10系统设置界面,点击页面中的“网络和Internet”选项,进入Internet网络设置界面,点击“WLAN”网络,然后选择页面中的“管理已知网络”选项,把除了做实验需要的WLAN之外的其他网络全部选择“忘记”。
启动Wireshark,选中WLAN开始抓取数据包。以管理员方式打开CMD,运行命令ipconfig /release,释放获取到的IP地址。运行命令ipconfig /renew,重新获取IP地址,稍等片刻,获取成功以后,在Wireshark中停止抓取数据包。
在Wireshark的过滤器中输入bootp,表示只筛选DHCP数据包。如下图所示
数据包分析如下:
No106:本机localhost(10.133.81.229)向DHCP server(10.133.0.1)发送了一个DHCP Release数据包,终止了ip租赁。将本机IP地址清空。
No267:本机localhost向局域网广播一个DHCP Discover包,此时本机localhost的IP地址为0.0.0.0。广播地址为255.255.255.255。本地端口为68,目的端口为67。
No277:Ipv4地址为10.133.0.1的DHCP服务器收到该包后,向本机发送一个DHCP Offer数据包。进一步分析该回应数据包内容为:
该包内包含预分配给本机localhost的ip地址(截图中高亮行)、dns服务器地址、子网掩码、ip租赁期等基本信息。
No278:DHCP Request包由本机localhost广播,表示本机已经收到DHCP Offer包,对此事进行通告,通告的内容包括预分配给本机的IP地址,本机的MAC地址,本机的计算机名等信息。
No279:DHCP server(10.133.0.1)向本机localhost(10.133.81.229)发送了一个DHCP Ack数据包。确认IP地址,路由、DNS、IP租赁时间、子网掩码等信息。
本机localhost收到该确认包后,不会立即更新自己的信息。其将会向网络发送ARP请求,询问是否已经有人占用该分配IP,如果没有人回应,本机localhost将更新自己的ipv4信息,IP分配过程结束。
2、抓取FTP密码实验
首先,搭建自己的FTP服务器,这里以Centos6.8为例。运行命令rpm -f vsftpd看ftp服务是否安装,如果没安装的话,依次执行下列命令:
yum -y install vsftpd #安装vsftpd服务
修改/etc/vsftpd/vsftpd.conf,把相关字段改为如下所示:
anonymous_enable=NO #不允许匿名用户登录
chroot_local_user=YES #不可以让ftp用户跳出自己的家目录
useradd -s /sbin/nologin -d /var/www/html testftp #添加用户testftp,此用户只能连接ftp,无法直接登录系统,默认家目录是在var/www/html 文件夹
passwd testftp #为testftp用户设置密码
chmod o+w /var/www/html/ #修改testftp用户家目录权限,允许上传
setenforce 0 #临时关闭SELINUX
如果需要长期修改,可以修改/etc/selinux/config文件,把相关字段改为:SELINUX=disabled,然后重启CentOS。
service iptables stop #关闭iptables
service vsftpd start #开启vstfpd服务。
然后,使用8Uftp客户端上传/下载文件,测试是否搭建成功。
断开8Uftp客户端的连接。开启Wireshark,选择相应的网卡,由于CentOS是用VMWare12Pro搭建在本机上的,所以要使用的网卡为VMware Network Adapter VMnet8。使用8Uftp客户端连接服务器,输入地址,用户名,密码。在Wireshark中设置过滤器为ftp,可以看到明文的用户名和密码。如下图所示:
3、抓取Foxmail邮箱客户端密码实验
首先,自己在mail.163.com上申请一个邮箱,通过网页登录邮箱后,选择设置POP3/SMTP/IMAP,如下图所示:
勾选使用使用授权码登录第三方邮件客户端。
然后,安装Foxmail7.2版本,确认成功登录。
退出Foxmail,开启Wireshark,选择相应的网卡,打开Foxmail,登录成功,停止Wireshark抓包。可以看到明文的用户名和密码。如下图所示:
五、实验思考题
1、请举例说明DHCP数据包各字段的含义。
2、如果是采用网页形式分别登录QQ邮箱、163邮箱、我们学校的邮箱,能否抓取到相关的用户名密码?他们是如何做限制的?
3、请分析一下学校的iNod客户端的认证过程中的数据包。