在网络安全攻防的宏大版图中,信息收集(Reconnaissance)往往被视为决定胜负的关键第一步。许多初学者习惯性地依赖 Nessus、Nmap 等成熟的商业或开源工具,却忽略了“黑盒”背后所蕴含的基础网络原理。本课程《Python信息安全编程之信息收集》正是为了填补这一认知空白而生,它不仅仅是一门教授 Python 语法或 scapy 库用法的代码课,更是一场从底层报文层面重塑网络侦查思维的深度训练。
课程开篇并未急于进入复杂的攻击脚本编写,而是先通过“类和对象”等面向对象编程基础概念的梳理,为后续的渗透测试脚本开发打下坚实的语言基础。这种设计体现了鲜明的教学理念:工欲善其事,必先利其器,而“利其器”的前提是深刻理解工具的构建逻辑。在此基础上,课程核心聚焦于 Python 中极为强大的数据包处理库——scapy。
通过 scapy,学员将不再是将 Nmap 视为一个不可解析的黑盒,而是亲手拆解网络通信的本质。从构造 ARP 包开始,课程逐步引导用户理解二层网络中的地址解析机制。当学员亲自编写代码发出 ARP 请求并接收响应时,他们看到的不再是屏幕上一行行滚动的 IP 地址,而是以太网帧在局域网中真实流转的过程。这种从原理到实现的闭环学习,使得后续关于 ARP 欺骗脚本的编写变得顺理成章且易于深入理解。
在掌握基础的发包与收包机制后,课程内容迅速切入实战场景。ARP 欺骗不仅仅是理论上的中间人攻击演示,更延伸至 MAC 泛洪攻击这样典型的交换机拒绝服务场景,帮助学员理解网络防御设施在极端流量下的脆弱性。此外,课程并未止步于 Python 原生代码,而是巧妙地将 subprocess 模块与 arping、netdiscover 以及 nmap 等经典工具相结合。这种“Python + 传统工具”的混合编程模式,既保留了底层控制的灵活性,又兼顾了工程实现的效率,是实际渗透测试工作中极具实用价值的技能组合。
对于希望在 Python 信息安全领域深耕的学习者而言,这门课程的价值在于它打通了“网络协议理论”、“Python 编程能力”与“安全工具应用”三者之间的壁垒。它适合那些不满足于只会调用命令,渴望掌握信息收集核心技术原理,并希望通过编程手段实现定制化探测任务的进阶学习者。通过本系统的学习,你将建立起一种基于底层视角的安全思维,这对于后续进行更深层次的漏洞挖掘与渗透测试至关重要。
课程目录
1-1 [课程介绍] 课程介绍 (21:40) 1-2 [课程介绍] 类和对象 (23:21) 2-1 [scapy模块的使用] 利用scapy模块构造ARP包 (18:43) 2-2 [scapy模块的使用] scapy中的发包和收包 (24:35) 2-3 [scapy模块的使用] 构造并发送ARP欺骗包 (15:17) 2-4 [scapy模块的使用] 编写ARP欺骗脚本 (22:56) 2-5 [scapy模块的使用] MAC泛洪攻击 (19:05) 2-6 [scapy模块的使用] 二层发现的原理及arping的使用 (10:13) 2-7 [scapy模块的使用] 利用subprocess模块调用arping (17:17) 2-8 [scapy模块的使用] 利用netdiscover和nmap实现二层发现 (17:53) 2-9 [scapy模块的使用] ARP扫描脚本分析(一) (14:33) 2-10 [scapy模块的使用] ARP扫描脚本分析(二) (18:12) 2-11 [scapy模块的使用] 三层发现 (20:48) 2-12 [scapy模块的使用] TCP协议与三次握手 (24:03) 2-13 [scapy模块的使用] 利用TCP实现四层发现 (14:37) 2-14 [scapy模块的使用] 利用UDP和nmap实现四层发现 (21:01) 2-15 [scapy模块的使用] TCP端口扫描 (22:01) 2-16 [scapy模块的使用] UDP端口扫描 (19:47) 3-1 [socket模块的使用] 基本socket服务端脚本 (25:46) 3-2 [socket模块的使用] socket脚本改进(一) (17:13) 3-3 [socket模块的使用] socket脚本改进(二) (21:23) 3-4 [socket模块的使用] 编写自己的Shell (06:41) 3-5 [socket模块的使用] socket端口扫描 (19:58) 3-6 [socket模块的使用] UDP通信 (04:28) 4-1 [指纹识别和nmap模块的使用] 利用banner和nmap进行服务识别 (12:07) 4-2 [指纹识别和nmap模块的使用] 利用TTL和nmap进行操作系统识别 (15:17) 4-3 [指纹识别和nmap模块的使用] nmap模块的基本使用方法 (18:53) 4-4 [指纹识别和nmap模块的使用] 操作系统识别脚本 (11:27)





