20253916 2025-2026-2 《网络攻防实践》课程总结
1.内容总结
第1次实践 网络攻防实验环境搭建:
- 主要是围绕网络攻防实验环境的搭建来完成的。通过这次实验,我对攻击机、靶机、蜜网网关以及不同虚拟网络之间的关系有了比较直观的认识。但真正配置的时候才发现,网络模式选错以后,虚拟机之间就很容易出现无法通信的问题。
- 在实验过程中,其中 VMnet8 主要作为攻击机网段,连接 Kali、WinXP Attacker 和 SEED 虚拟机;VMnet1 作为靶机网段,连接 Metasploitable2 和 Server2k。中间通过 HoneyWall 蜜网网关把两个网段连接起来,使攻击流量能够经过网关转发和监控。Metasploitable2 和 Server2k 需要放在靶机网段,攻击机则需要放在攻击网段,如果配置不一致,就会导致 ping 不通。蜜网网关配置完成后,又通过 tcpdump 监听 ICMP 数据包,并使用 Kali 进行 ping 测试,验证了网关能够捕获通信过程中的网络流量。
- 总的来说,这次实验虽然主要是环境搭建,没有涉及特别复杂的攻击操作,但如果基础网络不通,后面的扫描、攻击、检测和流量分析都无法正常进行。后续实验中如果再遇到连通性问题,也可以按照实验的思路去排查。
第2次实践 信息收集与安全扫描:
- 主要围绕网络信息收集和靶机扫描展开,实验内容包括域名信息查询、IP 地址定位、主机扫描、端口扫描、漏洞扫描以及个人网络足迹排查等几个部分。整体做下来之后,我感觉网络攻击是需要先尽可能了解目标的基本信息,包括域名、IP、开放端口、运行服务以及可能存在的漏洞。
- 在域名查询部分,我选择了 baidu.com 作为目标,通过 Whois 查询、nslookup 等方式获取域名注册信息和对应 IP 地址,并进一步查询 IP 所属位置。在靶机扫描部分,主要使用了 nmap 和 Nessus 两类工具。nmap 更偏向于主机发现、端口扫描和服务识别,可以快速判断靶机是否在线、开放了哪些端口、运行了哪些服务。Nessus 则更偏向漏洞扫描。这次实验中也遇到了一些问题,比如 Kali 虚拟机一开始无法 ping 通百度域名,后来通过重置虚拟网络编辑器并重启虚拟机解决;另外 Nessus 安装时也没有一开始就顺利完成,后面发现 WinXP Attacker 环境中已经带有可用的 Nessus,才继续完成实验。
- 总体来看,这次作业让我对网络信息收集的重要性有了更深的认识。无论是域名查询、端口扫描,还是漏洞扫描,本质上都是在从不同角度收集目标信息。只有掌握了这些基础信息,后续才能进行更有针对性的安全分析。同时,个人网络足迹排查也让我意识到,日常上网过程中留下的信息可能比自己想象的更多,隐私保护意识也需要在平时逐渐加强。
第3次实践 网络嗅探与协议分析:
- 主要围绕网络嗅探和协议分析展开,以前学习 TCP/IP、DNS、端口、协议这些内容时,更多停留在概念层面,而通过 tcpdump 和 Wireshark 抓包后,可以直接看到数据包在网络中的传输过程,也能更清楚地理解协议字段和实际通信之间的关系。
- 在 tcpdump 实践部分,这个过程让我发现,浏览器访问一个网站会涉及域名解析、建立连接、数据传输等多个步骤。通过设置过滤条件,可以从大量网络流量中筛选出和目标访问相关的数据包。刚开始看抓包结果时会觉得比较乱,但慢慢结合源地址、目的地址、端口号等信息去分析,就能看出不同数据包之间的联系。Telnet 在传输过程中不会对用户输入的信息进行加密,因此通过抓包和 TCP 流追踪,可以比较直观地看到交互过程中的内容。后面的取证分析部分是对 listen.pcap 文件进行分析,主要任务是判断攻击主机和目标主机的 IP 地址,识别扫描工具、扫描方式以及目标开放端口等信息。
- 这次实验中也遇到了一些问题,比如一开始看不懂 Snort 的输出结果,不知道哪些属于正常流量,哪些可能代表异常行为;另外,对于如何把 pcap 文件放到虚拟机环境中分析也不太熟悉。后面通过查阅资料和反复尝试,逐渐理解了日志字段的含义,也学会了从流量特征入手判断扫描行为。
第4次实践 TCP/IP协议栈攻击:
- 主要围绕 TCP/IP 协议栈中的典型攻击展开,在 ARP 缓存欺骗实验中,正常情况下,主机会通过 ARP 表记录局域网中 IP 和 MAC 的对应关系,但由于 ARP 协议本身不会严格验证响应信息的真实性,所以攻击者可以伪造 ARP 报文,使目标主机的 ARP 缓存被错误更新。ICMP 路由重定向实验让我理解了路由信息被篡改后可能造成的影响。攻击者如果能够伪造看似合法的重定向报文,就可能诱导目标主机改变原本的通信路径,使流量经过攻击者指定的位置。在 SYN Flood 实验中,TCP 建立连接时需要维护半连接状态,如果攻击者持续制造大量异常连接请求,就可能占用服务器资源,导致正常用户连接变慢甚至无法访问。
- 这次实验中也遇到了一些环境配置问题,比如不同虚拟机不在同一网段时,Telnet 连接无法正常进行;还有 ICMP 重定向过程中,路由表一开始没有及时变化,需要通过实际访问网络触发更新。
- 总体来说,实践4让我对 TCP/IP 协议的安全问题有了更完整的认识。很多攻击手段表面上看是工具操作,实际上本质都是利用协议机制中的弱点。通过这次实验,我也明白只有理解攻击原理,才能更好地理解防御机制的意义。
第5次实践 防火墙与入侵检测:
- 主要围绕防火墙配置和入侵检测展开,整体上更偏向防御视角。在 iptables 部分,通过配置规则,可以让主机不再响应 Ping 请求,也可以限制只有指定主机能够访问某个网络服务。在 Snort 实验中,我使用它对给定的 pcap 文件进行离线检测,并通过报警日志识别其中的 TCP 扫描等异常流量。相比前面单纯用 Wireshark 人工分析数据包,Snort 更像是自动化的入侵检测工具,可以根据规则快速发现可疑行为。
- 最后,我还分析了蜜网网关中的防火墙和 IDS/IPS 配置。防火墙主要负责流量控制,IDS/IPS 则负责攻击检测和部分拦截,两者配合起来,既能记录攻击过程,也能限制蜜罐被进一步利用。总体来说,这次实验让我认识到网络安全不是只发现漏洞,更重要的是如何监控、过滤和控制风险。
第6次实践 windows系统安全攻防:
- 主要围绕漏洞利用和攻防对抗展开,实验中首先使用 Metasploit 对靶机漏洞进行验证,体会了漏洞搜索、模块配置、载荷选择和权限获取的大致过程,也更直观地认识到远程代码执行漏洞的危害。
- 随后,通过分析 NT 系统攻击的 pcap 流量文件,我学习了如何从网络数据中还原攻击者的行为,比如漏洞探测、文件下载、命令执行和后续操作等。、
-最后的团队对抗实验让我同时体验了攻击方和防守方的视角。攻击方需要完成连通性测试和漏洞利用,防守方则需要通过 Wireshark 观察流量并分析攻击行为。总体来说,这次实验让我对“攻防一体”有了更实际的理解,也认识到后续还需要加强对复杂流量分析和漏洞利用原理的学习。
第7次实践 linux系统安全攻防:
- 主要是围绕 Linux 系统远程渗透和攻防对抗完成的。实验中通过 Metasploit 对 Linux 靶机中的 Samba 服务漏洞进行验证,了解了漏洞模块选择、载荷配置、参数设置和远程 Shell 获取的大致流程。直观地感受到 Linux 服务漏洞利用的特点,也认识到服务配置不当会带来比较严重的安全风险。
- 在攻防对抗部分,一方面从攻击角度完成了漏洞验证,另一方面也从防守角度使用 tcpdump、Wireshark 和 Snort 对攻击流量进行捕获和分析。通过观察攻击机、靶机、端口和协议交互过程,对攻击发生后如何留下痕迹有了更具体的理解。
第8次实践 恶意代码与僵尸网络:
- 主要围绕恶意代码分析和网络溯源展开。实验中先对 RaDa 恶意代码样本进行了文件识别、脱壳和字符串分析,了解了恶意代码常见的隐藏方式,以及如何从文件结构和关键字符串中判断其功能特征。随后,通过 IDA Pro 分析 Crackme 程序,我对静态逆向分析有了初步认识。这个过程不是简单运行程序,而是要从字符串、判断逻辑和程序流程中推测正确输入,比较考验耐心和逻辑分析能力。
- 最后,通过分析僵尸网络相关流量,我进一步理解了 IRC 协议、僵尸网络控制方式以及蜜罐日志在攻击溯源中的作用。总体来看,这次实验让我从漏洞利用转向恶意代码和取证分析。
第9次实践 缓冲区溢出与Shellcode注入:
- 主要围绕 Linux Pwn 基础漏洞利用展开。实验对象是一个 Linux 可执行文件,通过分析程序结构,分别尝试了修改机器码、利用缓冲区溢出覆盖返回地址,以及注入 Shellcode 三种方式来改变程序执行流程。这次实验让我对二进制程序的底层执行有了更直接的认识,尤其是函数调用、栈结构、返回地址和程序控制流之间的关系。相比前面的网络攻击实验,这次更偏向底层漏洞分析,需要结合反汇编、调试和内存布局来理解问题。总体来看,发现自己在栈偏移计算、Shellcode 理解和调试分析方面还需要继续加强。
第10次实践 sql注入与xss防御:
- 主要围绕 Web 安全中的 SQL 注入和 XSS 跨站脚本攻击展开。SQL 注入部分基于一个员工管理系统进行实验,先熟悉数据库表结构和基本查询语句,再观察 Web 应用在登录、信息更新等功能中如何与数据库交互。如果后端程序直接把用户输入拼接到 SQL 语句中,就可能导致身份验证绕过或用户数据被非法修改。后面通过输入过滤、参数化查询等方式进行修复,防御 SQL 注入的关键不是简单限制某些字符,而是要让用户输入和 SQL 执行逻辑彻底分离。
- XSS 部分是在 Elgg 平台中完成的,主要分析用户输入内容被网页直接解析执行后可能带来的风险。实验中涉及存储型 XSS 的触发、Cookie 信息暴露、用户资料被自动修改以及蠕虫传播等现象。最后通过 HTML 转义、脚本过滤等方式进行防护,进一步说明 Web 安全需要从输入处理、输出显示、会话保护和权限控制等多个方面共同考虑。
第11次实践 浏览器攻击与网页木马取证:
- 主要围绕 Web 浏览器漏洞和网页木马攻击展开。先基于老旧 IE 浏览器漏洞进行了浏览器渗透攻击演示,通过构造实验环境中的恶意网页,让靶机访问后触发漏洞,从而理解浏览器端漏洞被利用的基本过程。后面的取证分析部分主要是对网页木马攻击链进行逐层分析。通过查看 HTML 页面、分析隐藏 iframe、计算哈希值、还原混淆脚本等方式,可以一步步追踪恶意代码的加载过程,找到攻击者真正想下载和执行的文件。
- 最后的攻防对抗实验让我从攻击和防守两个角度理解了浏览器漏洞利用。攻击方会通过混淆代码和伪装链接隐藏真实意图,而防守方则需要从网页源码、脚本特征和访问链路中还原攻击过程。
2.最喜欢且做得最好的实践是哪次?为什么?
- 我最喜欢,同时也觉得自己做得比较好的一次实践是实践十,也就是 Web 安全里面的 SQL 注入和 XSS 跨站脚本实验。主要原因是这次实验和我自己的学习背景比较接近。我本科是信息管理与信息系统专业,之前接触过数据库操作、网站搭建、网页表单、后台数据交互这些内容,所以相比二进制漏洞、缓冲区溢出或者浏览器漏洞利用这类更偏底层的实验,实践十对我来说理解起来更顺一些,也更容易把实验现象和以前学过的知识联系起来。
- 在 SQL 注入部分,我觉得自己做得比较好。因为数据库查询、表结构、字段含义这些内容以前本科阶段就学过,所以在进入 Users 数据库、查看表内容、理解登录验证逻辑的时候,我是能大概理解它为什么会出问题。这个实验让我印象比较深的一点是,Web 应用如果直接把用户输入拼接进 SQL 语句中,就可能导致身份验证被绕过,甚至影响数据库中已有的数据。以前学习数据库时,更多关注的是怎么查、怎么改、怎么设计表;这次实验让我换了一个角度去看数据库操作,也就是不安全的数据库交互方式会带来什么后果。
- XSS 部分我也比较喜欢,因为它和网站搭建、前端页面显示这些内容联系很紧。以前做网页时,可能更多考虑页面能不能正常显示、功能能不能实现,但这次实验让我意识到,用户输入的内容如果没有经过处理,直接显示到页面上,就可能被浏览器当成脚本执行。通过这个过程,我对输入过滤和输出转义这两个概念理解得更具体了。
- 我觉得实践十做得最好,不是因为它最难,而是因为我在这次实验里能把原来学过的数据库和网站知识用起来。前面的实验比如网络扫描、漏洞利用、Pwn 实验也有收获,但有些内容对我来说更偏陌生,需要先理解工具和底层原理。而实践十更像是在我原有知识基础上往安全方向扩展,让我看到一个网站从能用到安全可用之间其实还有很大差距。通过这次实验,我对 Web 应用中的数据库操作、表单提交、用户输入处理和页面脚本执行都有了更完整的认识,也更加理解网络攻防实践里“攻”和“防”必须结合起来看。
3.本门课学到的知识总结
3.1 安全加固和检测技术
- 安全加固和检测技术是这门课贯穿比较明显的一条线,尤其是在第2次、第5次以及后面几次攻防对抗实验里体现得比较多。第2次实践中,我主要接触了 Whois、nslookup、ping、nmap 和 Nessus 这些信息收集与漏洞扫描工具。刚开始我只是把 nmap 当成一个“扫端口”的工具,但做完实验以后才发现,它不只是显示端口开没开,还能帮助判断主机是否存活、服务类型、服务版本,甚至能辅助判断操作系统类型。Nessus 的作用则更偏向漏洞检测,它可以把开放端口和服务版本进一步对应到可能存在的安全问题上,比单纯看端口信息更进一步。
- 第5次实践中,我又从防守角度学习了 iptables 和 Snort。iptables 让我理解了主机层面的访问控制,比如过滤 ICMP 数据包、限制某个 IP 访问指定服务等。这个过程让我意识到,安全加固并不一定是很复杂的事情,很多时候先把不必要的端口关掉、把访问来源限制好,就能降低一部分风险。Snort 则让我第一次比较清楚地接触到入侵检测,尤其是通过规则匹配和日志告警来识别异常流量。后面分析蜜网网关规则时,我也理解了防火墙和 IDS/IPS 是怎么配合工作的:防火墙负责流量控制,IDS 负责发现问题,IPS 则更偏向实时阻断。
- 整体来看,安全检测不是扫完漏洞就结束,而是要根据扫描结果做后续处理。比如发现开放端口后,要判断它有没有必要开放;发现服务版本较旧,就要考虑补丁更新;发现异常流量,就要结合日志和规则判断是否需要封禁或调整策略
3.2 Web安全技术
- Web 安全是我个人理解最深的一部分,主要对应第10次实践,也和我本科信息管理与信息系统的背景比较贴近。第10次实践中,我做了 SEED SQL 注入和 XSS 跨站脚本攻击实验。因为我之前学过数据库操作和网站搭建,所以在这部分实验中,我能比较快地理解 Web 表单、数据库查询、后台处理逻辑之间的关系。SQL 注入实验让我看到,用户在输入框中提交的内容,如果后端程序没有处理好,直接拼接进 SQL 语句中,就可能改变原本的查询逻辑,造成身份验证绕过或者用户信息被修改。
- 我对 SQL 注入的理解从输入特殊字符变成了用户输入影响了数据库语句结构。以前学习数据库时,主要关注 SELECT、UPDATE、WHERE 这些语句怎么写,但这门课让我从安全角度重新看这些语句。比如登录功能本来应该验证用户名和密码,但如果代码里直接拼接输入内容,就可能让数据库执行了开发者没预料到的逻辑。后面做防御时,我也理解了参数化查询的重要性,它的核心就是把 SQL 语句和用户输入分开,不让输入内容变成 SQL 代码的一部分。
- XSS 部分则让我理解了前端输入和页面输出的风险。实验中,用户资料里的内容如果没有经过转义处理,就会被浏览器当成脚本执行,从而影响 Cookie、好友关系、个人资料等。这个过程让我意识到,网站安全不只是后端数据库的问题,前端页面显示也很重要。Burp Suite 和 Sqlmap 虽然没有作为我实验里的重点工具,但通过 SQL 注入和 XSS 实验,我能理解它们的作用场景:Burp 更适合拦截和分析 HTTP 请求,Sqlmap 更适合自动化检测 SQL 注入。总体来说,第10次实践让我对 Web 应用从“能运行”到“安全运行”之间的差距有了比较真实的体会。
3.3 逆向分析技术
- 逆向分析技术主要体现在第8次和第9次实践中。第8次实践中,我分析了 RaDa 恶意代码样本,并使用了 Exeinfo PE、strings、脱壳工具和 IDA Pro 等工具。分析一个可疑程序时,不能一上来就直接运行,而是要先判断文件类型、运行平台、是否加壳,再通过字符串和静态分析去找程序可能的行为。比如通过 strings 可以看到一些可疑路径、URL、命令或者函数调用,通过 IDA Pro 可以进一步看程序逻辑和关键分支。这些内容让我第一次比较系统地接触到恶意代码分析的基本流程。
- 第8次实践中的 Crackme 分析也让我对逆向有了更直接的认识。Crackme 程序表面上只是要求输入正确内容,但背后其实是程序通过条件判断来决定是否输出成功信息。用 IDA Pro 查看字符串、跳转逻辑和函数调用后,我才意识到程序运行结果并不是黑盒,只要能看懂代码逻辑,就可以反推它想要的输入。这一点对我来说挺有启发,因为它让我明白逆向分析是通过程序结构和逻辑来分析结果。
- 第9次 Pwn 实验也和逆向有关,虽然它更偏二进制漏洞利用。通过 objdump、gdb 等工具查看 ELF 文件中的函数地址、栈结构和返回地址,我对程序底层执行过程有了更直观的理解。以前我对汇编、寄存器、栈这些概念理解得比较抽象,但这次实验让我看到,函数调用、返回地址、缓冲区这些内容如果处理不当,就可能改变程序执行流程。
3.4 主流代码审计技术
- 代码审计主要体现在第10次 Web 安全实践和第11次浏览器漏洞分析实践中。第10次实践里,我查看了 Web 应用中和登录、信息修改相关的 PHP 处理逻辑。
- 在 SQL 注入部分,代码审计的重点是看用户输入如何进入 SQL 语句。如果输入没有经过参数化处理,而是直接拼接,那么就可能产生注入风险。在 XSS 部分,重点则是看用户输入如何显示到页面上。如果输出时没有做 HTML 转义,浏览器就可能把输入内容当作脚本执行。这让我对“输入点”和“输出点”有了更敏感的意识。以后看代码时,我会更注意用户可控数据从哪里来、经过了哪些处理、最后进入了数据库、命令执行函数,还是页面输出位置。
- 第11次实践中,我分析网页木马和混淆脚本,也用到了类似代码审计的思路。需要阅读 HTML、JavaScript 和嵌套脚本,判断代码是否加载了外部资源、是否进行了混淆、是否触发了浏览器组件漏洞。通过这些实践,我理解了代码审计不只是看语法错误,而是要结合业务逻辑和安全风险去看。危险函数、未过滤输入、脚本动态拼接、外部资源加载,这些都可能是审计时需要重点关注的位置。
3.5 程序设计
- 程序设计方面,这门课并不是让我从零开发一个完整项目,而是让我在不同实验中接触到多种语言和脚本的安全含义。第10次实践涉及 SQL、PHP 和 JavaScript,这和我本科阶段学习过的数据库和网站搭建内容联系比较紧。PHP 后端处理逻辑也是一样,表单数据能接收到是一方面,能不能安全处理又是另一方面。
- 第9次实践让我接触到了 C 程序和底层程序设计中的安全问题。缓冲区溢出实验让我认识到,程序设计时如果不检查输入长度,就可能导致栈空间被覆盖,甚至影响程序执行流程。第8次 Crackme 逆向也让我看到,程序中的条件判断、字符串比较、函数调用这些很基础的设计,在安全分析中都会成为重点。
- 此外,在第3次、第5次、第8次和第11次实践中,我也接触了一些命令行处理和简单脚本思路,比如处理 pcap 文件、筛选日志、计算哈希值、还原混淆内容等。如果以后想提高效率,就需要用 Python 写一些自动化脚本,比如批量请求、日志分析、协议解析或者漏洞验证辅助工具。
3.6 计算机病毒技术
- 计算机病毒和恶意代码相关内容主要集中在第8次、第10次和第11次实践。第8次实践中,我分析了 RaDa 恶意代码样本。通过文件识别、脱壳、字符串提取和行为分析,我了解到恶意程序可能会复制自身、修改注册表、连接远程地址、上传或下载文件,甚至执行远程指令。
- 第8次实践中的僵尸网络分析也让我对 botnet 有了更实际的认识。通过分析 IRC 通信和蜜罐日志,可以看到受控主机和控制端之间如何建立联系,攻击者又是如何利用这些主机进行扫描、DDoS 或其他操作的。第10次实践中的 XSS 蠕虫则让我意识到,恶意代码不一定都是传统可执行文件,网页脚本也可能实现自我传播。它会利用网站对用户输入处理不严的问题,把脚本复制到其他用户页面中,从而扩大影响范围。第11次实践中的网页木马分析让我看到,恶意代码还可以通过网页进行分层隐藏。攻击者可能先放一个看似普通的页面,再通过 iframe、混淆脚本、浏览器漏洞和远程下载一步步完成攻击。通过这些实验,我对计算机病毒和恶意代码的传播方式、隐藏方式和分析方法都有了更真实的理解。
3.7 网络溯源及防范技术
- 网络溯源主要对应第3次、第5次、第6次、第8次和第11次实践。第3次实践中,我通过 Wireshark 和 tcpdump 分析 pcap 文件,从网络流量中判断攻击主机、目标主机、扫描工具和开放端口。攻击行为发生之后,并不是完全没有痕迹,很多信息都能在数据包里找到。源 IP、目的 IP、端口、协议、时间顺序和 TCP 标志位,都可以成为分析攻击过程的依据。
- 第5次实践中,Snort 的报警日志让我对入侵检测有了进一步认识。它可以根据规则识别流量中的异常行为,比如扫描、探测、异常连接等。第6次实践中的 NT 系统攻击取证分析让我学习到如何从流量文件中还原攻击者的行为,包括最初的漏洞利用、后续下载文件、执行命令等。第8次僵尸网络流量分析,则更偏向从大量通信中找出 IRC 服务器、访问主机和可疑攻击来源。第11次网页木马分析也很典型,需要从网页跳转、脚本加载、文件哈希和下载链路中还原攻击链。
- 通过这些实践,我认识到网络溯源是要结合多方面证据。攻击源 IP 可能只是表面信息,还要看攻击时间线、协议类型、请求内容、文件哈希、日志告警和主机行为。防范方面,除了封禁 IP,还要及时修补漏洞、关闭不必要服务、部署防火墙和 IDS/IPS、保存日志、配置合理的告警规则。
3.8 加密解密技术
- 加密解密技术在这门课中不是以 AES、RSA 这种系统密码学实验形式出现的,但在第8次和第11次实践中,我接触了很多哈希、编码、混淆和解码相关内容。第8次实践中,我使用 MD5 摘要来识别 RaDa 恶意代码样本,通过文件哈希确认样本的唯一性,也通过字符串提取、脱壳和 IDA 分析来还原程序隐藏的信息。
- 第11次网页木马分析中,哈希和解码的作用更明显。实验中需要根据 URL 计算 MD5,去对应的样本文件中找到真正的恶意脚本或可执行文件。同时,网页木马中的脚本往往经过混淆、编码或多层跳转,不能只看表面内容,需要逐层还原。
- 第10次实践中的 Token、Cookie 和会话信息也让我接触到身份认证和完整性保护方面的内容。它和安全认证密切相关。总体来说,这门课让我对 MD5、哈希校验、编码转换、脚本混淆、会话 Token 等内容有了实践层面的认识。
3.9 信息系统运行维护
- 信息系统运行维护主要体现在第1次、第5次、第10次以及部分漏洞利用实践中。第1次实践中,我完成了整个个人版网络攻防实验环境搭建,包括 VMware 虚拟网络、攻击机、靶机、SEED 虚拟机和蜜网网关。比如 NAT 模式、仅主机模式、VMnet1、VMnet8、IP 地址、子网掩码、网关配置,这些内容如果有一个地方错了,后面的实验就可能无法连通。
- 第5次实践中,信息系统维护更多体现在防火墙和入侵检测服务配置上。比如 iptables 规则配置、Snort 日志输出、蜜网网关规则查看等,都需要熟悉 Linux 命令和服务管理。第10次实践中,我还接触了 Apache 和 MySQL 服务,如果 Apache 没有启动,Web 实验页面就无法访问;如果 SQL 语句格式错误,数据库操作也会失败。这些问题虽然看起来比较基础,但在实际实验中很容易影响进度。通过这些实践,我觉得自己对 Linux 命令、服务启动、配置文件修改、网络连通性排查和日志查看更加熟悉了。
3.10 网络协议分析
- 网络协议分析是这门课中非常重要的一部分,主要对应第3次、第4次、第8次、第10次和第11次实践。第3次实践中,我使用 tcpdump 和 Wireshark 对网页访问、Telnet 登录和 pcap 文件进行分析。通过抓包可以看到源 IP、目的 IP、端口号、协议类型、TCP 流等内容,也能看到 Telnet 这类明文协议为什么不安全。
- 第4次实践中,我进一步从攻击角度理解 ARP、ICMP 和 TCP 协议。ARP 欺骗让我认识到局域网中 IP 和 MAC 地址映射如果缺少验证,就可能被伪造;ICMP 重定向让我看到路由信息如果被欺骗,流量路径可能发生变化;SYN Flood、TCP RST 和会话劫持则让我更直观地理解 TCP 协议在连接建立、连接维持和异常关闭方面的安全问题。
- 第8次实践中的 IRC 僵尸网络分析、第10次 Web 安全中的 HTTP 请求参数和 Cookie、第11次网页木马中的页面跳转、脚本加载和文件下载,都进一步扩展了我对协议的认识。网络协议不是单独存在的,它会和系统、浏览器、数据库、恶意代码结合起来。
3.11 数据库
- 数据库部分主要对应第10次实践,也是我相对熟悉的一部分。在第10次 SQL 注入实验中,我能更快理解数据库表结构、字段含义和查询逻辑。实验中通过 Users 数据库和 Credential 表,我重新熟悉了 SELECT、UPDATE、WHERE 等基本 SQL 操作,也理解了 Web 应用登录、信息修改这些功能背后是如何和数据库交互的。
- 这次实践让我最大的收获是从安全角度重新认识数据库。在 SQL 注入实验中,我看到如果程序直接拼接用户输入,数据库就可能执行非预期的语句,从而造成身份绕过、数据篡改等问题。也就是说,数据库本身不只是数据存储工具,它也是信息系统安全的重要环节。
- 在修复部分,我理解到参数化查询、输入校验、权限控制、敏感信息保护都属于数据库安全的一部分。比如普通用户不应该拥有过高权限,程序也不应该把详细错误信息直接返回给用户。通过这次实验,我把本科阶段学过的数据库知识和网络安全结合了起来。
3.12 法律
- 法律方面虽然没有单独作为某一次实践来展开,但我觉得它贯穿了整门课程。因为这门课中涉及很多真实攻防技术,比如信息收集、端口扫描、漏洞利用、抓包分析、恶意代码分析、SQL 注入、XSS、浏览器漏洞利用等。这些技术本身是中性的,在授权实验环境里使用是为了学习原理和提升防御能力;但如果脱离授权环境,对真实网站、真实主机或者他人账号进行扫描、攻击、抓包,就可能涉及违法违规。
- 结合我国网络安全相关法律,像《网络安全法》《数据安全法》《个人信息保护法》都提醒我们,网络安全学习不能只看技术,还要看责任。安全测试必须有授权,数据处理必须有边界,个人信息不能随意获取和传播。
3.13 基础
计算机组成、OS、计算机网络、数据结构基础知识(自由发挥)
5.课堂的收获与不足
不建议用LLM写和优化(否则分数就给LLM了)。
6.参考文献
参考文献1
参考文献1

浙公网安备 33010602011771号