20242943 2024-2025-2 《网络攻防实践》实验三
一.实验内容
(1)动手实践了tcpdump等嗅探工具。通过嗅探工具,可以分析进入某一网站时,浏览器访问了多少个web服务器以及它们的IP地址都是什么。(2)动手实践Wireshark等抓包工具。通过使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,得出了所登录的BBS服务器的IP地址与端口信息、TELNET协议向服务器传送用户名及登录口令的方式以及利用Wireshark分析嗅探的数据包从中获取用户名及登录口令的方法。
(3)取证分析实践,解码网络扫描器(listen.pcap)。①通过snort工具,分析攻击主机的IP地址、网络扫描的目标IP地址以及端口扫描所使用的扫描工具。②通过分析日志文件中的数据包,分析攻击者所使用的扫描方法、扫描的目标端口以及其工作原理。③通过分析日志文件中的数据包,分析蜜罐主机上所开放的端口。④使用p0f工具,探明攻击主机的操作系统。
二.实验过程
1.使用tcpdump开源软件进行嗅探实验。(1)首先查询本机IP地址为192.168.162.128。

(2)在终端输入命令tcpdump -n src 172.20.10.4 and tcp port 80 and "tcp[13] & 18 =2",然后可以在浏览器中打开一个网站,我打开的是百度网站。可以观察到,在访问百度网站时,浏览器访问了两个Web服务器,它们的IP分别是101.28.133.120和60.9.5.121。

2.使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析。
(1)打开Wireshark,选择eth0网卡。

(2)首先打开终端,在终端输入命令luit -encoding gbk telnet bbs.mysmth.net,以TELNET方式登录清华大学BBS服务器,然后按照命令行中的提示,输入guest登录,接着就可以停止Wireshark的抓包了。

(3)输入telnet筛选,可以看到登录的BBS服务器的IP地址是120.92.212.76,端口号是23。

(4)打开一个telnet包,追踪tcp流,可以看到我们输入的用户名是guest。因为telnet协议本身并不加密传输的数据,包括用户名和登录口令。当我们通过telnet协议连接到远程服务器时,用户名和密码都会以明文形式进行传输。具体流程如下:①我们通过telnet客户端向远程服务器发起连接请求。②服务器响应并请求用户输入用户名。③在客户端输入用户名后,telnet协议将用户名以明文形式发送给服务器。④服务器根据收到的用户名提示用户输入密码。⑤在客户端输入密码后,telnet协议会将密码以明文形式传送给服务器。⑥服务器根据接收到的用户名和密码验证用户身份,如果验证成功则允许登录。

(5)因此我们可以利用上述所描绘的方式,利用Wireshark分析嗅探的数据包,并从中获取用户名及登录口令。
3.取证分析实践,解码网络扫描器(listen.pcap)。
(1)分析攻击主机、网络扫描的目标IP地址以及本次案例中使用的扫描工具。
①使用命令apt-get install snort,安装snort工具。

②在终端输入命令snort -c /etc/snort/snort.lua -r /home/swt/listen.pcap -A alert_full,这个命令可以扫描listen.pcap文件,并在命令行中返回我们所需要的信息。通过返回的信息,可以看到攻击主机的IP地址是172.31.4.178,网络扫描的目标IP地址是172.31.4.188,本次案例中使用的扫描工具是nmap。

(2)分析日志文件中攻击者使用的扫描方法、扫描的目标端口,并描述其工作原理。
①用wireshark打开listen.pcap包,过滤arp包。可以看到一共进行了四次广播,分别是第5、7、2071、133220个包,这是攻击开始的标志。

②首先看第5个包,在它之后并没有攻击行为,所以它是在进行活跃主机检测,命令是nmap -sP 172.31.4.188。

③从第7个包开始,可以看到攻击者构造了很多带有标志位的包,这些包上带有一些特定的操作系统的特征,可以通过这些包来探测靶机会产生什么样的反应,所以这一阶段的数据包是在探测主机的操作系统,命令是nmap -O 172.31.4.188。

④从第2071个包开始,一直到这一阶段结束,一共有13万个包,而且全部都是SYN包,很明显这是在做全端口扫描,命令是nmap -sS -p 1-65535 172.31.4.188。

⑤在最后一个阶段中,会发现有一些telnet、http、dns之类的包,这说明攻击机与靶机做了更深入的交流,它的目的是检测靶机开放了哪些服务,因此这是在进行开放服务的检测,命令是nmap -sV 172.31.4.188。

(3)分析蜜罐主机上哪些端口是开放的。如果靶机的端口是开放的,那么靶机会给攻击机回复一个带有ACK、SYN标志的包,因此可以使用tcp.flags.syn==1 and tcp.flags.ack==1来过滤包,最终统计21 22 23 25 53 80 139 445 3306 5432 8009 8180,这些端口是开放的。

(4)分析攻击主机的操作系统是什么。
①首先使用命令apt-get install p0f,安装p0f工具。

②使用p0f -r listen.pcap命令来来扫描listen.pcap文件。然后可以看到攻击主机的操作系统是Linux 2.6.x。

三.学习中遇到的问题及解决
- 问题1:切换桥接模式时,eth0网卡有IP地址,但是浏览器依然无法打开网站。
- 问题1解决方案:查了很多资料,但依然没有弄明白为什么会这样,最后在虚拟网络编辑器中选择还原默认设置,便可以正常使用了。
- 问题2:snort3不能将扫描的信息反馈到命令行中。
- 问题2解决方案:打开snort.lua文件,需要在文件中添加一行语句enable_builtin_rules = true。

四.学习感悟、思考等)
网络嗅探与协议分析是网络安全领域中的重要技能,通过本次实验,我更加深入理解了网络通信的机制、并学会了如何发现潜在安全问题。在学习这部分内容的过程中,我认识到几个关键点。首先,理解各种网络协议的基本原理是基础。无论是TCP协议,还是更高层的应用协议(如HTTP、DNS等),我们都需要理解它们的工作原理和数据传输的过程,这对于后续的协议分析至关重要。掌握这些协议有助于我们解析数据包中的每一部分,准确理解其包含的含义。
其次,网络嗅探工具的使用是学习过程中的重要一环。Wireshark等工具能够捕获网络中的数据包,提供详细的数据信息。通过这些工具,我们能够清晰地看到网络中传输的各种数据,甚至能够发现加密前的敏感数据。这些工具不仅能够帮助我们排查各种网络问题,也能够让我们发现潜在的安全漏洞。
此外,本次实验也让我更加关注网络安全与隐私保护的问题。在使用嗅探工具分析数据时,我们能够看到网络中的各种敏感信息,如用户名、密码等。这让我深刻认识到保护网络通信安全与隐私的重要性。特别是在互联网普及的背景下,学会如何保护数据的安全,是每个网络安全从业者的责任。

浙公网安备 33010602011771号