这门课解决什么工作场景

Nmap 是网络运维和安全排查里用得极多的扫描器,但日常用它的方式多半是敲命令行、看文本报告。一旦要批量核查几百台机器、把结果归档进数据库,或者按公司内部格式出报表,纯手工操作就不够用了。这门课的主题是把 Nmap 封装成 Python 可调用的对象,让扫描动作能写进自动化脚本里。它解决的具体场景是:周期性巡检机房存活主机、批量核对防火墙策略变更后哪些端口意外开放、把扫描结果直接喂给后续的资产台账系统。如果你平时的工作只是偶尔用 Nmap 查单台服务器,手动看一眼输出就行,这门课的投入产出比不高;但如果你要处理成网段的资产、或者做安全基线检查,把扫描固化成脚本就是绕不开的一步。

适合什么基础,建议先看哪几块

这门课不适合完全没碰过 Python 的人。它默认你已经能独立写简单的循环、函数,知道怎么装第三方库、怎么读异常信息。对 Nmap 本身,你至少要会用 nmap -sV 这类常见参数,理解端口状态返回值的含义,否则讲到调用底层扫描选项时会卡住。课程结构是前半段拆库的核心类,后半段全做案例脚本,建议你不要按顺序看,而是先跳到后半段的“主机存活性检测”和“开放端口状态检测”这两个案例。这两个场景最贴近日常巡检,代码量小,能让你快速跑通一次扫描并拿到结构化数据。跑通之后,再回头去看前半段里 PortScanner 类的代码分析,理解对象初始化、扫描进度回调、结果对象怎么取值。至于 PortScannerAsync 和 Yield 两个类,涉及并发和生成器,等你有批量扫整个网段的需求时再看,初学阶段不用死磕。课程里调用 NSE 脚本和检测特定漏洞的那部分,属于安全方向偏窄的内容,运维人员可以略过,转行做安全的人则建议重点看,因为实际漏扫任务里很少只看端口,多半要结合 NSE 做服务指纹和已知漏洞的批量探测。

学完能独立做什么,资料怎么配合练习

学完之后,你应该能独立写出这样几个工具:一个接受 IP 列表文件、自动跑完扫描并把结果存成 CSV 的巡检脚本;一个对比两次扫描结果、输出新增开放端口差异的变更检查脚本;一个按指定参数组合批量探测目标网段的自动化任务。这些不是课程里直接现成给的,而是你要基于讲到的案例自己改出来。练习时有个前提必须遵守:只在有授权的环境里测,自己搭几台虚拟机,或者用专门留的靶机,不要拿公司生产网练手,Nmap 的某些参数组合在网络里会产生明显流量,容易被监控设备告警。看视频时把代码跟着敲一遍,不要直接拷贝,因为敲的过程才会暴露你环境里 Nmap 版本和课程不一致导致的参数差异。每跑通一个案例,就改一下它的输入源,比如把单机改成读文件、把固定参数改成从配置里取,这样改过两三次,这套库的用法才算真正落到你自己的工具箱里,而不是停留在跟着视频抄了一遍的层面。

课程目录

课程目录11 集
  • 1-1 [Python-nmap库代码介绍与利用] 开发环境搭建 (21:14).mp4
  • 1-2 [Python-nmap库代码介绍与利用] 第二节 PortScanner类代码分析与利用 (31:55).mp4
  • 1-3 [Python-nmap库代码介绍与利用] 第三节 PortScannerAsync类代码分析与利用 (24:19).mp4
  • 1-4 [Python-nmap库代码介绍与利用] 第四节 PortScannerYield类代码分析与利用 (12:02).mp4
  • 1-5 [Python-nmap库代码介绍与利用] 第五节 PortScannerHostDict类代码分析与利 (16:26).mp4
  • 1-6 [Python-nmap库代码介绍与利用] 第六节 Python-Nmap库中其他代码分析 (10:41).mp4
  • 2-1 [Python-nmap库的案例] 第七节 开放端口状态检测脚本 (26:15).mp4
  • 2-2 [Python-nmap库的案例] 第八节 开发主机存活性检测脚本 (19:12).mp4
  • 2-3 [Python-nmap库的案例] 第九节 开发自定义扫描参数的检测脚本 (14:27).mp4
  • 2-4 [Python-nmap库的案例] 第十节 开发调用NSE脚本的检测脚本 (07:05).mp4
  • 2-5 [Python-nmap库的案例] 第十一节 开发检测永恒之蓝Ms17-010漏洞检测脚本 (42:59).mp4