20252916 2025-2026-2 《网络攻防实践》课程总结

20252916 2025-2026-2 《网络攻防实践》课程总结

1. 内容总结

1.1 所有实验博客汇总链接

1.2 每次实验详细内容及遇到的问题

第1次实践:网络攻防实践的搭建

实验内容概括:第一次网络攻防实践是后续所有实验的基础,只有把网络拓扑设计好了才能更方便做后续实验,第一次实验主要完成了网络攻防实验环境的搭建与连通性测试。

具体实验内容是安装老师事先准备好的各个版本的虚拟机并且按照设计好的拓扑图去给每个虚拟机配置主机网卡模式、IP 地址、子网掩码、默认网关等参数设置。实验中还对蜜网网关进行了配置,蜜网网关是攻击区和蜜罐区之间流量交互、安全防护的桥梁,蜜网网关的配置要极其仔细不然很容易少一个空格就少一个IP地址的检测,很有可能就导致后续连通性测试通过不了。配置完成后还通过 ping 和 tcpdump 等命令完成 Kali、WinXP、Win2kServer、Metasploitable 等主机之间的连通性测试,确保蜜网网关能够正确工作,两个网段的虚拟机可以相互ping通,并且测试了蜜网网关是否能够监听 ICMP 流量。

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

  • 问题1:在蜜网网关配置过程中利用su -提升权限后,一直进不去可视化的交互界面。

    image-20260316164134293

  • 问题1解决方案:通过问询AI后得知,这种只需要输入menu之后就能进入配置界面了。

  • 问题2:在配置靶机时输入sudo vim /etc/rc.local之后不知道怎么插入内容。

  • 问题2解决方案:在网上搜索了vim编辑器的一些基本快捷操作指令,顺利完成了修改,同时了解到rc.local是用于在系统启动过程的最后,执行用户自定义命令的脚本文件,在这里面填写了IP地址等信息,每次开机都会执行,从而改变了靶机的ip地址信息。

  • 问题3:在整个拓扑结构搭建完成后,用攻击机去ping靶机那边一直联通不了。

  • 问题3解决方案:仔细检查了每个子网的ip地址以及子网掩码等信息的设置,并且还问了ai,依然没有找到解决办法,我最终把蜜网虚拟机重新卸载安装,之后再测试就联通了,我怀疑可能是因为安装蜜网镜像文件时选择的版本不兼容,可能有一些问题导致没有联通。

第2次实践:网络信息收集

实验内容概括:实验2主要内容是围绕网络信息收集展开,网络信息收集是开展网络攻击的首要阶段,通过网络踩点网络扫描网络查点等手段,收集目标的基础信息,方便后续开展网络渗透攻击。

具体实验内容包括域名查询、IP 归属地查询、好友 IP 测试获取、Nmap扫描、Nessus漏洞扫描和个人隐私检查。实验中先用 whois 和 nslookup 命令查询了baidu.com的域名注册信息以及 IP 归属信息。之后给好友打QQ语音通话,通过 Windows 资源监视器观察通话过程中的进程,从中查看网络连接,尝试查询网络连接中源IP的归属地,进而猜测在好友未告知的情况下猜测好友具体在哪里。之后使用 Nmap 对靶机进行主机存活探测、TCP/UDP 端口扫描、操作系统识别和服务版本探测,熟悉了一些

之后使用 winXPattacker自带的Nessus工具对靶机进行漏洞扫描,分析了 操作系统存在的端口方面的高、中、低危漏洞等安全问题,并且借助AI简单分析了一下如何去入侵这些漏洞。最后利用搜索引擎搜索了自己的名字以及学校,看我在互联网上是否有隐私泄露的问题,最后发现可能重名的人太多了,不能精准的定位到我的一些基础的相关信息。

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

问题1:域名解析过程中:nslookup baidu.com,显示网络不可达。

问题1解决方案:问询AI逐步排查问题

image-20260321160424111

首先ping虚拟机VMware的网关能联通

image-20260321162650012

说明是VMware与宿主机之间连接有问题,经查询应该在宿主机中的控制面板中打开以太网的设置,设置成允许其他网络用户通过此计算机的Internet连接来连接。这样虚拟机就可以连上网了。

image-20260321163154851

问题2:在安装Nessus过程中,IE浏览器显示需要flash版本太低了,无法打开

unnamed

问题2解决办法:旧版本(5.x 及更早)的 Nessus 扫描器的 Web 界面是完全基于 Adobe Flash 编写的。而 Flash 技术已经在 2020 年底被彻底淘汰,现在的浏览器默认都不再支持它,所以 IE 浏览器会提示 Flash 10 Required。我在网上找了许久,最终在gitee上找到了一个flash10的安装包,然后拖到虚拟机里面,最后成功的打开了Nessus服务。

第3次实践:网络嗅探与协议分析

实验内容概括:实验3的主要内容是围绕网络嗅探与协议分析展开,我理解的网络嗅探就是在网络踩点之后,在别人的数据通信过程中,利用wireshark抓包工具去检测别人的登录的账号密码以及通信中发送的一些数据包或者流量信息,从而为后续精准的网络攻击打下基础。

具体实验内容包括三部分。首先第一部分是用 tcpdump 抓取访问 www.163.com 时产生的网络流量,并且把这些信息写入一个.pcap文件中,通过管道命令读取 .pcap 文件并统计浏览器实际连接了多少个公网 Web 服务器。第二部分是用 Wireshark 抓取Telnet 登录BBS的过程,分析 Telnet 服务器的IP、端口,以及用户名等信息是如何以明文形式在网络中传输的。第三部分是对学习通提供的listen.pcap抓包文件进行取证分析,利用管道命令输出IP出现的次数,以及通过分析wireshark中抓包到的数据包,判断攻击主机 IP、目标 IP、扫描工具、扫描方式、开放端口以及攻击机操作系统等信息。

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

问题:第一个实验中telnet访问bss之后页面上显示乱码

image-20260325211012388

解决方案:经查询是编码方式不对,选项卡里修改一下字体为GBK就行。

image-20260325211115554

第4次实践:TCP/IP协议攻击

实验内容概括:实验4的主要内容是围绕TCP/IP协议的相关具体流程中的漏洞去进行欺骗攻击。包括了ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击以及TCP会话劫持攻击。

具体实验内容为前面两个实验主要是在链路层和网络层通过伪造ARP响应让靶机把网关IP绑定到攻击机的MAC上,这样后续进行ARP请求与靶机通信的流量都会被攻击机捕获到,ICMP重定向则是通过构造大量的ICMP Redirect报文发送给靶机,告诉靶机错误的网关,让后续去靶机的流量从攻击机这边走。而后面几个实验更偏向 TCP 层,分别验证了半连接队列被占满导致拒绝服务,伪造 RST 包强行断开 Telnet 连接,以及通过捕获 SEQ/ACK 后伪造数据包向 Telnet 会话中注入创建一个新的文件夹的命令。

这次实验用到的主要工具有netwox、tcpdump、wireshark等。其中netwox是这次的核心工具,不同的编号模块对应不同的攻击功能,比如 80 号用于 ARP 欺骗,86 号用于 ICMP 重定向,76 号用于 SYN Flood,78 号用于 TCP RST,40 号用于构造并注入 TCP 数据包等。而wireshark则是用来观察ARP表的变化、SYN包是否异常增多、RST连接是否重置,用来验证攻击是否真的发生。

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

问题1:SEED虚拟机联通不了外网,访问不了bbs.newsmth.net服务器,做不了实验。

解决办法:查询发现可以ping通整个VMware的网关ip,但是就是ping不通外网,经查询route -n查看路由转发表发现他的默认路由表有问题,会转发到192.168.200.10上去,而设置中没有这个网关,故肯定上不了网。

image-20260404122418032

执行以下操作成功解决:

  1. 删掉错误的网关

    sudo route del default gw 192.168.200.10
    
  2. 添加正确的虚拟机网关

    sudo route add default gw 192.168.200.1
    

    成功ping通bbs.newsmth.net服务器的IP地址。

    image-20260404124026899

    问题2:在做第五个实验任务时,seed虚拟机开启了telnet服务,但是我的kali2021.1客户端确登不上,报错如下图

    image-20260404134727641

    解决办法:这个报错显示成功连接了虚拟机,但是一下就被踢下线了,经核查是刚才实验任务4的netwox 78 模块没有关(太粗心了哈哈哈),导致一建立连接就被掐断了。回到2025.4虚拟机中,ctrl+c关闭刚才的服务,再重新访问就可以正常连上了。

第5次实践:网络安全防范技术

实验内容概括:本次实验旨在深入理解网络安全防范技术,通过配置防火墙等,掌握访问控制和数据包过滤的基本原理与操作方法。

具体实验内容分为以下几个。第一个是防火墙配置,使用 iptables 在 SEEDUbuntu 上过滤 ICMP 请求,让外部主机无法 ping 通靶机;然后又配置了基于 IP 的访问控制,只允许可信主机访问靶机 8080 端口的 Web 服务,拒绝其他主机访问,这里必须确保 ACCEPT 规则位于 DROP 规则之前。第二个是 Snort 入侵检测,用 Snort 对 listen.pcap 抓包文件进行离线分析,根据结果识别到大量 TCP SYN 扫描流量。第三个是蜜网网关规则分析,主要查看 Honeywall 中的 rc.firewall、snort.conf、honeywall.conf 等配置文件,理解蜜网网关如何通过防火墙规则对进出流量进行控制。

这次用到的工具主要有iptables、wireshark、snort等,其中iptables用来配置包过滤规则比如是否丢弃ICMP、是否允许指定IP访问某一个端口,拒绝其他主机访问该端口等。而snort则是一款经典的开源的入侵检测系统,用来分析离线流量文件,判断是否存在TCP SYN Portscan报警以及分析是否存在安全风险。Honeywall的相关配置文件则可以让我们了解蜜网网关的工作原理,有助于帮助我们理解蜜网网关的黑白名单、协议限速、防火墙默认策略和 IDS/IPS 联动机制。

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

问题1:在最初执行离线检测时,发现 Snort 引擎能够完整解析十万余个数据包,但未触发任何告警。经排查运行日志发现,Kali 默认的 local.rules 文件为空(加载前后 Rule count 均为 219)。

解决办法:为此,我深入分析了 listen.pcap 中隐蔽端口扫描的底层逻辑,在AI的帮助下手动编写了一条基于 TCP 标志位异常的检测规则:alert tcp any any -> any any (msg:"TCP SYN Portscan..."; flags:S; sid:1000001;) 并将其追加至本地规则库。再次运行检测引擎后,成功捕获了大量 SYN 扫描行为。

image-20260413231103324

第6次实践:Windows系统攻防

实验内容概括:本次实验旨在学会如何使用Metasploit选择漏洞进行针对性攻击,让我们深入了解了漏洞的原理和利用过程。

具体实验内容有三个。首先利用Windows2000自带的MS08-067漏洞,使用 Metasploit 对 Windows 2000 靶机进行 MS08-067 漏洞攻击,之后选择windows/shell_bind_tcp载荷,设置好靶机和攻击机的IP地址之后,输入exploit进行攻击,攻击之后就能够进入受害靶机的命令行,拿到系统的控制权,执行创建文件夹等命令,便于后续更深入的攻击。第二个实验则是取证分析,使用 Wireshark 分析 学习通上提供的流量文件,还原攻击者和受害者的IP地址,并且还原入侵蜜罐主机的过程,包括 Unicode 目录遍历读取boot.ini、利用 MDAC RDS 漏洞、通过 FTP 下载nc.exe、pdump.exe、samdump.dll,再利用 Netcat 获取 shell 和窃取 SAM 信息等。第三个实验则是模拟我利用MS08-067漏洞对处于同一局域网下的设备进行入侵并且获取它命令行的控制权的过程,同时我在我的电脑上打开wireshark,这样能够捕捉到别人对于我的主机攻击的流程,并且能够通过追踪数据流看到他在控制我的电脑之后在终端中执行了哪些命令。

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

问题:在做实验一的时候,对 Windows 2000 靶机进行 MS08-067 漏洞渗透时,多次遭遇“Exploit completed, but no session was created”的错误提示。在确认网络连通性正常、且靶机未拦截 445 端口的情况下,依然无法建立任何会话?

111

原因分析:

  1. 内存地址偏移与服务崩溃: 靶机为非常古老的 Windows 2000 繁体中文版。由于 MS08-067 是基于内存缓冲区的溢出漏洞,对操作系统的语言和版本极度敏感。Metasploit 默认的“自动目标识别 (Automatic Targeting)”出现偏差,导致溢出后未能成功执行代码,反而直接导致了靶机的 Server 服务(svchost.exe)崩溃假死。
  2. 高级载荷的 API 缺失:靶机版本为最原始的 Service Pack 0 (SP0)。根据视频配置的攻击载荷 windows/meterpreter/... 属于高度现代化的复杂木马。由于 SP0 系统的底层环境过于老旧,缺失运行 Meterpreter 所需的某些现代系统 API 支持,导致木马即使注入成功也会瞬间“死亡”,无法建立连接通道。

解决办法:

  1. 恢复环境: 首先重启 Windows 2000 靶机,恢复其已崩溃的 SMB 服务。

  2. 载荷降级: 放弃功能复杂的高级 Meterpreter,更换为最原始、兼容性最强的基础正向命令行载荷(set payload windows/shell_bind_tcp)。

  3. 精准打击:利用 set TARGET 1 手动锁定通用攻击坐标。

    # 1. 加载作业要求的漏洞模块
    use exploit/windows/smb/ms08_067_netapi
    
    # 2. 【核心修改】抛弃 meterpreter,换成最原始、最轻量级的正向 Shell 载荷!
    set payload windows/shell_bind_tcp
    
    # 3. 设置靶机 IP
    set RHOST 192.168.200.140
    
    # 4. 手动锁定 Windows 2000 通用目标
    set TARGET 1
    
    # 5. 发射!
    exploit
    

    再次执行 exploit 命令后,成功规避了环境不兼容问题,顺利获取了靶机的 C:\WINNT\system32> 基础系统命令行,完成了实验。

第7次实践:Linux系统攻防

实验内容概括:本次实验依然是围绕Metasploit 框架的运用而展开的,只不过攻击目标从Windows变成了Linux。

具体实验内容有两个。首先是利用Linux靶机上的Samba服务Usermap_script安全漏洞,进而获取目标Linux靶机的主机访问权限,启动Metasploit软件,使用exploit选择,选择攻击PAYLOAD为远程shell,之后执行渗透攻击,拿到远程Shell,获取系统的权限。第二个实验和实践6类似,也是网络攻防对抗,只不过这次换成了同一局域网底下的Linux机器。

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

问题:一开始的时候kali2025.4攻击机和Metasploitable靶机一直联通不了,即使把蜜网网关打开也不行,导致无法进行实验。

解决方法:曲线救国,我把Metasploitable靶机复制一个一模一样的,并且取消之前/etc/rc.local里的网络配置文件,并且让他连接到vmnet8网段,自动获取一个ip地址,让他和攻击机在同一个网段内,这样就可以联通了,也方便了此次实验。

第8次实践:恶意代码分析实践

实验内容概括:第8次实验主要围绕恶意代码分析以及网络流量分析展开的,用到的工具繁杂,分析的内容也很多。

具体实验内容如下。前半部分实践主要是对RaDa.exe意代码样本进行分析,包括识别文件类型、判断是否加壳、用脱壳工具生成 RaDa_unpacked.exe,再通过字符串分析找出作者信息和恶意行为。后面还用Windows自带的IDA Pro工具分析了 crackme1.exe 和 crackme2.exe,通过看函数调用图、strcmp 比较逻辑、命令行参数判断和异或解密过程,推出来正确的输入。最后一部分则是分析僵尸网络流量文件,重点看蜜罐主机和 IRC 服务器的通信、参与僵尸网络的主机数量、攻击蜜罐的 IP,以及哪些端口上的攻击真正成功了。

这次实验用到了很多工具,例如file、strings、PEiD、超级巡警脱壳机、IDA Pro、Process Explorer、Wireshark等等。其中file和PEiD是用来判断文件是什么格式以及是否加壳,strings用来从脱壳后的文件里提取可疑的字符串,IDA Pro则是用来分析Crackme的汇编逻辑,wireshark则主要用于分析僵尸网路流量,用来筛选特定端口的数据包情况。

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

问题:在分析实践任务二的时候,对于许多数据包,确定攻击者尝试攻击哪些漏洞以及是否成功的判断方面没有头绪。

解决办法:在和同学讨论以及AI工具的帮助下,分析数据包,逐个端口尝试,根据端口的常见漏洞,逐个筛选分析,最终成功完成了实验。

第9次实践:软件安全攻防--缓冲区溢出和shellcode

实验内容概括:本次实验主要围绕一个Linux的可执行文件展开,核心目标是想办法改变程序原本的执行流程,最后拿到Shell。

具体实验内容尝试了下面几个方法。方法1是先把程序反汇编,找到main、foo、以及getShell三个函数的位置,然后通过手工修改二进制文件,把 main 中原本调用 foo 的指令改成直接跳转到 getShell。方法2是不改文件本身,而是利用 foo 函数里 gets() 没有长度检查的问题,构造 32 字节填充加 getShell 地址的 payload,覆盖返回地址,实现缓冲区溢出攻击。方法3不再依赖程序自带的 getShell,而是自己构造带有 NOP 滑板和 shellcode 的输入,找到栈上 shellcode 的地址,再把返回地址改到这段 shellcode 上执行。

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

问题1:修改主机名后终端前的提示信息还是没有改过来

image-20260507092206329

解决办法:发现这个其实改过来了,需要重新开一个新的终端就可以正常显示了。

image-20260507092609412

问题2:在实验任务1完成进行反编译验证时报错

image-20260507161344607

解决方法:经查询,这个应该是没有转回二进制文件就保存退出了,导致了二进制文件(ELF文件)的底层结构已经被破坏了,需要重新复制原始文件重头来做一次,修改之后也是验证成功了。

问题3:在实验任务2的最后进行Payload攻击的时候,执行perl -e 'print "A" x 32 . "\x7d\x84\x04\x08"' | ./pwn2916xc报如下错误

99fc929d-2b6e-4c7b-a536-4810f6b61961

解决办法:通过AI搜索得知这个是因为出现了段错误,应该是已经成功攻击了,perl 瞬间打印完 36 个字节的恶意字符串,喂给 ./pwn2916xc-2。打印完后,进程立刻结束了。随着 perl 的结束,管道的“输入端”就被关闭了。此时,程序成功跳到了 getShell,并执行了 system("/bin/sh") 尝试打开一个命令行。但弹出的 /bin/sh 命令行刚准备接收输入的指令,却发现输入流已经被 perl 关闭了!它觉得“没事干了”,瞬间退出了。/bin/sh 退出后,getShell 函数继续往下执行准备 ret(返回),但此时栈已经被你刚才的 32 个 'A' 彻底破坏了,它去读了一个非法的地址,最终导致了 segmentation fault(段错误)。解决办法就是为了防止输入流被过早关闭,利用 cat 命令的特性,在 perl 执行完后,强行把输入流“续上”。即把命令修改成如下(perl -e 'print "A" x 32 . "\x7d\x84\x04\x08"'; cat) | ./pwn2916xc-2。最后也是成功解决问题,完成了攻击。

第10次实践:Web应用程序安全攻防

实验内容概括:本次实验主要围绕web应用程序安全展开。主要目的是学习掌握一些web应用程序的常见漏洞。

主要内容有两个。第一个是 SEED SQL 注入攻击与防御实验,先进入 MySQL 查看 Users 数据库和 credential 表,再利用登录页面中的 SQL 拼接漏洞,用 admin' # 绕过密码验证登录后台;之后在个人资料修改页面对 UPDATE 语句进行注入,修改原本不该被普通表单修改的字段。最后通过修改 PHP 代码,使用 prepare 和 bind_param 预编译语句修复 SQL 注入问题。第二个是 SEED XSS 跨站脚本实验,在 Elgg 社交网站中插入 JavaScript,完成弹窗、显示 Cookie、把 Cookie 发送到监听端口、自动添加好友、自动修改受害者资料,最后还实现了一个能够自我复制传播的 XSS 蠕虫。

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

问题1:在一开始装上seed虚拟机时,分辨率特别小,打开浏览器做实验有点不方便。

解决办法:在网上搜寻了,尝试了安装vmtools工具,但是好像是版本太低不兼容,还是没有解决,最后在seed虚拟机的设置的Displays中修改分辨率为1920*768(16:10),这样显示出来就比较正常了。

image-20260512192718793

问题2:在实验任务2的后续实验中,需要粘贴大量的代码,一不小心就出错了,然而vmtools安装不上,做起来很不方面

解决办法:在问了AI之后,发现有云便签这个东西,就是在线网站输入内容,在虚拟机的浏览器打开同样的网址就能看见了。我用的是 https://webnote.cc/ ,后面只要加上任意的域名例如https://webnote.cc/xuchao就可以共享了。

image-20260512202850036

image-20260512203047573

问题3:在2.2.4实验中我编辑了代码但是保存之后并没有成功添加boby为好友,反而只是显示了一段文本

image-20260512204027324

image-20260512204101109

解决办法:通过问AI才发现我插入代码是是富文本编辑器模式,他把我的代码识别成一段文字内容了,我要的是HTML语言,应该在编辑页面点击右上角一个Edit HTML小按钮即可成功。

image-20260512204318548

第11次实践:浏览器安全攻防实践

实验内容概括:这是网络攻防实践课程的最后一个实验。主要围绕浏览器的安全进行的。同时也用到了Metasploit 框架,算是对于前面几次实践知识的一个总结。

具体实验内容包括三大部分。第一部分是Web 浏览器渗透攻击实验,使用 Metasploit 的 MS06-014 模块构造恶意网页,让 Windows 2000 靶机用 IE 访问后返回反向 shell,从而获取系统远程命令执行的控制权。第二部分是网页木马取证分析,从 start.html 一步步找到 new09.htm,再根据 URL 计算 MD5,到老师提供的hashed 目录里找对应文件,之后分析 1299644.js、1.js、b.js、pps.js、bd.cab 等文件,把网页木马的多层加载和下载执行链条完整的还原出来。第三部分是攻防对抗,攻击方使用Metasploit构造出至少两个不同Web浏览端软件安全漏洞的渗透攻击代码,并进行混淆处理之后组装成一个URL,通过具有欺骗性的电子邮件发送给防守方。防守方对电子邮件中的挂马链接进行提取、解混淆分析、尝试恢复出渗透代码的原始形态,并分析这些渗透代码都是攻击哪些Web浏览端软件的哪些安全漏洞。

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

问题1:攻防对抗实践时,利用统一的URL进行访问一直返回不了会话,也抓包不到消息。

解决办法:通过AI的帮助以及同学的解答发现这个是正常的,是旧版 IE 对入口页 JavaScript 的执行或 iframe 动态创建兼容性上有点问题,并且仔细检查之后发现十六进制字符串在从虚拟机中粘贴出来时少粘了一位数字,导致命令长度有些不一样,最后修改了之后也是能够成功的响应/ms06055漏洞并返回会话。

问题2:取证分析实践中不会使用cyberchef软件

解决方法:让AI总结了一下这个软件的常用使用方法以及注意事项,并且对于1.js等文件内容进行解密时实战运用这个软件,遇到问题和同学交流以及问大模型,最终完整的完成了实验。

2.最喜欢且做得最好的实践是哪次?为什么?

在这11次实验中,感觉每次实验都有值得学习的地方,如果非要选择的话,我觉得最有挑战和有意思的应该是第8、9和11这三个实验。实验8让我了一步步的去分析恶意代码,先看文件类型以及是否加壳,在去分析字符串以及注册表,网络地址等信息,同时对于恶意代码的分析过程也出现了许多的问题,不知道该从攻击者是从哪个端口进行攻击的,只能慢慢根据端口筛选数据包然后慢慢分析。而实验9则是通过三种方法去修改那个可执行文件,尤其是第三者方法需要确定的找到Shellcode的真实内存地址,然后自己编一段程序去改变执行流达到攻击效果,还是非常有意思有挑战的。而实验11则是最后一个实验,我感觉难度非常的高,耗费了我大量的时间,博客内容估计是11个实验中最长的。尤其是取证分析实践,一步一步的去分析文件内容,对文件的解密过程以及学习使用Cyberchef耗费了我大精力,但是好在最后在与同学的请教以及AI帮忙分析解密的情况下,最终也是完整的完成了整个实验任务。我深刻的体会到了网络攻防实践的复杂性,分析攻击行为要极为耐心,要不紧不慢的拆开,要有条理的分析,最终一定能找到攻击的源头。当然其他的实验也都十分重要,比如网络攻防环境的搭建等,总之这些实验每一个都各有特色,所有的实验都极大的锻炼了我的实操能力。

3.本门课学到的知识总结

第1次实践:网络攻防实践的搭建

第1次实践主要是熟悉了整个课程的实验环境。后面的漏洞利用、抓包分析、蜜网取证基本都建立在这次环境配置的基础上。

具体知识点总结如下:

  1. 学会了在 VMware 中配置不同的虚拟网络模式,比如 NAT模式、仅主机模式以及桥接模式。仅主机模式只能同一网段内的通信,且默认主机不能上网,而桥接模式就相当于虚拟机获取了一个和宿主机同一网段内的随机IP地址且可以上网,NAT模式则是虚拟机可以通过宿主机的NAT地址转换后上网,但是外部网络不知道该虚拟机的存在也不能访问这个虚拟机。
  2. 理解了攻击区、蜜罐区、控制区之间的关系。攻击区模拟外部的攻击源,蜜罐区模拟被攻击目标,控制区用于管理蜜网网关,实现日志收集与策略配置。而蜜网网关是环境核心,承担透明桥接 + 安全管控功能
  3. 学会了给利用命令行以及图形化界面给虚拟机配置 IP 地址、子网掩码、网关和网卡模式。
  4. 熟悉了 ifconfig、ipconfig、ping、route、tcpdump 等基础命令的使用

由于本科期间未曾接触网络安全,对Linux虚拟机的常用命令和操作也不怎么熟悉,起初花了一些时间学习基础指令和基本操作以及Linux的一些基础内容,之后,跟着视频教程逐步设计网络拓扑图,为每台主机配置网卡和IP地址,并且通过和同学讨论发现视频中的拓扑图设计的不合理,应该把他们设置在不同的网段,然后用蜜网网关链接在一起。通过这次实验,我初步掌握了 VMware 虚拟网络配置、攻击区与蜜罐区网段划分、蜜网网关配置、Linux 基础命令、IP 地址配置、路由与连通性测试等内容,为后续漏洞利用、流量分析和攻防实验打下了基础。

第2次实践:网络信息收集

第2次实践主要是信息收集和漏洞扫描。通过这次实验,我对“渗透测试前期为什么要做踩点”有了比较直观的理解。攻击之前并不是直接使用漏洞,而是先要尽可能了解目标的域名、IP、端口、服务和系统等一些基础信息情况。

具体知识点总结如下:

  1. 学会了使用 whois 查询域名注册信息,了解域名所有者、注册商、DNS 等基础信息。

  2. 使用 nslookup 查询域名解析结果、学会了使用网站查询 IP 归属地,知道 IP 地址可以暴露地理位置和运营商信息。

  3. 掌握了 Nmap 的常用扫描方式,包括主机发现、端口扫描、服务版本识别和操作系统识别。

    Nmap的简单命令包括:

    • 主机存活检测:nmap -sn
    • TCP全连接扫描:nmap -sT
    • 指定端口扫描:nmap -p
    • UDP全端口扫描:nmap -sU
    • 服务版本识别:nmap -sV
    • 操作系统指纹探测:sudo nmap -O
  4. 使用 Nessus 对靶机进行漏洞扫描,了解自动化漏洞扫描工具如何根据端口和服务匹配漏洞,从而自动生成标准化风险报告,为漏洞修复提供明确指引。

这次实验是在搭建好攻防环境后的第一次实验,通过此次实验,我了解到了隐私保护的重要性,通过实验才知道可能生活中和别人打电话这种小事情都可能会泄露自己的IP地址和隐私信息。在实验过程中也遇到了很多困难,比如命令行里打不了字,没有中文输入法,软件源有误下载不了软件等等,折腾了许多方法,把系统删除重装,装最新的kali系统,最终还是成功的解决了。此次实验极大的锻炼了我一些基本网络踩点探测工具的使用以及锻炼了我解决问题的能力。最后在网上搜索的实验中我意识到在信息时代,我们的每一个操作都可能会留下痕迹,因此在日常生活中要更加的注意我们的隐私信息。

第3次实践:网络嗅探与协议分析

第3次实践主要是抓包和协议分析。

具体知识点总结如下:

  1. tcpdump 是一款经典且强大的命令行网络数据包捕获工具,常用的关键参数如下:

    • -i:指定需要监听的网络接口
    • -w:将捕获到的原始二进制数据包流写入指定的 .pcap 文件中,以便后续分析
    • -r:读取并解析已保存的.pcap离线数据包文件
    • -n:强制禁用 DNS 反向解析,直接以数字格式显示 IP 地址
  2. Wireshark 是一款知名的图形化网络协议分析软件。学会了使用 Wireshark 打开抓包文件,分析 HTTP、TCP、ARP、Telnet 等协议数据包。

  3. TELNET是早期的互联网远程登录协议,基于 TCP 传输层协议,默认通信端口为 23。但其所有的交互数据均采用纯明文的方式在网络中裸奔,不具备任何数据加密防线。所以现在基本被更为安全的SSH协议所取代。

  4. 通过分析 SYN、SYN+ACK、RST 等报文,判断端口扫描行为。TCP半开扫描只探测端口是否回应,不建立完整连接,而全连接扫描完整建立TCP连接,再判断端口是否开放,二者对比如下

    对比项 TCP 半开扫描 TCP 全连接扫描
    是否完成三次握手 不完成 完成
    发送最后 ACK 不发送 ACK,发送 RST 发送 ACK
    隐蔽性 相对较好 较差
    是否容易被记录 相对不容易 容易被系统日志记录
    扫描速度 较快 相对较慢
    常见工具 Nmap -sS Nmap -sT
  5. p0f 是一款被动式操作系统指纹识别工具。使用 p0f 可以进行被动操作系统识别,了解通过流量特征判断主机系统的思路。

这次实验用到的主要工具有tcpdump、wireshark以及一些管道命令用来处理抓包后的文件。实验中最有挑战的部分我觉得就是通过Wireshark 过滤条件分析ARP 请求、SYN 包、SYN+ACK 包和 RST 包,进而判断出攻击者使用了TCP SYN 半开扫描。通过这次实验,我对网络协议的理解比以前更具体了。以前学 TCP 三次握手就只是学习了这个过程以及发送的标志位序号应该怎么变化,没有直观的了解,但是通过这次分析wireshark抓包到的文件,通过慢慢解析这个通信过程中的数据包的变化,对于这些书本上学习到的知识就有了更加深刻的认识。

第4次实践:TCP/IP协议攻击

第4次实践主要围绕 ARP、ICMP、TCP 这些基础协议进行攻击实验。

具体知识点总结如下:

  1. ARP 欺骗原理:ARP 协议将 IP 地址动态解析为 MAC 物理地址,系统内会维护一张ARP表,而ARP 协议设计之初缺乏身份认证机制,设备在收到 ARP 响应包时,不会去核实自己是否发送过对应的请求,而是直接更新缓存表。所以攻击者可以针对这个漏洞,伪造 ARP 响应,让靶机把网关 IP 绑定到错误的 MAC 地址。
  2. ICMP 重定向攻击: ICMP 重定向报文本是路由器用来通知主机“网络中存在更优转发路径”的控制信息,从而可以减少不必要的路由跳数。而攻击者伪装成网关,向目标主机发送假的 ICMP 重定向报文,报文内容大致为你要访问目标,最佳路径要先经过我的IP,这样达到了截获报文的目的。
  3. SYN Flood 攻击: SYN Flood 是一种利用 TCP 三次握手机制的拒绝服务攻击。正常情况下,客户端向服务器发送 SYN 请求后,服务器会回复 SYN/ACK,并等待客户端再发送 ACK 来完成连接。而攻击者会在短时间内向目标服务器发送大量伪造源地址的 SYN 请求,使服务器不断为这些半连接分配资源并等待最后的 ACK。由于这些连接不会真正完成,服务器的半连接队列被大量占用,正常用户的连接请求就可能无法被及时处理,从而造成服务无法访问。
  4. TCP RST 攻击: TCP RST 报文本来是 TCP 协议中用于异常中断连接的控制报文,当一方收到合法的 RST 报文后,会立即断开当前 TCP 连接。攻击者如果能够获知或猜测某条 TCP 连接的源 IP、端口号,就可以伪造 RST 报文发送给通信双方中的一方,让其以为对方主动要求断开连接。这样就可以强行中断正在进行的通信,从而达到破坏通信的目的。
  5. Netwox 是一个网络协议测试和数据包构造工具,里面集成了很多编号工具,可以用来生成、伪造和发送不同类型的网络数据包。
    • netwox 80 ARP 欺骗
    • netwox 86 ICMP 重定向
    • netwox 76 SYN Flood
    • netwox 78 TCP RST 攻击
    • netwox 40 构造 TCP 数据包

这次的 TCP/IP 网络协议攻防实践,难度还是挺大的,通过这次实验,我对“协议本身的信任机制”有了更深的理解。以前学 ARP、ICMP、TCP 时,更多觉得它们只是正常通信流程的一部分;但做完实验后发现,很多攻击并不一定需要复杂漏洞,而是利用协议默认信任、缺少认证的特点就可以进行攻击。比如 ARP 收到响应就更新缓存,ICMP 重定向可能改变路由,TCP 只要序列号和确认号对得上就会接受数据。总体来说,这次实验让我意识到,网络安全不只是最上层我们使用的应用的漏洞,而是如果底层协议设计和配置不当,才是最大的风险。

第5次实践:网络安全防范技术

第5次实践偏向防守,主要学习防火墙规则、入侵检测和蜜网网关配置。

具体知识点总结如下:

  1. 学会了使用 iptables 配置 Linux 防火墙规则。iptables 的规则是“自上而下逐条匹配”的。当数据包与某条规则匹配成功后,就会执行动作,不再向下检查,所以配置白名单时顺序不能错。
  2. IDS 入侵检测系统,只负责发现问题上报问题,不会主动阻断攻击。而IPS入侵防御系统它不仅能检测攻击,还能主动处理攻击流量,如拦截恶意流量等。
  3. 学习了 Snort 的基本功能,知道它可以根据规则对流量进行入侵检测。Snort 的规则由“规则头”和“规则选项”组成。实验中我们利用 Snort 对抓包文件进行离线分析,成功提取出了隐藏在大量数据包中的 TCP SYN 隐蔽端口扫描行为。
  4. 查看 了Honeywall 中的 rc.firewall、snort.conf、honeywall.conf 等配置文件,理解蜜网网关如何控制和记录流量。

通过这次实验,我认识到做实验必须十分细致,比如配置白名单访问控制时,ACCEPT 和 DROP 的顺序如果写错就一点用都没有。Snort 一开始没有告警,也不是说明流量没有问题,而是默认的规则库不够全面,我们能做的是结合数据包特征自己进行分析,后来在AI的帮助下手动编写了一条规则然后成功捕获到扫描行为,让我真切感受到了学知识不仅要知其然更要知其所以然。

第6次实践:Windows系统攻防

第6次实践把漏洞利用和取证分析结合在一起。

具体知识点总结如下:

  1. MS08-067 漏洞出现在 Windows 系统的 Server 服务 中,主要和远程调用处理不当有关,攻击者可以针对此漏洞,向目标主机发送特殊构造的数据包,从而拿到系统的Shell控制权。
  2. 理解了 Metasploit 中 RHOST、LHOST、payload、target、session 等参数的含义。
    • RHOST 指的是目标主机 IP
    • LHOST 指的是本机监听 IP
    • payload 是漏洞利用成功后在靶机上执行的载荷
    • target 指的是目标系统类型
    • session 是漏洞利用成功后Metasploit 和靶机之间建立的会话
  3. 对 payload 和 session 的概念更清楚了。漏洞模块本身负责攻打进去,payload 负责攻打进去之后做什么。
  4. 学会使用 Wireshark 过滤指定 IP 之间的通信,例如ip.addr == 攻击机IP && ip.addr == 靶机IP。还学会通过 TCP Stream 查看攻击者输入过的命令和服务器返回内容。

通过这次实验我对于Windows中的系统漏洞有了更加深刻的理解。直观的了解到了如何从一个漏洞中慢慢查看参数然后拿到系统的命令行控制权。而在取证分析实验过程中学习到了,攻击者一般并不会一上来就直接控制系统,而是先确认漏洞,再利用这个漏洞去上传一些文件,下载一些批处理文件。这些都是在后台悄悄进行的,都是不易察觉的,我们只有时刻关注官方公告,及时的更新系统才能避免这些问题。

第7次实践:Linux系统攻防

第7次实践主要针对 Metasploitable 的 Samba 服务进行攻击。

具体知识点总结如下:

  1. Samba 是 Linux/Unix 系统中用于实现文件共享的服务,该漏洞出现在 Samba 对用户名映射脚本的处理过程中,如果服务端配置不当,攻击者可以在用户名字段中插入特殊构造的命令,使 Samba 在处理时执行特定攻击内容。
  2. 学会使用 Wireshark 过滤指定 IP 之间的通信,例如ip.addr == 攻击机IP && ip.addr == 靶机IP。利用Wireshark分析 SMB 会话建立和漏洞触发过程。
  3. Samba 漏洞攻击主要依赖于 SMB 协议,防守方应重点过滤目标主机的 TCP 139 端口或 TCP 445 端口,观察是否有异常的像是包含 nohup、/bin/sh的注入字符串。
  4. 理解了 bind shell 和 reverse shell 的区别。正向连接是被控机器主动打开端口监听,攻击者主动连接被控机器,而反向连接则是攻击者打开端口监听,被控机器主动的去连接攻击者。

通过实验6和实验7两个十分相似的实验,我对于windows系统以及Linux系统的一些漏洞有了更加深刻的认识,学会了如何通过已知的一些操作系统的漏洞进行渗透从而实行攻击行为,同时还掌握了通过wireshark去分析这些渗透的详细过程,极大的锻炼了我的实操能力。

第8次实践:恶意代码分析实践

第8次实践主要涉及恶意代码分析和僵尸网络流量分析。

具体知识点总结如下:

  1. 通过 file 等命令可以快速识别文件的格式、架构及运行平台。
  2. 恶意代码普遍采用加壳技术以对抗静态分析,利用xinXP自带的脱壳工具可以提取有效信息。
  3. 利用 strings 等命令提取脱壳后的可打印明文字符串。
  4. 可以使用PEiD 判断 Windows PE 文件是否加壳。
  5. IDA Pro 是逆向工程的核心工具,通过查看函数调用图和汇编控制流图可以精准定位并还原程序底层逻辑。使用 IDA Pro 分析 crackme1.exe 和crackme2.exe,理解函数调用、字符串比较、条件跳转和异或解密等基础逆向思路。
  6. 僵尸网络是被攻击者远程控制的主机集群,常被用于执行DDoS攻击、窃取信息、发送垃圾邮件等破坏行为
  7. 使用 Wireshark、tcpdump、tcpflow等工具可以分析僵尸网络流量,判断攻击是否成功需结合具体的流量特征分析:单纯的TCP三次握手或RST拒绝包通常为端口扫描;而成功的攻击通常伴随着异常的载荷传输与权限获取。

通过此次实验,我学到的不只是如何利用工具去看文件,明白了分析恶意代码时要一步步进行,不能急于求成,要先看文件类型以及是否加壳,在去分析字符串以及注册表,网络地址等信息。RaDa样本让我直观的看到了一个后门程序在后台可能会做哪些事情,比如检测是否是虚拟机环境,然后复制自己的文件到隐藏的目录,不要脸的往注册表里写入开机自启动的文件,链接远程控制服务器来下载安装包,以及直接开战DDoS攻击等。总之这次实验虽然繁琐复杂,但是也让我学到了很多,受益匪浅。

第9次实践:软件安全攻防--缓冲区溢出和shellcode

第9次实践主要学习 Linux 下的缓冲区溢出

具体知识点总结如下:

  1. 缓冲区溢出漏洞:是 一种高危的软件安全漏洞。其本质是程序在接收用户输入时,未对输入长度进行严格限制,导致超长数据越界写入,覆盖了内存栈中相邻的控制数据从而引发的错误。

  2. 函数调用栈: 在 x86 架构中,函数调用依赖“栈帧”来保存局部变量和返回地址。当函数执行 ret 指令时,CPU 会从栈中弹出之前保存的返回地址加载到指令指针寄存器中。而攻击正是通过计算偏移量,用事先准备好的恶意地址覆盖掉原本的,从而改变函数的执行流。

  3. 攻击载荷(Payload)经典架构:

    一个完整 Payload 通常由四部分构造而成:

    1. 填充数据: 用于填满预分配的缓冲区并覆盖旧的EBP。
    2. 恶意返回地址: 指向后续恶意代码的内存绝对地址。
    3. NOP 滑板: 大量的空指令。用于吸收真实运行环境与调试环境之间的“栈偏移”误差,只要恶意返回地址落在该区域任意位置,CPU 就会安全“滑”入真正的恶意代码。
    4. Shellcode: 一段针对特定 CPU 架构精心编写的纯机器码,要求极简且无坏字符,用于最终夺取系统控制权。
  4. 静态分析与修改工具:

    • objdump:反汇编利器,使用 objdump -d 命令可将二进制机器码翻译为汇编代码,用于梳理程序的逻辑和查找函数入口地址。
    • vim & xxd:结合 Vim 的十六进制模式,可在不破坏 文件格式的前提下,直接在字节级别修改机器码
  5. 动态跟踪与测算工具:

    gdb是Linux 环境下强大的动态调试器。在漏洞利用中,常利用它附加到运行中的进程,通过下断点、查看寄存器和探查内存来定位溢出数据在真实内存中的地址。

  6. 载荷构建与投递工具:

    • perl / python:用于通过命令行脚本将不可见的十六进制机器码精准输出并拼接为 Payload 文件。
    • cat 与 Linux 管道(|):组合使用 (cat payload; cat) | ./程序 是 Pwn 实验的经典手法。第一个 cat 负责攻击,第二个 cat 负责保持输入流不被关闭,从而留住被弹出的交互式 Shell。

这次用的工具主要是一些Linux里面的基础命令。objdump 用来反汇编,查看函数地址和机器指令,perl 用来生成不可直接键盘输入的payload。此次实验通过三种截然不同的方式完成对目标程序的控制权劫持,让我对 x86 汇编和栈内存布局有了具象化的理解。在实验过程中也遇到了许多困难与挑战,例如程序执行权限不够,程序执行出现段错误,执行了却异常终止等等,但是通过AI的帮助我逐渐找到问题的原因,极大的锻炼了我的搜索解决问题以及实际操作的能力,也让我对于理解软件漏洞和防御有了更加深刻的理解。

第10次实践:Web应用程序安全攻防

第10次实践主要是 SQL 注入和 XSS。

具体知识点总结如下:

  1. SQL 注入攻击

    SQL 注入是一种代码注入技术。它的本质是 Web 应用程序没有对用户的输入进行严格的过滤就直接将其拼接到后台的 SQL 数据库查询语句中。攻击者通过精心构造包含 SQL 关键字的输入,强行改变了原本 SQL 语句的语法逻辑,从而欺骗数据库执行恶意指令。

  2. 对 SELECT 语句的注入

    • 登录时接受到用户输入后,后台逻辑通常是 SELECT * FROM users WHERE username='$user' AND password='$password'。
    • 攻击者在用户名处输入 admin' #。
    • 单引号 ' 闭合了前面的字符串;井号 #将后面的密码验证逻辑全部注释掉。最终数据库执行的是 SELECT * FROM users WHERE username='admin',从而实现了在不知道密码的情况下,直接以 admin 身份登录。
  3. 对 UPDATE 语句的注入

    • 在允许修改的字段(如昵称)中输入类似 Hacker', salary='9999999' WHERE username='admin' #。
    • 利用逗号 , 跳出当前字段,强行插入系统中未开放修改权限的敏感字段。同时可以重写 WHERE 条件,甚至跨越权限去修改管理员的密码。
  4. SQL 对抗与防御

    使用预编译语句,预编译机制将 SQL 语句的处理分为两步:先发送 SQL 逻辑框架让数据库编译,相当于固定下来框架了,再将用户输入作为参数填入。此时,即使用户输入了 ' 或 #,数据库也只会把它当成普通的字符串处理,从而避免注入攻击。

  5. XSS 攻击

    XSS 是一种发生在用户浏览器端的注入攻击。攻击者利用网站的漏洞,将恶意的 JavaScript 脚本注入到网页中。当其他正常用户访问该网页时,恶意脚本就会在他们的浏览器中默默执行。它可以窃取受害者的敏感信息、伪造受害者发起请求。

这次Web应用程序安全攻防虽然不是很难,但是步骤繁琐且较多,还是耗费了一点时间去解决遇到的问题的。但是通过此次实验,使得我对于常见的SQL语句有了一些了解与认识,对于SQL注入攻击以及XSS跨站脚本是如何在社交网络中实现指数级病毒式传播的有了更加深刻的认识。使得我的实践能力得到了很大的提高。

第11次实践:浏览器安全攻防实践

第11次实践是最后一次,内容比较综合,涉及浏览器漏洞利用、网页木马分析、脚本解混淆、抓包和攻防对抗。

具体知识点总结如下:

  1. Web 浏览器渗透攻击与服务端攻击的区别

    Web 浏览器渗透攻击与传统服务端攻击不同,属于客户端攻击。服务端攻击主要针对服务器开放的端口和服务,例如 Web 服务、数据库服务、文件共享服务等;而浏览器端攻击主要针对用户主机上的浏览器、插件、脚本解释器或旧版组件。

  2. 主要用到了两个 Metasploit 浏览器端漏洞模块

    模块 对应漏洞 主要攻击对象 实验作用
    exploit/windows/browser/ie_createobject MS06-014 旧版 IE / ActiveX / COM 组件 构造恶意网页,触发 CreateObject 相关漏洞
    exploit/windows/browser/ms06_055_vml_method MS06-055 旧版 IE / VML 组件 构造包含 VML 利用代码的恶意网页

    在 Metasploit 中,浏览器端漏洞利用通常需要设置:

    SRVHOST:恶意网页服务监听地址
    SRVPORT:恶意网页服务端口
    URIPATH:恶意网页路径
    Payload:漏洞触发后执行的载荷
    LHOST:payload攻击机 IP
    LPORT:payload回连端口

  3. CyberChef 工具

    CyberChef 是一个常用的在线数据处理和解码分析工具,常用于网络安全、取证分析和恶意代码分析。它可以完成多种数据转换操作,例如

    • Base64 编码 / 解码;
    • 十六进制转换;
    • 八进制转换;
    • URL 编码 / 解码;
    • JavaScript 转义还原;
    • 哈希计算;
    • 加密 / 解密;
    • 字符串提取;
    • URL 提取;
    • 代码格式化。

    在线使用网址是 https://gchq.github.io/CyberChef ,它可以组合多个操作。把多个解码步骤按顺序拖入 Recipe 区域,然后将未解密内容粘贴到 Input 区,最终在 Output 区查看处理结果。

  4. 网页木马通常不会把完整攻击逻辑直接写在入口页面中,而是采用多层加载方式。常见的加载方式包括如下几种:

    • iframe 隐藏加载其他网页;
    • script 标签加载外部 JavaScript;
    • object 标签或 ActiveXObject 创建控件对象;
    • JavaScript 动态生成 iframe 或 script;
    • 根据目标主机控件环境选择不同二阶段脚本。

通过这次实验,我了解到了网页木马通常具有多层加载、多重混淆、多漏洞探测和多路径投递的特点。因此我们分析此类样本时,不能只查看入口页面,而应结合 MD5 映射、脚本解码、CyberChef、Packer 解包、CAB 解压、字符串提取和反汇编工具,逐层还原完整攻击链路。这次实验,极大的锻炼了我如何分析问题、解决问题的能力,同时认识到对于攻击行为的分析要一步步来,一层一层的剥离开,最终一定能找到攻击的源头。

4.课堂的收获与不足

至此,整个网络攻防课程的实验内容全部结束了,回想一下,感觉这门课真的收获了很多。从最先开始都没有怎么接触过Linux系统,不熟悉一些基础的命令,到后来能够根据老师给的实验目标以及指导视频完整的完成后面那么多复杂的实验,我觉得这本身就是很大的进步,这是我最大的收获之一。

其次针对于这门课程的专业知识来说,我原来以为网络攻击离我们很遥远,以为我们每天用的设备使用的软件都是十分安全的,但是通过这11次实验,我才发现,从最底层的整个网络的协议可能存在漏洞,到我们使用的Windows、Linux操作系统可能存在一些可供入侵的漏洞,包括黑客攻击时使用的某些恶意代码是如何在我们的电脑上存活下来并且下载软件留下后门、繁殖扩散的,再到我们用的软件包括一些web应用,甚至我们每天在电脑上使用的浏览器都可能存在可供攻击的漏洞,这些实验内容虽然不算特别复杂,但是他从搭建攻防环境到网络踩点再到针对各个部分的漏洞进行测试攻击,让我在宏观上认识到了这个网络安全的重要性,也让我在日常生活中更加注重隐私保护以及设备安全。同时这11次实验内容十分丰富,涉及多种网络攻防工具以及软件的使用,详细内容就像第三大点里面总结的那些,这些也对于我日后去维护或者检测自身可能遭受到的安全性问题提供了理论支持,这些学习到的工具以及软件知识是这学期这门课的课程目标,也是我的收获之一。

最后就是在这么多实验过程中,其实并不是一帆风顺的,遇到过许多问题,有些问题可能是自己粗心,打错了一两个字母这种,但是还有很多莫名其妙的问题,在别人电脑上就可以,我自己执行时就报错,但是在和同学的帮助和AI的帮助下最后基本上这些问题都解决了。从中我学会了这个实验不仅仅考验技术,更是要有耐心,要静下心来慢慢思考才能解决。在这个过程中也极大的锻炼了我利用多种途径解决问题的能力。在此我要感谢帮助我排疑解难的老师和同学们,感谢同学们在实验过程中的交流和帮助,很多问题都是在和大家互相讨论、互相提醒中解决的。正是你们的帮助,让我能够顺利完成这 11 次实验,也让我在这门课中收获了实际动手能力与安全意识。今后我会继续保持这种边做边学、遇到问题主动分析主动解决的学习方法,进一步加深对网络攻防技术的理解。

5.参考文献

[1] 诸葛建伟. 网络攻防技术与实践 [M]. 北京: 电子工业出版社, 2011.

[2] SEED Labs. SEED Project [EB/OL]. https://seedsecuritylabs.org/

实验中用到的参考资料与工具

posted @ 2026-05-20 13:56  copyxu  阅读(58)  评论(0)    收藏  举报