20242825 2024-2025-2 《网络攻防实践》第三周作业 (2)

@

一. 实验内容

1.1 实验内容概述

本次实验主要包含了以下内容:

  1. 动手实践tcpdump
    使用tcpdump开源软件对在本机上访问www.tianya.cn网站过程进行嗅探,回答问题:你在访问www.tianya.cn网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?

  2. 动手实践Wireshark
    使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:
    (1) 你所登录的BBS服务器的IP地址与端口各是什么?
    (2) TELNET协议是如何向服务器传送你输入的用户名及登录口令?
    (3) 如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?

  3. 取证分析实践,解码网络扫描器(listen.cap)
    (1) 攻击主机的IP地址是什么?
    (2) 网络扫描的目标IP地址是什么?
    (3) 本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
    (4) 你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。
    (5) 在蜜罐主机上哪些端口被发现是开放的?
    (6) 攻击主机的操作系统是什么?

1.2 实验相关知识概述

  1. tcpdump
    tcpdump 是一款功能强大的网络数据包分析工具,常用于 Unix - like 系统,如 Linux、FreeBSD 等。它基于命令行操作,能实时捕获并分析网络流量,在网络故障排查、安全审计、网络性能优化等领域发挥关键作用。
    工作原理:tcpdump 借助操作系统提供的底层网络接口,像 Linux 的 libpcap 库,获取网络数据包。其核心工作流程为:首先,与网络接口建立连接,将网络接口设置为混杂模式,这样能捕获经过该接口的所有数据包,包括发往其他主机的数据包。然后,根据用户设定的过滤规则,对捕获的数据包进行筛选。符合规则的数据包被进一步处理,比如打印到终端、存储到文件,不符合的则被丢弃。在处理数据包时,tcpdump 会解析数据包的头部信息,提取如源 IP 地址、目的 IP 地址、端口号、协议类型等关键内容。

  2. Wireshark
    Wireshark 是一款非常流行的网络协议分析工具,它允许用户捕获和分析网络上的数据包。Wireshark 提供了深入分析网络流量的能力,可以帮助用户理解网络协议的工作原理,以及排查网络问题。
    通常用于网络管理和故障排查以及网络安全分析。由于它能够捕获和分析网络上的所有数据包,因此在安全敏感的环境中使用时需要谨慎,以避免违反隐私和安全政策。

二. 实验过程

2.1 动手实践tcpdump

2.1.1 实验要求

使用tcpdump开源软件对在本机上访问www.tianya.cn网站过程进行嗅探,并回答问题:

  • 你在访问www.tianya.cn网站首页时,浏览器将访问多少个Web服务器?
  • 他们的IP地址都是什么?

2.1.2 实验过程展示

由于www.tianya.cn网站现无法打开,故改为访问www.besti.edu.cn网站过程进行嗅探。
首先进行虚拟机设置更改,点击编辑虚拟机进入后,将网络配置修改为虚拟机桥接模式,再进行实验。
在这里插入图片描述
在这里插入图片描述
此次实验用www.besti.edu.cn网址来进行实验。
首先使用以下命令进入root模式,并查询虚拟机kali的IP地址。

sudo su
ifconfig

查询出IP地址为 192.168.31.218 。
在这里插入图片描述
使用tcpdump以下命令对本机向外的通信进行抓包,命令如下:

sudo tcpdump -n src 192.168.200.5 and tcp port 80 and “tcp[13]&18=2”

然后在浏览器中访问www.besti.edu.cn 。
在这里插入图片描述
使用sudo命令后可以看到抓取包。
可以看到访问 www.besti.edu.cn/过程中访问问了多个服务器。
在这里插入图片描述
刚没截完整图,重新运行一遍:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其中,对IP地址为:123.121.157.1.80 进行查询。
在这里插入图片描述
可以看到归属地为北京市丰台区。

2.1.3 所使用网址链接

总结一下用来查询IP地理位置网址:
https://www.ipshudi.com/

2.2 动手实践Wireshark

2.2.1 实验要求

使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:
(1) 你所登录的BBS服务器的IP地址与端口各是什么?
(2) TELNET协议是如何向服务器传送你输入的用户名及登录口令?
(3) 如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?

2.2.2 实验过程展示

1. 你所登录的BBS服务器的IP地址与端口各是什么?

这次实验中使用[https://bbs.fozztexx.com/]来进行操作,在Kali上使用以下命令来访问这个BBS服务器:

luit -encoding gbk telnet bbs.fozztexx.com

可以看到该BBS的IP地址是50.79.157.209 。
在这里插入图片描述
同时打开wireshark进行监听,使用telnet过滤后结果如下所示:
在这里插入图片描述
在这里插入图片描述
可以看到它的端口号为23 。
在这里插入图片描述

2. TELNET协议是如何向服务器传送你输入的用户名及登录口令?

进入BBS后,输入NEW进行新账号创建,而后依次输入账号密码,分别为BHY和123456。
在这里插入图片描述
本机IP地址,即192.168.31.218为检索条件,进行筛选并查找报文,找到了端口号为23的一条记录,即为双方通信过程中传递账号密码的过程。
然后单击右键点击follow进行TCP流跟踪,便可得到了整个通信过程。
在这里插入图片描述
在这里插入图片描述

3. 问题回答

①你所登录的BBS服务器的IP地址与端口各是什么?
IP地址:50.79.157.209
端口:23

②TELNET协议是如何向服务器传送你输入的用户名及登录口令?
Telnet协议使用TCP/IP协议族作为传输层协议,在进行远程登录之前,需要先建立TCP连接,即三次握手,。首先,客户端向服务器发起连接请求,服务器在接收到连接请求后,回复确认信号,建立连接。
此后,一旦输入并提交用户名和登录口令,Telnet就将发送它们给服务器。

③如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
过滤双方的IP地址,并点击follow追踪TCP流,即可获取
在这里插入图片描述
账号密码等等输入的信息:
在这里插入图片描述

2.3 取证分析实践,解码网络扫描器(listen.cap)

2.3.1 实验要求

取证分析实践,解码网络扫描器(listen.cap):
(1) 攻击主机的IP地址是什么?
(2) 网络扫描的目标IP地址是什么?
(3) 本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
(4) 你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。
(5) 在蜜罐主机上哪些端口被发现是开放的?
(6) 攻击主机的操作系统是什么?

2.3.2 实验过程展示

打开Kali虚拟机,在WireShark中进行listen.pcap文件的分析。
Kali虚拟机传入listen.pcap文件的方式(其实它可以直接进行文件的拖入,即将Windows上的文件直接拖进虚拟机的桌面即可)
在这里插入图片描述
将 listen.pcap 复制到kali虚拟机后,使用snort对二进制记录文件进行入侵检测。
对于snort以前未安装,所以在打开kali终端后首先使用以下命令进入root终端进行安装:

sudo su
sudo apt-get update 
sudo apt-get install snort 

在这里插入图片描述
在这里插入图片描述
安装完成,继续实验。
使用以下命令对文件进行复制以及使用:

cp listen.pcap /etc/snort/
snort -A console -q -u snort -c /etc/snort/snort.conf -r ~/listen.pcap 

用Wireshark打开listen.pcap文件进行分析:
单击右键 --> 选择第一个以Wireshark打开即可。
在这里插入图片描述
打开文件如下图所示:
在这里插入图片描述
下面按照要求进行一一查询即可。

1. 筛选ARP:

因为nmap会根据arp更新目标MAC地址,因此通过查询ARP地址,即可得到攻击者通过广播的形式查询靶机172.31.4.178的MAC地址:
在这里插入图片描述

2. 查询ICMP:

查询icmp可以发现,攻击机和靶机之间存在双向数据包,说明进行了批量的ping扫描进行主机扫描,以确认目标靶机是否活跃。
在这里插入图片描述

3. 查询TCP:

查询TCP,可以发现进行了大量的TCP扫描,例如攻击机向靶机发送SYN请求包,靶机返回SYN,ACK确认连接,攻击机响应,说明该端口开放。反之,如果靶机返回RST,ACK,则说明靶机的该端口关闭。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. tcp.flags.syn == 1 and tcp.flags.ack == 1查询:

通过查询tcp.flags.syn == 1 and tcp.flags.ack == 1可以得到靶机所有开放的端口,例如有21、22、23、25、53、80、139、445、3306、8180等端口。
在这里插入图片描述
在这里插入图片描述
最后,通过以下命令安装p0f工具,并使用该工具进行攻击者的攻击机操作系统版本的查询
使用以下命令进行安装查询:

sudo apt install p0f 
sudo p0f -r listen.pcap 

刚才安装后忘记截图了,重新用命令检查一遍:
在这里插入图片描述

遇到问题:

这里遇到问题,使用p0f命令显示找不到文件。
在这里插入图片描述
因为当时直接拖进kali虚拟机桌面,所以在文件系统中查询listen.pcap文件真实路径如下图所示:
在这里插入图片描述
询问kim后得知需要更改一下路径命令:
在这里插入图片描述

解决:

更改一下查询命令:

sudo pof -r /home/kali/Desktop/listen.pcap

查询成功:
在这里插入图片描述
即攻击者的操作系统版本为Linux 2.6.x 。
在这里插入图片描述

5. 问题回答:

解码网络扫描器(listen.cap):
(1)攻击主机的IP地址是什么?
答: 172.31.4.178
(2)网络扫描的目标IP地址是什么?
答: 172.31.4.188
(3)本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
答: 本次案例使用了nmap端口扫描工具,通过snort工具解析确定的。
(4)你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理?
答: 攻击者使用了广播查询的方式。
(5)在蜜罐主机上哪些端口被发现是开放的?
答: 有21、22、23、25、53、80、139、445、3306、8180等端口。
(6)攻击主机的操作系统是什么?
答: 攻击机操作系统版本为Linux 2.6.x 。

三、学习中遇到的问题及解决

在这次实验中,主要问题有以下几点:

问题:listen.pcap文件的传输路径以及后续用p0f检测问题,无法查询到文件。

解决方案:点击文件夹查询文件正确路径后更改代码便可实现查询。具体过程可见2.3.2.4 - 2.3.2.5小节。

四、学习感悟、思考等

  • 在本次实验中,实验目标主要是学习并掌握基础的网络嗅探与协议分析技术,例如TCPDump、Wireshark以及取证分析等三个方面相关知识。这些活动的主要目的是在进行更深入的测试或攻击之前,促使用户捕获、检查和分析通过网络传输的数据包。在网络安全领域,网络嗅探和协议分析是渗透测试和安全评估的重要组成部分。
  • 在这次实验中,我加深了对于协议分析技术的知识学习,进一步巩固了相关知识,为后面开展网络攻防实验打下坚实的基础。

参考资料:

https://blog.csdn.net/weixin_49071539/article/details/110433028

https://blog.csdn.net/weixin_49114503/article/details/132993612

posted @ 2025-03-20 09:42  ShirlyW  阅读(6)  评论(0)    收藏  举报