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

1.实验内容

(1) 实验任务

实验任务一

使用 tcpdump 开源工具对本机访问 www.163.com 网站首页的全过程进行抓包与嗅探分析,通过记录浏览器在页面加载过程中产生的网络通信数据,识别浏览器实际访问了多少个 Web 服务器,并进一步分析这些服务器对应的 IP 地址,从而掌握 Web 页面访问过程中主站与相关资源服务器之间的通信关系。

实验任务二

使用 Wireshark 开源软件对本机以 TELNET 方式登录 BBS 的过程进行抓包和协议分析,重点分析 TELNET 会话建立及数据传输过程,确定所登录 BBS 服务器的 IP 地址和端口号,观察用户名与登录口令在网络中的传输方式,并利用 Wireshark 对嗅探到的数据包进行分析,提取和验证登录过程中传输的用户名和口令信息,以理解 TELNET 明文传输的安全风险。

实验任务三

对给定的抓包文件 listen.cap 进行网络取证分析,结合数据包中的通信特征识别网络扫描行为,确定攻击主机与扫描目标主机的 IP 地址,分析攻击者所使用的扫描工具及判定依据,识别其采用的扫描方法、扫描的目标端口及其工作原理,同时判断蜜罐主机上开放的端口,并根据扫描流量特征进一步推断攻击主机所使用的操作系统,从而掌握对网络扫描行为进行分析与取证的基本方法。

(2)知识点总结

tcpdump 抓包

使用 tcpdump 进行命令行抓包。
常用参数:
-i:指定网卡
-w:保存为 pcap 文件
-r:读取抓包文件
可结合 host、port 设置过滤条件。
访问网页时通常会涉及多个服务器 IP,不仅仅是一个目标站点。

Wireshark 协议分析

Wireshark 可用于图形化抓包和协议分析。
常用功能:
显示过滤器筛选流量
查看源/目的 IP、端口、协议字段
Follow TCP Stream 还原完整会话
适合分析 TCP 通信过程和应用层明文数据。

TELNET 协议

TELNET 基于 TCP,默认端口为 23。
登录时客户端与服务器先建立 TCP 连接,再进行数据交互。
用户名和密码以明文形式传输,安全性较低。
可通过抓包直接看到登录内容,因此 TELNET 不适合在不安全网络中使用。

端口扫描识别

扫描主机通常会向目标多个端口发送探测包。
可通过 SYN 包判断谁是主动发起连接的一方。
典型扫描目标是发现开放端口和运行服务。

SYN 半开放扫描

扫描流程:
扫描端发送 SYN
开放端口返回 SYN,ACK
扫描端再发送 RST 中断连接
若端口关闭,目标通常返回 RST,ACK。
这是 Nmap 常见的 -sS 扫描方式,特点是快且较隐蔽。

重点收获

学会了使用 tcpdump 和 Wireshark 进行抓包分析。
理解了 TELNET 明文传输的安全隐患。
掌握了 SYN 扫描的识别方法。
能够根据抓包结果分析攻击主机、目标主机、开放端口及扫描方式。

2.实验过程

(1)动手实践tcpdump

使用tcpdump开源软件对在本机上访问www.163.com网站过程进行嗅探

  • 第一步:使用如下命令进行抓取
    sudo tcpdump -i eth0 host baidu.com or port 443 -w baidu.pcap
    image
  • 第二步:使用浏览器打开www.163.com
    image
  • 第三步:终端citl+c命令停止抓包
    image
    可以看到成功抓包
    3255 packets captured:表示成功写入 163.pcap 文件的数据包数量。
    3259 packets received by filter:内核过滤规则匹配到的总包数。
    0 packets dropped by kernel:内核没有因为缓冲区满而丢包,抓包质量很好。
  • 第四步:使用sudo tcpdump -r 163.pcap -n | grep -oE '([0-9]{1,3}.){3}[0-9]{1,3}' | sort -u
    image
    通过上图不难发现:在访问163网站首页时,浏览器共访问了 9 个不同的Web服务器,对应的IP地址分别为:101.72.219.91、106.74.131.242、114.250.70.33、123.117.132.35、192.168.11.128、202.108.153.113、220.197.30.52、59.111.160.244、61.240.129.37。其中 192.168.11.128 属于私有地址,可能是本地网关或代理服务器,其余均为网易及其CDN的公网服务器。

(2)动手实践Wireshark

使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析

  • 第一步:终端输入sudo wireshark
    image
  • 第二步:点击左上角"开始捕获分组"并在终端输入luit -encoding gbk telnet bbs.newsmth.net
    image
  • 第三步:终端输入guest
    image
    image
  • 你所登录的BBS服务器的IP地址与端口各是什么?
    image
    打开wireshark在过滤框输入telnet可以看到BBS服务器的IP地址为120.92.212.76,端口默认为23.
  • TELNET协议是如何向服务器传送你输入的用户名及登录口令?
    TELNET 基于 TCP,在连接建立后,客户端和服务器会先进行 TELNET 选项协商(如回显模式、行模式等)。随后,用户输入的用户名和密码以明文 ASCII 码形式逐字符封装到 TCP 数据段中发送,中间没有任何加密或编码混淆。由于 TELNET 默认采用远程回显,密码字符在本地屏幕上可能不可见,但在网络上依然是明文可见的。
    image
    image
  • 如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
    image
    如上图:使用 Follow TCP Stream 功能可以直接看到整个会话的明文内容,包含用户名和密码。

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

  • 攻击主机的IP地址是什么?
    image
    在 Wireshark 的显示过滤器中输入:tcp.flags.syn == 1,过滤出所有首次握手的 SYN 包。
    第一个 SYN 包的源 IP 是 172.31.4.178,目标 IP 是 172.31.4.188。在 TCP 连接中,主动发起连接的一方(发送第一个 SYN 包)通常是攻击主机。因此,攻击主机的 IP 地址为 192.168.11.128。

  • 网络扫描的目标IP地址是什么?
    image
    根据截图中的 SYN 包(No.38),目标 IP 地址是 172.31.4.188。

  • 本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
    首先sudo apt-get isntall p0f
    使用snort -c /etc/snort/snort.lua -r /home/xixi1234/下载/listen.pcap -A alert_full命令进行分析
    sudo p0f -r /home/xixi1234/下载/listen.pcap | head -n 30
    image
    不难发现,本次案例中是使用了NMap工作发起这些端口扫描

  • 你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。
    首先,在wireshark中使用arp,过滤出arp包,可以推测出在使用nmap -P查看目标主机是否活跃
    image
    在wireshark的过滤器中输入tcp.flags.syn == 1 and tcp.flags.ack == 0
    image
    在wireshark的过滤器中输入tcp.flags.syn == 1 || tcp.flags.reset == 1,发现来自源主机 172.31.4.188 的大量 SYN 探测包,目标为 172.31.4.178,并覆盖多个常见端口(如 22、23、80、139、3306 等),呈现典型端口枚举行为。(如下图所示)
    image
    从截图可以观察到多次如下序列:
    172.31.4.188:57738 -> 172.31.4.178:3306 [SYN]
    172.31.4.178:3306 -> 172.31.4.188:57738 [SYN,ACK]
    172.31.4.188:57738 -> 172.31.4.178:3306 [RST]
    同样序列也出现在端口 139、23、80 等端口上。
    这一流程正是 SYN 半开放扫描的标准特征:
    扫描端只发送 SYN 探测;
    目标若端口开放则回复 SYN,ACK;
    扫描端立即发送 RST 中断连接,不完成三次握手。
    关闭端口的响应行为:
    例如端口 995:
    172.31.4.188:57738 -> 172.31.4.178:995 [SYN]
    172.31.4.178:995 -> 172.31.4.188:57738 [RST,ACK]
    说明端口关闭时由目标直接返回 RST,ACK,符合 SYN 扫描的判断逻辑。
    通过抓包分析发现源主机对多个端口发送大量 SYN 探测包,并在收到目标 SYN,ACK 后立即发送 RST 终止连接,符合 TCP 半开放扫描特征。该行为与 Nmap 的 -sS 扫描方式完全一致,故可判定此次扫描为 Nmap 的 SYN 半开放端口扫描。

  • 在蜜罐主机上哪些端口被发现是开放的?
    在wireshark中输入tcp.flags.syn == 1 and tcp.flags.ack == 1 and ip.src == 172.31.4.188
    image
    端口3306开放
    image
    端口139开放
    image
    端口23开放
    ......
    通过此方式,可以查询到3306,139,23,80,25,22,21等端口开放

  • 攻击主机的操作系统是什么?
    使用p0f -r listen.pcap
    image
    可以发现,攻击机的操作系统为Linux。2.6.x

3.学习中遇到的问题及解决

  • 问题1:在终端输入luit -encoding gbk telnet bbs.newsmth.net访问精华大学BBS论坛时无反应

  • 问题1解决方案:which telent检查发现并没有安装telent,使用sudo apt install telnet命令下载后解决此问题
    image

  • 问题2:sudo p0f -r /home/xixi1234/下载/listen.pcap无法查看最上面显示的扫描工具

  • 问题2解决方案:使用 sudo p0f -r /home/xixi1234/下载/listen.pcap | head -n 30

4.学习感悟、思考

通过本次实验,我对网络嗅探、协议分析以及网络取证分析有了更加直观和深入的理解。以往在课堂上学习 TCP/IP、TELNET、端口扫描等内容时,更多停留在理论层面,而这次通过 tcpdump、Wireshark、Snort、p0f 等工具的实际操作,我真正看到了网络通信过程中的数据包是如何在网络中传输的,也更加深刻地认识到了网络安全问题的现实性和重要性。
在第一个实验中,我使用 tcpdump 对访问网站的过程进行了抓包分析。通过对 pcap 文件的读取和 IP 地址提取,我发现访问一个看似简单的网站首页,实际背后会涉及多个服务器和 CDN 节点的通信。这让我认识到,现代网站访问并不是只与单一服务器建立连接,而是往往伴随着 DNS 解析、HTTPS 连接、静态资源加载等多个过程,网络行为远比表面看到的更复杂。
在第二个实验中,通过 Wireshark 对 TELNET 登录过程进行嗅探,我清楚地观察到了用户名和口令以明文形式在网络中传输。这一实验给我的触动很大,因为它让我直观地看到:如果通信协议本身不具备加密能力,那么攻击者只要能够截获流量,就可以轻易获取敏感信息。也正因为如此,我进一步理解了为什么现代网络环境中 TELNET 已经逐渐被 SSH 等安全协议取代。这个实验不仅让我掌握了 Wireshark 的过滤、追踪 TCP 流等功能,也增强了我对“明文传输风险”的安全意识。
在第三个实验中,我对 listen.cap 进行了取证分析,判断了攻击主机、目标主机、扫描工具、扫描方式、开放端口以及攻击主机操作系统等信息。通过对 SYN、SYN/ACK、RST 等数据包标志位的分析,我成功识别出此次扫描属于典型的 Nmap SYN 半开放扫描。这一过程让我体会到,网络取证并不是简单地“看数据包”,而是需要结合协议原理、通信流程和工具特征进行综合判断。尤其是在分析扫描行为时,我逐渐学会了从数据包现象反推出攻击意图,这对今后理解入侵检测和安全防护机制有很大帮助。
此外,在实验过程中我也遇到了一些实际问题,例如 telnet 未安装导致命令无法执行、p0f 输出内容过长不便查看等。这些问题虽然不复杂,但让我意识到,实验能力不仅包括对理论知识的理解,也包括对操作系统环境、命令行工具和排错方法的熟悉。通过查找原因并逐步解决,我的动手能力和独立分析问题的能力也得到了提高。
总体来说,本次实验让我把抽象的网络安全知识与具体的数据包分析联系了起来,使我对网络协议、通信过程、信息泄露风险和端口扫描检测有了更深刻的认识。同时我也意识到,网络安全学习不能只停留在书本上,只有通过不断实验、观察和分析,才能真正掌握相关技术。今后我希望进一步学习更多网络分析与安全检测工具,不断提升自己的实践能力和安全意识。

参考资料

posted @ 2026-04-12 19:28  scx28  阅读(2)  评论(0)    收藏  举报