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

1. 知识点梳理与总结

  1. tcpdump 抓包
    基于命令行的轻量级抓包工具,适合在服务器上快速捕获流量。
    与 Wireshark 搭配:tcpdump 抓包保存为 .pcap,再用 Wireshark 做深度分析。

  2. Telnet 协议
    基于 TCP 23 端口,所有数据(包括账号密码)以明文传输。
    目前发现被 SSH 取代,但部分 BBS 仍在使用。
    实验中遇到中文乱码时,需用 luit -encoding gbk 指定编码。

  3. 端口扫描与流量分析
    SYN 半开扫描**:只发 SYN,不完成三次握手,较隐蔽。
    Nmap 常见扫描方式:-sS(半开)、-sT(全连接)、-sF(秘密扫描)、-sV(服务版本)、-O(操作系统)。
    p0f :被动操作系统指纹识别工具,通过分析数据包特征推断系统类型,隐蔽性强。

  4. 实验环境
    Kali Linux(攻击机/分析机):IP 192.168.200.6
    靶机/目标主机:根据任务分别为 Web 服务器、BBS 服务器及 listen.pcap 中的 172.31.4.188

2. 实验过程

2.1 tcpdump 抓取网页访问数据包

  1. 查看本机 IP:ifconfig → 确定地址为 192.168.200.6
    image

  2. 执行抓包命令,只抓本机发出的 HTTP SYN 包:

    sudo tcpdump -n src 192.168.200.6 and tcp port 80 and "tcp[13] & 18 = 2"
    

image

  1. 浏览器访问 www.zhihu.com/,页面加载完成后 Ctrl+C 停止抓包。
  2. 提取 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

  1. 打开 Wireshark,选择 eth0 开始抓包。

  2. 终端中使用 luit 避免乱码,登录复旦大学 BBS(游客身份):

    luit -encoding gbk telnet bbs.newsmth.net
    

    输入用户名 guest,密码直接回车。
    image

  3. 登录成功后停止抓包,过滤 telnettcp.port == 23
    image

  4. 右键任意包 → Follow → TCP Stream,查看完整交互内容。

    • 可以看到 login: guest 完全明文显示。
      image

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

2.3 listen.cap 数据包分析

(1)确定攻击主机与目标主机

  • 过滤 ARP 包,发现大量 Who has 172.31.4.188? Tell 172.31.4.178,这是 Nmap 主机发现阶段的 ARP 扫描。
  • 攻击机 IP172.31.4.178
  • 目标 IP172.31.4.188
    image

(2)识别扫描工具

  • 过滤 ip.src == 172.31.4.178 and tcp.flags.syn == 1,看到连续向目标不同端口发送 SYN 包,正是 Nmap 的默认行为:
    image
  • 结合 Snort 或扫描工具特征,即可判断扫描工具为 Nmap。

(3)扫描方式

  • 过滤 ip.src == 172.31.4.178 and tcp.flags.syn == 1 and tcp.flags.ack == 0
  • 看到大量 SYN 包,无后续 ACK → TCP SYN 半开扫描
    image
  • 原理:发送 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)
    image

  • 统计开放端口:
    21(FTP), 22(SSH), 23(Telnet), 25(SMTP), 80(HTTP), 445(SMB), 3306(MySQL)

(5)攻击机的操作系统

  • 使用 p0f 被动识别:
    p0f -r listen.pcap
    

image

  • 结果匹配 Linux 2.6.x / 3.x → 攻击机为 Linux 系统

3. 实验中遇到的问题及解决方法

  1. 在进行实验2.2发生Telnet 中文乱码问题
    解决:使用 luit -encoding gbk 指定编码格式。
  2. 在Wireshark 抓包分析实验中,由于抓包数据太多,难以定位
    解决:增加过滤条件,过滤 telnet 或 tcp.port == 23。
  3. 在进行实验2时,视频教学的复旦日月光华 BBS 已关停公网 TELNET 服务,无法访问
    解决:换用水木社区的网站,并输入luit -encoding gbk telnet bbs.newsmth.net。
  4. 在检测攻击机的操作系统的实验当中,由于p0f 未安装,无法正常实验
    解决:输入sudo apt update && sudo apt install p0f -y。

4. 学习感悟

本次实验让我对网络协议的实际工作方式有了直观感受,让我进一步学习到了网络抓包取证分析等流程,以及如何进行监听文件,采取了哪些扫描方式和扫描工具等等。主要是以下几点:

1、Telnet 的明文传输给我留下深刻印象,早期协议对安全性的考虑严重不足,这也解释了为什么 SSH 成为必需。

2、通过 listen.pcap 的取证分析,感觉像在做一次小型的入侵调查,对 Nmap 各种扫描方式的区别、操作系统指纹识别都有了更深认识。

总的来说,这次实验不算难,跟着视频教学,遇到问题也及时和同学室友讨论,解决起来也很简单啊,最重要的是学会了一些操作指令,为后续学习打下扎实的基础!

posted @ 2026-03-26 10:41  navada  阅读(26)  评论(0)    收藏  举报