20252820 2024-2025-2 《网络攻防实践》实验三
《网络攻防实践》实验三:网络嗅探与协议分析实践
一、实验目的
- 熟悉
tcpdump的基本使用方法,掌握基于命令行的网络抓包操作。 - 熟悉
Wireshark的抓包、过滤与协议分析方法。 - 掌握对 TELNET 明文传输过程的分析方法。
- 学会结合
Snort、Wireshark、p0f等工具对网络扫描行为进行取证分析。 - 提升对网络安全中信息收集、协议分析与入侵检测过程的理解。
二、实验内容
2.1 动手实践 tcpdump
使用 tcpdump 对本机访问目标网站的过程进行抓包分析,回答以下问题:
- 浏览器在访问目标网站首页时,共访问了多少个 Web 服务器? 6个不同的服务器
- 这些服务器的 IP 地址分别是什么? 服务器的 IP 地址分别为:34.107.221.82、220.181.166.11、220.181.174.162、23.11.39.161、220.181.164.124、23.203.134.236。
2.2 动手实践 Wireshark
使用 Wireshark 对本机以 TELNET 方式登录 BBS 的过程进行抓包与协议分析,回答以下问题:
- 所登录的 BBS 服务器 IP 地址和端口分别是什么? 120.92.212.76 端口:23
- TELNET 协议是如何向服务器传送用户名和口令的? 输入的guest以明文方式向服务器进行传输,继续追踪TCP流可以发现,在输入用户名的时候,telnet使用的模式为一次一个字符方式,即客户端输入一个字符,服务器即回显相同的字符
- 如何利用 Wireshark 分析抓包结果,并从中获取用户名和口令? 输入guest或用户名时,使用wireshark抓包,分析TCP流,即可获取到用户名和密码,如下图,在这里由于使用了guest账户,所以没有密码,因此用户名为guest。
![用户名获取]()
2.3 取证分析实践:解码网络扫描器(listen.pcap)
对提供的 listen.pcap 文件进行分析,回答以下问题:
- 攻击主机的 IP 地址是什么? 172.31.4.178
- 网络扫描的目标 IP 地址是什么? 172.31.4.188
- 本次案例中使用了哪个扫描工具发起端口扫描?依据是什么? 使用了nmap端口扫描工具,通过snort工具解析确定的。
- 攻击者采用了哪种扫描方法?扫描的目标端口有哪些?其工作原理是什么? SYN半开放扫描 1-65535端口 攻击者先向目标端口发送 SYN 探测报文;如果端口处于开放状态,目标主机会返回 SYN+ACK;如果端口关闭,则通常返回 RST。此时攻击者不会继续发送 ACK 完成三次握手,因此不会真正建立连接。
- 蜜罐主机上哪些端口被发现是开放的? 有21、22、23、25、53、80、139、445、3306、8180等端口。
- 攻击主机的操作系统是什么? Linux2.6.x
三、实验过程
3.1 tcpdump 抓包实践
3.1.1 实验要求
使用 tcpdump 对访问目标网站的过程进行抓包,并统计访问涉及的服务器数量及对应 IP 地址。
3.1.2 实验步骤
- 启动 Kali Linux 虚拟机。
- 配置虚拟机网络为实验可用模式。
- 获取本机 IP 地址。
![主机ip]()
- 使用
tcpdump设置过滤条件进行抓包。
![tcpdump]()
- 在浏览器中访问目标网站。
- 观察抓包结果,统计访问的服务器数量与 IP 地址。 34.107.221.82、220.181.166.11、220.181.174.162、23.11.39.161、220.181.164.124、23.203.134.236。
3.1.3 关键命令
sudo su
ifconfig
sudo tcpdump -n src 10.243.17.50 and tcp port 80
3.1.4 问题分析
- 浏览器访问的 Web 服务器数量:6
- 相关服务器 IP 地址如下:
34.107.221.82、220.181.166.11、220.181.174.162、23.11.39.161、220.181.164.124、23.203.134.236。
3.2 Wireshark 抓包分析 TELNET 登录过程
3.2.1 实验要求
使用 Wireshark 抓取并分析本机登录 BBS 的 TELNET 通信过程。
3.2.2 实验步骤
- 打开 Wireshark,选择正确的网卡开始抓包。
- 在终端中使用 TELNET 连接目标水木清华。
![luit]()
- 完成登录或注册操作。
![guest]()
- 在 Wireshark 中使用过滤器筛选
telnet或目标 IP。
![抓包23端口]()
- 使用 Follow TCP Stream 功能跟踪整个 TCP 会话。
- 提取并分析用户名和口令的传输过程。
![用户名获取]()
3.2.3 关键命令
luit -encoding gbk telnet bbs.newsmth.net
3.2.4 问题分析
(1)BBS 服务器的 IP 地址与端口各是什么?
答:
- IP 地址:120.92.212.76
- 端口:23
(2)TELNET 协议是如何传送用户名及口令的?
答:
输入的guest以明文方式向服务器进行传输,继续追踪TCP流可以发现,在输入用户名的时候,telnet使用的模式为一次一个字符方式,即客户端输入一个字符,服务器即回显相同的字符
(3)如何利用 Wireshark 获取用户名及口令?
答:
输入guest或用户名时,使用wireshark抓包,分析TCP流,即可获取到用户名和密码,如下图,在这里由于使用了guest账户,所以没有密码,因此用户名为guest。

3.3 取证分析实践:解码网络扫描器(listen.pcap)
3.3.1 实验要求
对 listen.pcap 抓包文件进行分析,识别扫描行为、开放端口、扫描工具及攻击主机操作系统。
3.3.2 实验步骤
- 将
listen.pcap文件导入 Kali Linux。
![cp]()
- 使用 Snort 对该文件进行入侵检测分析。
![snort]()
![snort_analysize]()
- 使用 Wireshark 打开该文件进一步分析。
![open_with_wireshark]()
- 分析 ARP、ICMP、TCP 等报文特征。
![nmap_attack]()
![icmp]()
![tcp]()
![syn_ack]()
![rst_ack]()
- 利用
tcp.flags.syn == 1 and tcp.flags.ack == 1等过滤条件识别开放端口。
![靶机开放端口]()
- 使用tshark查看攻击者扫描的端口为1到65535端口,分析出攻击者所使用的攻击方法为SYN半开放扫描。
![image]()
- 使用
p0f对攻击机操作系统进行识别。
![p0f]()
![os_attacker]()
3.3.3 关键命令
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
sudo apt install p0f
sudo p0f -r /home/kali/Desktop/listen.pcap
3.3.4 问题分析
(1)攻击主机的 IP 地址是什么?
答:172.31.4.178
(2)网络扫描的目标 IP 地址是什么?
答:172.31.4.188
(3)使用了哪个扫描工具?如何确定?
答:使用了nmap端口扫描工具,通过snort工具解析确定的。
(4)攻击者使用了哪种扫描方法?扫描了哪些端口?其原理是什么?
答:
- 扫描方法:SYN半开放扫描
- 扫描端口: 1-65535端口
- 工作原理:攻击者先向目标端口发送 SYN 探测报文;如果端口处于开放状态,目标主机会返回 SYN+ACK;如果端口关闭,则通常返回 RST。此时攻击者不会继续发送 ACK 完成三次握手,因此不会真正建立连接。
(5)蜜罐主机上哪些端口是开放的?
答:有21、22、23、25、53、80、139、445、3306、8180等端口。
(6)攻击主机的操作系统是什么?
答:Linux2.6.x
四、实验中遇到的问题及解决方法
4.1 问题记录
问题:kali新版本库更新snort成snort2,报错输出格式与snort1不同
4.2 解决方法
解决方法:使用wireshark直接打开listen进行分析
五、实验总结与心得体会
通过本次实验,我对网络嗅探、协议分析和取证分析的基本流程有了更深入的理解。
在 tcpdump 实验中,我掌握了如何使用命令行工具对访问网站过程进行抓包,并根据抓包结果分析实际访问的服务器。
在 Wireshark 实验中,我认识到 TELNET 协议由于明文传输的特点,存在较大的安全隐患,也更加理解了协议分析在安全研究中的重要性。
在 listen.pcap 取证分析实验中,我进一步掌握了利用多种工具识别扫描行为、判断开放端口以及分析攻击机操作系统的方法。
本次实验增强了我对网络攻防基础知识的理解,也为后续开展更深入的安全实验打下了基础。



















浙公网安备 33010602011771号