20241904 2024-2025-2 《网络攻防实践》实验三
一、.实验内容
- 动手实践tcpdump
使用tcpdump开源软件对在本机上访问www.tianya.cn网站过程进行嗅探,回答问题:- 在访问www.tianya.cn网站首页时,浏览器将访问多少个Web服务器?
- 他们的IP地址都是什么?
- 动手实践Wireshark
使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:- 你所登录的BBS服务器的IP地址与端口各是什么?
- TELNET协议是如何向服务器传送你输入的用户名及登录口令?
- 如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
- 取证分析实践,解码网络扫描器(listen.cap)
- 攻击主机的IP地址是什么?
- 网络扫描的目标IP地址是什么?
- 本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
- 你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。
- 在蜜罐主机上哪些端口被发现是开放的?
- 攻击主机的操作系统是什么?
二、实验过程
- 动手实践tcpdump
(1) 先查询本机IP地址为172.20.10.3;

(2)使用tcpdump开源软件在本机上访问 http://www.besti.edu.cn/ ,先输入命令tcpdump src 172.20.10.3 and tcp dst port 80,其中 src 和 dst 是确定传输方向的关键字,指明IP包中源地址是 172.20.10.3 ,表示只捕获80端口的TCP协议数据包;

然后打开浏览器,访问 http://www.besti.edu.cn/ ;
(3)可以看到有IP地址 82.221.107.34重复出现。再输入命令nslookup http://www.besti.edu.cn/ 查看其对应的IP地址。 
- 动手实践Wireshark
(1)打开kali虚拟终端,输入命令luit -encoding gbk telnet bbs.fozztexx.com访问BBS服务器,发现其IP地址为50.79.157.209;选择new注册一个新账户:
User:lwl
Password:123456

(2)打开wireshark并开启捕获,重新访问BBS服务器,过滤器直接输入 telnet ,即可过滤显示telnet相关的数据包,可以得到登录的BBS的服务器IP地址与端口号如下:
IP地址:50.79.157.209
端口号:23

(3)可以看到,TELNET协议是通过明文的方式一个一个字符传输数据的;

- 依次查看每个telnet包,就可以获得完整的用户名“lwl”;
![在这里插入图片描述]()
![在这里插入图片描述]()
![在这里插入图片描述]()
- 以及密码“123456”;
![在这里插入图片描述]()
![在这里插入图片描述]()
![在这里插入图片描述]()
(4)也可以通过追踪TCP流发现用户名和密码,很容易被获取,可知TELNET协议明文传输数据是非常不安全的。
![在这里插入图片描述]()
- 取证分析实践,解码网络扫描器(listen.cap)
(1)从学习通下载listen.pcap复制到kali虚拟中,在出现的wireshark界面点击Statistics->Conversations->IPv4,可以看到主机172.31.4.178和主机172.31.4.188之间有远多于其他三组的大量双向数据包,所以初步判定这两个IP即为攻击主机IP和网络扫描的目标主机IP。

(2)从发送的TCP数据包可以看出,ACK数据包都是由172.31.4.188发出的,由此可确定网络扫描的目标IP地址为172.31.4.188。

(3)本次案例中是使用了nmap发起的端口扫描,使用snort工具对二进制记录文件进行入侵检测,输入sudo apt-get update;

输入sudo apt-get install snort 进行安装;

输入cp Downloads/listen.pcap /etc/snort,将listen.pcap从原路径复制到/etc/snort/路径下;
输入cd /etc/snort 进入,在/etc/snort/目录下输入snort -c /etc/snort/snort.lua -r /etc/snort/listen.pcap -A alert_full,根据结果可以确定本次案例所使用的扫描工具为nmap。

(4)以ARP作为过滤条件,攻击机在广播域中广播ARP request报文,寻找目标IP地址为172.31.4.188的主机的MAC地址。

(5)以ICMP作为过滤条件,可以看到两组ICMP request包和ICMP replay包,说明使用了主机扫描,并且确定了目标主机是活跃的。

(6)以TCP作为过滤条件,可以看到在数据包中存在大量SYN请求包,说明攻击机的57738端口向目标主机发起了TCP SYN扫描,以确定目标主机的哪些端口开放,开放的端口则回复 [SYN,ACK] 数据包,不活跃的端口则回复 [RST,ACK] 数据包。


可以看到
- 序号9、10、13是一组半开放扫描,使用不完整的TCP三次握手来对目标主机进行尝试性的连接,攻击机的57738号端口对目标IP的3306号端口发送SYN包,目标IP的3306号端口开放,返回一个 TCP [SYN,ACK] 包,然后攻击主机发送一个 RST 包停止建立连接;
- 同理,监测到目标主机的23号端口,80号端口和139号端口开放;
- 序号15中,攻击主机对目标主机的995号端口发送SYN请求包,该端口返回一个 TCP [RST,ACK] 包,说明该端口关闭;
- 除了建立TCP SYN扫描,还建立了SSH连接,这是为了探测靶机的网络服务,可以确定攻击机对靶机进行了
-sV的版本扫描。
(7)输入过滤条件:tcp.flags.syn == 1 and tcp.flags.ack == 1,则可以过滤出所有的 [SYN,ACK] 的数据包,这是目标主机反馈攻击主机的端口活跃信息,即可得到所有的开放端口。


可以看到,在蜜罐主机上开放的端口有:
21、22、23、25、53、80、139、445、3306、5432、8009、8180
(8)使用p0f工具,p0f是一款被动探测工具,能够通过捕获并分析目标主机发出的数据包来对主机上的操作系统进行鉴别,即使是在系统上装有性能良好的防火墙的情况下也没有问题。在终端先输入sudo apt-get install p0f安装p0f工具。

输入命令sudo p0f -r listen.pcap进行探测,得知攻击主机的操作系统是linux 2.6.x。


三、学习中遇到的问题及解决
- 问题1:在第一部分中虚拟机kali中访问www.besti.com网站时,发现虚拟机无法联网。
- 问题1解决方案: 在虚拟机的设置中,将网络适配器的网络连接改成“桥接模式”,发现仍然无法联网,最后将电脑连接的教室wifi改成连接个人热点,即解决。
- 问题2:在第二部分打开wireshark并开启捕获,发现找不到地址为BBS服务器IP地址的TCP数据包。
- 问题2解决方案:首先访问BBS服务器查询其IP地址,随后,在打开wireshark并开启捕获后,应重新访问BBS服务器。
四、学习感悟与思考
在网络嗅探和协议分析的学习和实验中,我深刻体会到实践的重要性。工具的安装和使用看似简单,但实际操作中常遇到依赖、配置等问题,这让我意识到扎实的基础和细致的文档阅读能力至关重要。未来学习中,我会更加注重理论与实践结合,多查资料、多动手实践,同时记录问题和解决方法,逐步提升自己的技术能力和问题解决能力。








浙公网安备 33010602011771号