什么是Wireshark?

Wireshark是一款具有图形界面的网络协议分析程序。它可以帮助我们深入了解网络中的每一个数据包,wireshark不仅可以捕获以太网、无线网的数据,还可以分析蓝牙和许多其他设备的流量。

Wireshark可以解码绝大多数的通信协议,本节课主要讲解wireshark捕获和分析流量知识。

运行和简单配置wireshark

Wireshark已经集成在我们的kali系统中,只需要稍作呼唤就可以成功唤醒!

Kali终端下运行:wireshark

单击菜单栏中的"捕获",点击"选项",即可打开网络接口。新弹出的页面中,选中本地网卡"eth0",然后一定要取消下面"在所有接口上使用混杂模式"的钩!最后应该像下图一样即可!

为什么要取消混杂模式呢?原因在于我们的kali是虚拟机系统,所有从kali收发的数据包,要想被weireshark捕获下来,必须取消混杂模式,否则就会造成kali接收到所有虚拟机和物理机之间的流量,这显然会造成我们分析流量的困难和干扰。所以要取消混杂模式,简简单单的捕获在虚拟机kali上收发的数据流量。

此时点击上图右下角的开始,进行捕获。此时凡是从kali收发的流量数据包都会被wireshark记录下来!

测试环境布置

为了方便演示流量的捕获工作,我们使用kali去登录xp靶机的FTP服务器,进而详细分析流量捕获的过程。搭建xp靶机上的ftp服务器

运行上节课我们安装的XAMPP网站集成软件包,里面自带FTP服务器。或者自行在靶机上安装一个ftp服务器即可。配置filezilla

设置用户和共享文件

xp打开cmd终端(同时按下win键+R键,在运行框中输入cmd,回车即可),输入:

netstat -an

验证xp本地是否启动21端口侦听!如上图,显然已经说明ftp服务正在运行!

捕获FTP流量

使用kali登录到xp(ip)的ftp服务器上。

在kali的终端中输入:ftp 192.168.31.50

如上图,弹出了远程xp的ftp banner信息,接下来我们需要在Name处输入xp ftp服务器的登录名laowang;用户名输入成功,就会继续提示我们输入该用户名的密码,返回代码230,说明登录成功!

此时调出kali的wireshark页面(此前已经在捕获过程中),发现强大的wireshark已经将kali登录xp靶机ftp服务的所有数据都记录在案!而且密码都是明文密码123456!


流量过滤

wireshark直接读取的流量几乎包含了kali之前收发的所有数据,那是极其庞大的。一个个去找,显然不行,这时候我们来学习下过滤。

仔细观察wireshark捕获页面,找到标题"Protocol"之样,发现一列TCP/TCMPv6/FTP/ARP等不同的协议内容,这就是我们解决问题的出发点。我们就是用过滤规则,直接过滤FTP协议的所有流量数据就可以了。

过滤器格式:ip.dst==192.168.31.50 and ftp

此时,你会发现所有的流量捕获只留下了ftp协议的流量,看着极其酸爽!

ftp其实也是使用tcp协议通信的,现在我们来跟踪下整个ftp从登陆到登陆成功发生的tcp流量收发过程:

点击过滤器地址栏向右箭头左边的×,退回所有流量捕获页面,随便选中一个ftp的数据包,鼠标右键单击,选中"追踪流"——TCP流即可!

此时就会弹出一个文本样式的关于ftp的tcp通信流。说白了就是kali登录xp ftp服务时产生的所有通信流,当然包含账号和密码!

其实你把这个跟踪流和kali终端下登录ftp返回的banner进行比较,基本都是一样的!因为记录了所有的流量数据!

到目前为止,我们已经学会了如何初步使用wireshark流量捕获和分析神器!还搭建了一个ftp服务,使用kali主机进行登录,这些流量操作都被强大的wireshark记录在案,甚至学会了如何过滤不需要的流量,以及跟踪整个流量收发的过程!