20253907 2025-2026-2《网络攻防实践》第3周作业
1. 知识点梳理与总结
-
tcpdump 抓包
基于命令行的轻量级抓包工具,适合在服务器上快速捕获流量。
与 Wireshark 搭配:tcpdump 抓包保存为 .pcap,再用 Wireshark 做深度分析。 -
Telnet 协议
基于 TCP 23 端口,所有数据(包括账号密码)以明文传输。
目前发现被 SSH 取代,但部分 BBS 仍在使用。
实验中遇到中文乱码时,需用luit -encoding gbk指定编码。 -
端口扫描与流量分析
SYN 半开扫描**:只发 SYN,不完成三次握手,较隐蔽。
Nmap 常见扫描方式:-sS(半开)、-sT(全连接)、-sF(秘密扫描)、-sV(服务版本)、-O(操作系统)。
p0f :被动操作系统指纹识别工具,通过分析数据包特征推断系统类型,隐蔽性强。 -
实验环境
Kali Linux(攻击机/分析机):IP 192.168.200.6
靶机/目标主机:根据任务分别为 Web 服务器、BBS 服务器及 listen.pcap 中的 172.31.4.188
2. 实验过程
2.1 tcpdump 抓取网页访问数据包
-
查看本机 IP:
ifconfig→ 确定地址为192.168.200.6

-
执行抓包命令,只抓本机发出的 HTTP SYN 包:
sudo tcpdump -n src 192.168.200.6 and tcp port 80 and "tcp[13] & 18 = 2"

- 浏览器访问
www.zhihu.com/,页面加载完成后 Ctrl+C 停止抓包。 - 提取 SYN 包中的目标 IP,去重后共获得 4 个服务器地址(含 CDN 及第三方资源服务器):
-
34.107.221.82
-
220.181.181.58
-
220.181.166.11
-
151.101.194.133
2.2 Wireshark 抓包分析 Telnet 登录 BBS
-
打开 Wireshark,选择 eth0 开始抓包。
-
终端中使用
luit避免乱码,登录复旦大学 BBS(游客身份):luit -encoding gbk telnet bbs.newsmth.net输入用户名
guest,密码直接回车。

-
登录成功后停止抓包,过滤
telnet或tcp.port == 23。

-
右键任意包 → Follow → TCP Stream,查看完整交互内容。
-
可以看到
login: guest完全明文显示。

-
验证了 Telnet 协议不加密,账号口令易被窃听。

-
2.3 listen.cap 数据包分析
(1)确定攻击主机与目标主机
- 过滤 ARP 包,发现大量
Who has 172.31.4.188? Tell 172.31.4.178,这是 Nmap 主机发现阶段的 ARP 扫描。 - 攻击机 IP:
172.31.4.178 - 目标 IP:
172.31.4.188

(2)识别扫描工具
- 过滤 ip.src == 172.31.4.178 and tcp.flags.syn == 1,看到连续向目标不同端口发送 SYN 包,正是 Nmap 的默认行为:

- 结合 Snort 或扫描工具特征,即可判断扫描工具为 Nmap。
(3)扫描方式
- 过滤
ip.src == 172.31.4.178 and tcp.flags.syn == 1 and tcp.flags.ack == 0 - 看到大量 SYN 包,无后续 ACK → TCP SYN 半开扫描。

- 原理:发送 SYN 探测端口,根据对方回复 SYN+ACK(开放)或 RST(关闭)判断,不建立完整连接,没有完成三次握手,证明是 TCP SYN 半开扫描,减少日志记录。
(4)目标开放端口
-
过滤
ip.src == 172.31.4.188 && ip.dst == 172.31.4.178 && tcp.flags.syn == 1 && tcp.flags.ack == 1(目标回复的 SYN+ACK)

-
统计开放端口:
21(FTP), 22(SSH), 23(Telnet), 25(SMTP), 80(HTTP), 445(SMB), 3306(MySQL)
(5)攻击机的操作系统
- 使用 p0f 被动识别:
p0f -r listen.pcap

- 结果匹配 Linux 2.6.x / 3.x → 攻击机为 Linux 系统。
3. 实验中遇到的问题及解决方法
- 在进行实验2.2发生Telnet 中文乱码问题
解决:使用luit -encoding gbk指定编码格式。 - 在Wireshark 抓包分析实验中,由于抓包数据太多,难以定位
解决:增加过滤条件,过滤 telnet 或 tcp.port == 23。 - 在进行实验2时,视频教学的复旦日月光华 BBS 已关停公网 TELNET 服务,无法访问
解决:换用水木社区的网站,并输入luit -encoding gbk telnet bbs.newsmth.net。 - 在检测攻击机的操作系统的实验当中,由于p0f 未安装,无法正常实验
解决:输入sudo apt update && sudo apt install p0f -y。
4. 学习感悟
本次实验让我对网络协议的实际工作方式有了直观感受,让我进一步学习到了网络抓包取证分析等流程,以及如何进行监听文件,采取了哪些扫描方式和扫描工具等等。主要是以下几点:
1、Telnet 的明文传输给我留下深刻印象,早期协议对安全性的考虑严重不足,这也解释了为什么 SSH 成为必需。
2、通过 listen.pcap 的取证分析,感觉像在做一次小型的入侵调查,对 Nmap 各种扫描方式的区别、操作系统指纹识别都有了更深认识。
总的来说,这次实验不算难,跟着视频教学,遇到问题也及时和同学室友讨论,解决起来也很简单啊,最重要的是学会了一些操作指令,为后续学习打下扎实的基础!
浙公网安备 33010602011771号