20252802 2025-2026-2 《网络攻防实践》第3周作业

1.实验内容
1.1主要任务
网络访问嗅探分析:使用 tcpdump 抓取访问 https://www.163.com 过程中产生的数据包,通过分析提取访问的 Web 服务器 IP 地址,并统计访问的服务器数量。
TELNET 协议嗅探与分析:使用 Wireshark 抓取 telnet 登录 BBS 的过程,分析服务器 IP 与端口、用户名与口令的明文传输方式,并通过追踪流功能还原登录信息。
网络扫描取证分析:分析提供的 listen.pcap 抓包文件,通过统计 IP、识别扫描工具、分析扫描方法(SYN 半开扫描)和操作系统指纹等,还原攻击过程。

1.2.知识点梳理
1.2.1 网络嗅探基本原理
网络嗅探(Sniffing)是指通过抓取网络中传输的数据包,对其内容进行分析的技术。在共享式网络环境中,网卡可以设置为混杂模式,接收所有经过的数据包。在交换式网络中,嗅探则需要借助 ARP 欺骗、端口镜像等方式实现。本实验使用的 tcpdump 和 Wireshark 是两款经典的网络嗅探工具。

1.2.2 tcpdump
tcpdump 是一款命令行下的网络抓包工具,运行于 Linux/Unix 系统。它支持灵活的过滤表达式,可以按协议、IP、端口等条件筛选数据包。常用选项:
-i:指定抓包网卡
-w:将抓取结果写入文件
-r:读取已保存的 pcap 文件
-n:不进行 DNS 反向解析,直接显示 IP 地址

1.2.3 Wireshark
Wireshark 是一款图形化的网络协议分析工具,支持对 pcap 格式文件进行深度解析。它可以显示数据包的每一层协议头部,支持协议解码、流量统计、追踪流等功能。本实验中主要使用其追踪 TCP 流的功能来分析 TELNET 协议传输的内容。

1.2.4 TELNET 协议
TELNET(Teletype Network)是一种早期的远程登录协议,基于 TCP 协议,默认端口为 23。其最大特点是所有传输的数据(包括用户名和口令)均为明文,不具备任何加密机制。因此,在网络嗅探面前,TELNET 传输的敏感信息完全暴露,这也是其逐渐被 SSH 替代的原因。

2.实验过程
2.1动手实践tcpdump
(1)动手实践tcpdump

使用tcpdump开源软件对在本机上访问www.163.com网站过程进行嗅探,回答问题:你在访问www.163.com网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?
本实验我使用了Seedlab-Ubuntu20.04虚拟机作为实验环境,相关参数为:

IP:192.168.3.115
ubuntu地址.png
火狐访问 www.163.com
输入指令
sudo tcpdump -n src 192.168.200.3 and dst host www.163.com

然后打开www.163.com tcpdump抓包结果如图所示
www.163.com地址.png
如图
浏览器将访问1个服务器,地址为123.117.132.35

2.2 动手实践Wireshark
(1)你所登录的BBS服务器的IP地址与端口各是什么?
捕获ens33.png
同时输入指令luit -encoding gbk telnet bbs.mysmth.net 访问BBS网站
bbs地址和端口.png
如图,所登录的BBS服务器的IP地址是 120.92.212.76 端口为23

(2)TELNET协议是如何向服务器传送你输入的用户名及登录口令
Telnet协议基于TCP协议的23号端口进行传输,在登录过程中,客户端会将用户输入的用户名和登录口令以明文形式、按单个字符逐一向服务器发送,输入完成后通过回车符结束交互;整个账号密码的传递过程不进行任何加密处理,数据以原始ASCII字符直接在网络中传输,使用抓包工具即可轻松捕获并查看完整的用户名和密码。

(3)如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
右键点击数据流,选择追踪流中的tcp流选项。
追踪流.png
由上图可知使用的用户名和登录口令是guest。

2.3取证分析实践,解码网络扫描器(listen.cap)
(1)攻击主机的IP地址是什么?
使用Wireshark打开 cap文件
wireshark打开cap文件.png
wireshark查看攻击IP
目标ip.png
攻击IP为:172.31.4.188:1

(2)网络扫描的目标IP地址是什么?
目标ip.png
目标IP为:172.31.4.188:1

(3)本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
本次攻击使用的应该为nmap工具
安装
安装snort.png
安装完毕之后输入指令
sudo snort -c /etc/snort/snort.conf -r /home/mmy/listen.pcap -A console
分析得知
snort分析.png
本次攻击使用的为nmap工具
(4)你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。
snort分析.png
半开扫描
步骤:
攻击者发送SYN包

攻击者收到返回的SYN,ACK包,即端口开放

攻击者击者发送SYN包

攻击者收到返回的RST,ACK包,即端口关闭

这是Nmap默认的半开扫描方法

下面过滤返回的开放端口:

将ACK,SYN标志位定为1,TCP包的源地址为172.31.4.188,过滤结果如上图所示

(5)在蜜罐主机上哪些端口被发现是开放的?
过滤筛选端口.png
可以看出开放端口为21,23,25,53,80,139,445,8009,8180等等
(6)攻击主机的操作系统是什么
安装p0f工具,输入命令:
sudo apt-get install p0f
进入listen.pcap所在文件夹,输入命令:
p0f -r /home/mmy/listen.pcap
查看系统.png
可见使用的操作系统是Linux 2.6.x

3.学习中遇到的问题及解决
问题 1:tcpdump 抓包时过滤条件设置不当,导致抓取不到数据包或数据过多。
现象描述:在最初使用 tcpdump 抓取访问 www.163.com 的数据包时,直接使用了 dst host www.163.com,但由于 DNS 解析延迟或 CDN 负载均衡,可能捕获到多个 IP,或者因为未指定网卡 -i 导致在错误的接口上抓包,结果为空。此外,如果不加 -n 参数,tcpdump 会尝试进行 DNS 反向解析,导致输出界面卡顿且难以快速识别 IP。
解决方法:
首先通过 ifconfig 确认当前使用的网卡接口(如 ens33),并在命令中显式指定 -i ens33。
使用 -n 选项禁止 DNS 解析,直接显示 IP 地址,提高显示效率。
结合浏览器访问的时间点,精确设置过滤表达式。例如,先清空 ARP 缓存或确保连接建立后,使用 sudo tcpdump -n -i ens33 host 192.168.3.115 and dst port 80 or dst port 443 等更具体的条件进行筛选,最终成功定位到目标 Web 服务器 IP。
问题 2:Wireshark 分析 Telnet 登录信息时,追踪流中出现大量乱码或控制字符。
现象描述:在使用 Wireshark 的“追踪 TCP 流”功能查看 Telnet 登录过程时发现,除了用户名和密码明文外,还夹杂着许多不可见的控制字符(如 IAC, DO, WILL 等 Telnet 协议协商字段),导致肉眼难以直接分辨出哪部分是用户名,哪部分是密码。
解决方法:
理解 Telnet 协议特性:Telnet 在传输数据前需要进行选项协商。
仔细观察 ASCII 视图,忽略以 0xFF (IAC) 开头的协议协商字节。
寻找回车符(\r 或 0x0D)作为分隔点。通常输入用户名后按回车,接着输入密码再按回车。通过对比客户端发送的数据包长度和内容,排除掉协议协商包,锁定包含实际字符输入的 Data 包,从而准确提取出明文账号 guest 和密码 guest。

4、实验收获
通过本次网络嗅探与取证分析实验,我深入理解了网络协议的安全隐患及主流安全工具的使用方法,具体收获如下:

  1. 深刻认识到明文传输协议的安全性风险
    通过 Telnet 协议的嗅探实验,我直观地看到了用户名和密码以明文形式在网络中传输的过程。这让我深刻体会到为什么在现代网络环境中,Telnet、FTP 等旧协议已被 SSH、SFTP 等加密协议所取代。任何处于同一广播域或中间人攻击路径下的攻击者,都可以轻易窃取敏感信息。这增强了我在未来系统配置中优先选择加密通信协议的安全意识。
  2. 掌握了命令行与图形化抓包工具的核心技能
    tcpdump:学会了在 Linux 环境下使用 tcpdump 进行轻量级、高效的命令行抓包。掌握了常用的过滤表达式(如 host, port, src/dst)以及 -n, -w, -r 等关键参数的使用,这对于在无图形界面的服务器上进行故障排查和安全审计非常实用。
    Wireshark:熟练掌握了 Wireshark 的高级分析功能,特别是“追踪 TCP 流”和“协议分层解析”。能够通过对数据包头部字段(如 Flag 位、Sequence Number)的分析,还原应用层交互过程,提升了协议分析能力。
  3. 理解了网络扫描原理及防御思路
    通过对 listen.pcap 文件的取证分析,我深入理解了 Nmap 进行 SYN 半开扫描(Stealth Scan)的工作原理:即只发送 SYN 包,根据返回的 SYN/ACK 或 RST 来判断端口状态,而不完成完整的三次握手,从而在一定程度上规避传统日志记录。同时,结合 Snort 入侵检测系统和 p0f 被动指纹识别工具的使用,我了解了如何从流量特征中识别攻击工具和攻击者操作系统。这为后续学习入侵检测系统(IDS)的配置和网络防御策略打下了坚实基础。
  4. 提升了网络安全取证与分析思维
    实验不仅局限于工具的使用,更培养了“假设-验证-分析”的取证思维。从确定攻击源 IP、识别扫描手段,到还原开放端口和操作系统,整个过程模拟了真实的安全事件响应流程。我意识到,网络安全不仅仅是防御,更需要具备从海量数据中提取关键证据的能力,以便在发生安全事件时能够快速定位源头并评估损失。
posted @ 2026-04-11 23:24  眠绵雨  阅读(9)  评论(0)    收藏  举报