Wireshark嗅探和协议分析

一、实验目的

1、初步掌握Wireshark的使用方法,熟悉其基本设置,尤其是Capture Filter和Display Filter 的使用。

2、通过对Wireshark抓包实例进行分析,实现捕捉DHCP、ARP、FTP、HTTP等协议的数据包;理解TCP/IP协议中多种协议的数据结构、会话连接建立和终止的过程;了解FTP、HTTP等协议明文传输特性,增强安全意识。

二、实验原理

2.1 网络嗅探的原理

  1. Wireshark(原Ethereal)是一个网络封包分析软件。其主要功能是抓取网络封包,并尽可能显示出最为详细的网络封包资料。
  2. 当信息以明文的形式在网络上传输时,便可以使用网络监听的方式来进行嗅探攻击。将网络接口设置为监听模式,便可以将网上传输的信息截获。
      1. 攻击者常常用它来截获用户的口令;
      2. 管理员则可以使用Wireshark分析网络性能和故障;

2.2  网络嗅探的防范

  1. 检查网络中是否存在下述情况,其原因可能就是网络中有Wireshark工具正在运行。
  1. 一是网络丢包率非常高;
  2. 二是网络带宽出现反常现象;
  1. Wireshark嗅探的防范
  1. 通过使用加密软硬件设备,实现对传输数据的加密,从而保护传输数据的安全性;VPN、SSL、SSH等加密手段可有效防范Wireshark的嗅探。
  2. 利用网络设备的物理或者逻辑隔离的手段,可以避免信息的泄密;

利用交换机的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。

No277Ipv4地址为10.133.0.1的DHCP服务器收到该包后,向本机发送一个DHCP Offer数据包。进一步分析该回应数据包内容为:

 

该包内包含预分配给本机localhost的ip地址(截图中高亮行)、dns服务器地址、子网掩码、ip租赁期等基本信息。

No278:DHCP Request包由本机localhost广播,表示本机已经收到DHCP Offer包,对此事进行通告,通告的内容包括预分配给本机的IP地址,本机的MAC地址,本机的计算机名等信息。

No279DHCP 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客户端的认证过程中的数据包。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注