SuperScan 4.0 在 XP 虚拟机中的端口扫描与排错 简介面向网络安全初学者与运维人员的SuperScan使用教程文档围绕这款早期Windows平台扫描工具的主机发现、端口扫描、服务识别与Windows枚举等功能展开适合用于了解传统扫描工具的能力边界和实验环境中的基础信息收集。资源包仅含1个doc文档约205KB单文件便于查阅和归档内容组织覆盖安装启动、扫描范围设置、Host and Service Discovery、Scan Options、Tools及Windows Enumeration等模块。已有999人学习说明其在入门查阅场景中具有一定参考价值。读者可从中梳理SuperScan 3.0与4.0的适用系统差异理解主机发现请求、TCP/UDP端口扫描、Banner Grabbing、扫描速度与主机名解析等参数的作用并借助工具选项和枚举结果认识主机信息收集的常见维度适合作为网络安全基础实验的辅助阅读材料。1. 从一台打不开的 exe 说起SuperScan 4.0 装在什么系统上翻出 SuperScan 的人多半不是第一次碰扫描工具机房里一台 Windows XP 虚拟机一个解压就能跑的 exe看起来比装数据库简单多了。真正的坑在系统版本上——SuperScan 4.0 的 exe 拖到新的 Windows 上双击要么毫无反应要么弹个内存错误直接退出端口列表一条都出不来。这份 SuperScan 使用教程要讲的不是怎么点按钮而是先把运行环境摆正4.0 只认 Windows XP 和 Windows 2000遇到更老的系统还得退回 SuperScan 3.0。装不好不会报错给你看只会安静地返回空结果让人以为是网段填错了。下面按虚拟机准备、解压启动、扫描配置、参数调优、故障排查、跑通验证的顺序走一遍适合需要在隔离环境里做资产盘点和端口自查的运维、安全测试人员照着复现。2. 环境准备与版本选型Windows XP 虚拟机装 SuperScan 4.0这一章解决三件事选哪个版本、虚拟机怎么配、解压后怎么让它正常起来。SuperScan 本身是绿色程序没有安装向导但“解压即用”不等于“解压就能扫”系统层面的东西没准备好后面每一步都会怀疑人生。2.1 版本对照SuperScan 4.0 与 3.0 的适用边界SuperScan 4.0 的可执行文件是SuperScan4.exe官方支持的运行平台只到 Windows XP 和 Windows 2000。这不是保守写法是它依赖的原始套接字接口和若干老式 Win32 API 在新系统上行为变了。Vista 之后即便用兼容模式跑起来UDP 扫描和部分 ICMP 请求类型也会静默失败结果看起来“扫完了”实际只做了一半。SuperScan 3.0 的存在意义是照顾更老的操作系统环境界面和扫描逻辑与 4.0 接近功能选项少一些。所以选型逻辑很简单目标环境推荐版本说明Windows XP SP3 虚拟机SuperScan 4.0功能最全主机发现选项完整Windows 2000 虚拟机SuperScan 4.0同上注意补丁级别Windows 98 / NT 等更老系统SuperScan 3.04.0 上不去别硬试Windows 7 及以上物理机不建议兼容模式能开界面扫描结果不可信我一般会在虚拟机里同时放 4.0 和 3.0 两份反正体积都不大遇到老镜像直接换 3.0省得现场找文件。注意这套工具只在你拥有管理权限、或已获得书面授权的网络里使用扫别人的地址段既不合规也容易给自己惹麻烦。2.2 用 VirtualBox 建一台干净的扫描用 Windows XP不建议拿一台有业务数据的 XP 直接装扫描器需要关防火墙、装老版本运行库隔离一台专用虚拟机最省事。配置上 512MB 内存、810GB 磁盘、单网卡足够网络模式按场景选只扫本机做验证用 NAT扫内网其他主机用桥接或 Host-Only。用命令行建虚拟机比点向导更容易复现VirtualBox 下大致是这样REM 创建并注册一台名为 ScanXP 的虚拟机系统类型指定为 Windows XP VBoxManage createvm --name ScanXP --ostype WindowsXP --register REM 分配 512MB 内存、16MB 显存网卡 1 使用 NAT 模式 VBoxManage modifyvm ScanXP --memory 512 --vram 16 --nic1 nat REM 添加一块 SATA 控制器供虚拟磁盘挂载 VBoxManage storagectl ScanXP --name SATA --add sata --controller IntelAhci三行命令分别对应创建注册、硬件参数、存储控制器。--ostype WindowsXP只是让 VirtualBox 套用合适的默认硬件模板实际系统还得自己挂 ISO 装。--nic1 nat建议在装机阶段用装完系统、打好 SP3 补丁后再改成桥接避免装系统时被内网策略拦掉。装完之后立刻打一个快照名字写上日期后面不管装坏什么回滚三十秒的事。系统装好后的第一件事是关掉 Windows 防火墙对测试网段的拦截或者至少给你要扫描的网段放行 ICMP。XP 自带的防火墙默认会丢掉 echo 请求主机发现直接归零很多人卡在这一步以为是工具坏了。2.3 解压与首次启动路径、权限、依赖三件事拿到的是压缩包XP 自带的“压缩文件夹”功能能解 zip遇到 rar 就得装个解压工具7-Zip 9.20 是最后一个还支持 XP 的版本再新的版本在 XP 上装不上。解压路径有两个硬性要求全英文、不带空格。像D:\tools\superscan4\这种就很好D:\我的工具\扫描\这种在导出 HTML 报告时容易出乱码别问我是怎么知道的。REM 确认当前系统版本4.0 只应该在 5.1XP或 5.02000上跑 ver REM 确认当前账户权限UDP 扫描和部分请求类型需要管理员权限 whoami REM 建立固定的工作目录避免中文路径 mkdir D:\tools\superscan4ver输出Microsoft Windows XP [版本 5.1.2600]就对了如果是 6.x 开头说明你在新系统上别往下走了。whoami要看到管理员组账户普通用户跑起来 TCP 扫描勉强能用UDP 扫描基本全空。目录建好后把解压出来的文件全部放进去双击SuperScan4.exe。第一次启动如果被系统的安全提示拦一下选允许运行即可这是 XP 对未经签名程序的常规处理。启动后主界面默认停在 Scan 菜单看到 IP 输入框和那个绿色的播放按钮说明环境这一步成了。提示解压后的整个目录建议一起打包备份扫描配置是跟着目录走的换机器时整目录拷过去端口列表和选项不用重设。3. 起手扫描配置Scan 菜单的地址输入与主机发现界面能开只是及格线能不能扫出正确结果全看这一章的三个地方地址怎么填、主机发现勾哪几项、端口列表扫多少。这三项任意一个配错结果都会以“空列表”的形式呈现而且不给任何错误提示。3.1 地址输入单个 IP、范围、地址列表文件Scan 菜单顶部就是地址输入区支持一个或多个主机名、单个 IP、IP 范围。范围的写法有讲究区间用短横线连接多个不连续地址用逗号分隔例如192.168.56.1-192.168.56.30 192.168.56.10,192.168.56.20,192.168.56.30第一行是连续区间适合扫一个网段里的存活主机第二行是离散列表适合只关心几台已知设备。注意短横线两端不要加空格段与段之间也要写全192.168.56.1-30这种简写它不认会直接当成主机名去解析然后什么也扫不到。地址多的时候别在输入框里手打用文件导入更稳。菜单里 File 下的“输入地址列表”就是干这个的导入一个纯文本一行一个地址或一段范围。列表可以在宿主机上生成好再拷进虚拟机# 在宿主机生成待扫描地址列表写入 hosts.txt targets [f192.168.56.{i} for i in range(1, 31)] with open(hosts.txt, w, encodingutf-8) as f: for ip in targets: f.write(ip \n) print(f已生成 {len(targets)} 条地址)这段脚本生成 30 条地址一行一条正好对应上面那个网段。encodingutf-8在纯 ASCII 内容下不影响结果但养成写死的习惯后面导出的文件不容易在 XP 上打开变乱码。生成的文件拷进虚拟机后由 File 菜单导入比手敲省事也方便下次复用同一份清单。3.2 Host and Service Discovery四种主机发现请求的取舍这个区域决定了“扫哪些主机”和“扫哪些端口”是整个工具里最值得花时间理解的一块。上半部分是主机发现方式默认只勾了重复请求echo requests也就是我们常说的 ICMP echo。往下还有时间戳请求timestamp、地址屏蔽请求address mask requests、消息请求information requests三种可选项。这四种请求对应不同的 ICMP 类型很多设备只屏蔽了 echo另外几种照样回包。所以当你在一个网段里扫不出任何主机但确认设备在线时把时间戳和地址屏蔽两项勾上再扫一次往往能捞回来一批。代价是扫描时间变长——每多勾一种请求方式对每台主机就多一轮探测。原文里那句“选项越多扫描用的时间就越长”不是劝退是提醒你分两轮走第一轮只勾 echo 快速定位存活主机第二轮针对确认存活的那几台把可选请求全开慢慢收信息。下半部分是端口扫描类型UDP 和 TCP 各一个勾选项。这里有个容易被忽略的点UDP 扫描依赖目标返回 ICMP 端口不可达消息而很多防火墙和 NAT 设备会直接丢弃这类消息结果就是 UDP 端口全显示为“未响应”看起来像没扫。在一台 XP 虚拟机里对着自己网段扫勾上没问题跨三层设备扫UDP 结果只能当参考。3.3 端口列表先从常用端口起手再按需扩SuperScan 初始只扫几个最常见端口这不是偷懒是算术题TCP 加 UDP 一共六万五千多个端口对每个地址都全扫一遍就是十三万次以上的探测一个 /24 网段扫下来时间成本完全不可接受。我的做法是分三档第一档默认常用端口几十个扫一遍几秒钟先看有没有明显开放的服务第二档11024覆盖所有系统端口单网段大概几分钟第三档全端口只在锁定单台主机、且明确知道要查什么的时候用。端口列表是可以编辑的界面里能增删条目。把你们自己业务常用的端口加进去比如内部管理后台的 8080、9000 这类下次扫描直接勾“只扫列表中的端口”比每次全量快得多。注意端口列表改了之后不会自动保存到别处它就跟着当前目录的配置文件走换目录记得一起拷。4. 参数调优与单机核实Scan Options、Banner Grabbing 与 Tools 面板地址和端口定好之后决定结果准不准的就是这一章的几个参数。默认值在局域网里基本够用但只要跨网段、链路质量一般或者目标主机响应慢默认值就会开始骗人——它不报错只是少给你数据。4.1 重试次数与主机名解析并发默认的 1 什么时候不够Scan Options 里的第一项是扫描过程中每台主机、每个服务的重试次数默认 1。局域网内这个值足够因为丢包率极低。跨网段、走无线、或者目标机器负载高的时候1 次探测丢包就意味着这个端口被判为“关闭”结果里凭空少一条。判断要不要调看两个信号同一台主机连续扫两次结果不一致或者结果里端口数量明显少于你在目标机上netstat看到的监听数。出现这两种情况把重试提到 2 或 3重扫一遍对比。别再往上加了重试次数是乘法关系3 次意味着扫描耗时直接翻三倍收益递减得很快。第二项是主机名解析的并发数量同样是默认 1。它的作用是把扫描到的 IP 反查成主机名方便辨认。内网没有 DNS 或者 DNS 响应慢的时候这一步会拖慢整体进度但并发开太大又会让老 DNS 服务器直接超时。我的习惯是内网扫描保持 1扫完拿到 IP 列表自己去对照资产表只有在有内网 DNS 且响应正常的环境里才往 35 调。4.2 Banner Grabbing 延迟与速度滑块8000 毫秒和 0 的取舍Banner Grabbing 是让工具在连上端口后等对方吐一段欢迎信息用来判断服务类型和版本。原文写的默认延迟 8000 毫秒这个值在今天看偏长但在当年的网络环境里是合理的——目标主机慢一点等不够就抓不到内容。实际操作建议默认 8000 毫秒先跑一轮如果报告里大量端口显示开放但 Banner 为空说明要么服务本身不回 Banner很多 HTTP 服务要你先发请求要么延迟还不够。前者调延迟没用后者可以把值降到 30005000 试试反而更快。判断依据很简单同一台主机扫两次Banner 抓取结果一致且非空就说明这个延迟合适。速度滑块是另一个容易翻车的地方。滑块拉到 0 意味着工具发完一个包不等回应就发下一个理论最快实际上会造成本机发送队列溢出、丢包结果表现为“扫描很快结束但开放端口比实际少”。原文也明确提示了包溢出的风险。我一般把滑块放在中间偏快的位置对应到实际感受就是每个包间隔几十毫秒扫一个 /24 网段的常用端口大约一两分钟这个节奏既不会把目标打出异常流量告警也不会因为本机拥塞丢结果。提示扫描生产网段前先拿一台测试机做小范围试扫确认耗时和结果都正常再放开范围。业务高峰期不要跑全端口扫描。4.3 结果列表、HTML 报告导出与存档扫描结束后主界面会给出一份主机列表每台主机展开就是被发现开放的端口。这份列表本身就是结果但真正要交付或者存档时HTML 格式更合适——它能保留主机和端口的层级结构用浏览器打开就能直接看不需要再装这个工具。导出时注意两点一是路径前面强调过的全英文路径在这里体现价值路径里有中文时XP 上的 IE 打开报告可能整页乱码二是时机必须等扫描进程完全结束再导出中途点导出拿到的是半截数据而且不会有任何提示。存档命名我习惯用日期_网段_用途的格式比如20240510_19216856_机房资产盘点.html半年后翻出来还能一眼看出扫的是什么。同一网段不同时期的报告放在一起对比能看出哪些端口是新开的这在排查“这台机器什么时候多了个服务”的时候特别有用。4.4 Tools 面板与 Windows 枚举对单台主机做补充核实扫描结果里某台主机端口列表很奇怪的时候别急着下结论切到 Tools 面板单独核实一下。使用方式很简单在上面填主机名或 IP填好默认连接的服务端口然后点对应的功能按钮。能做的事情包括 ping 这台主机、做一次 traceroute 看路径、以及发一个 HTTP 请求看返回内容。这三样加起来足够判断“这台机器到底活着没有、中间有没有设备拦着、80 端口上跑的是不是 web 服务”。我遇到最多的情况是扫描报告说某端口开放但业务方说那台机器上根本没装对应服务用 Tools 里的 HTTP 请求一打返回的是网络设备的管理页面——地址冲突或者 NAT 映射导致的跟业务机没关系。Windows Enumeration 是另一个面板只在目标是 Windows 主机时有用扫 Linux/UNIX 主机开这个纯属浪费时间。它能拿到的信息覆盖面很广从单台主机的用户、用户组、共享资源一直到协议策略层面的配置。但有个前提目标的 NetBIOS/SMB 相关端口要开着且没有限制匿名会话。现代一点的 Windows 默认都关了空会话所以这个面板在较新的目标上大概率返回空。原文说它“产生大量的透明信息”在那个年代的默认配置下确实如此放到今天得先确认目标允许。注意枚举拿到的用户和共享信息属于敏感数据只在授权范围内使用报告里也不要随手贴到公开渠道。5. 避坑与排查五条装完才发现的翻车记录下面这五条都是环境看着装好了、结果却不对的典型情况按“现象 → 原因 → 解决”记遇到时按顺序对照即可。5.1 双击 exe 没反应或者弹内存错误直接退出现象在新版 Windows 上双击SuperScan4.exe任务管理器里进程闪一下就消失或者弹出内存读写错误。原因这个版本的目标平台只到 Windows XP/2000程序调用的部分老式接口和权限模型在新系统上已经变了。用兼容模式强行启动界面能出来但底层扫描功能并不完整尤其是 UDP 扫描和部分 ICMP 请求会静默失败。解决不要在宿主系统上硬跑老老实实开一台 XP SP3 虚拟机。如果手上只有更老的目标环境换 SuperScan 3.0。判断标准很直接ver命令输出 5.1 或 5.0 才算合格环境。5.2 UDP 扫描结果全空TCP 却正常现象TCP 端口能扫出开放项UDP 那一栏清一色没有响应换几个网段都一样。原因UDP 扫描依赖原始套接字普通用户权限下拿不到同时它还依赖目标返回 ICMP 端口不可达消息中间有防火墙或 NAT 丢弃这类消息时结果就是全空。解决先确认是以管理员权限运行再检查虚拟机的网络模式NAT 模式对某些 ICMP 消息的处理和桥接不一样扫内网建议改桥接或 Host-Only最后确认 XP 自带防火墙没有拦截。三步都排除后仍然为空那就是链路中间设备的问题UDP 结果只能作参考别当结论。5.3 明明在线的设备一台都扫不出来现象目标机器 ping 得通扫描结果列表却是空的或者只出来零星几台。原因三种可能——地址范围写法不规范被当成主机名解析目标禁用了 ICMP echo 而只勾了 echo 请求防火墙整段丢弃了探测包。解决先看地址写法短横线两端不加空格、每段写全再把时间戳请求和地址屏蔽请求勾上重扫很多设备只屏蔽 echo最后用 Tools 面板的 ping 单独验证一台能通说明网络没问题是发现方式的问题。5.4 速度拉到 0 之后本机卡顿、结果错乱现象滑块拉到最快扫描几秒就结束但结果里端口数量明显偏少本机同时出现网络卡顿交换机上还能看到流量告警。原因发包间隔为 0 时发送队列来不及排空就堆积造成丢包。丢掉的探测包不会有重传补偿对应的端口就被记为关闭。解决把滑块调回中间位置或者直接观察扫描耗时一个 /24 网段的常用端口控制在一两分钟比较合理。重扫一遍对比两次结果一致了才算可信。生产网段扫描避开业务高峰。5.5 导出的 HTML 报告打开是乱码现象扫描结果在工具里看正常导出成 HTML 后用浏览器打开中文全变方块或者问号。原因导出路径里带中文或者目标机器上没有合适的编码环境XP 上的老浏览器对编码的自动判断比较粗糙。解决导出路径改成全英文文件名也用英文加日期打开时如果还是乱码在浏览器里手动切一次编码查看 → 编码实在不行把报告拷到宿主机的现代浏览器里打开内容本身是没问题的。6. 装完怎么验证用一台已知端口的目标机做闭环环境装完、参数配好最后一步是验证这套东西真的能扫出正确结果而不是“看起来跑完了”。验证的核心思路是造一个已知答案自己开一个端口看工具能不能准确报出来再关掉它看结果会不会同步消失。两个方向都对上这套环境才算跑通。第一步在另一台你完全掌控的虚拟机上起一个监听。XP 上装 Python 2.7 之后用自带模块最省事REM 在目标机 192.168.56.10 的 8080 端口起一个简易 HTTP 服务 REM Python 2.x 的模块名是 SimpleHTTPServer别写成 3.x 的 http.server python -m SimpleHTTPServer 8080这行命令会在当前目录起一个静态文件服务监听 8080任何 HTTP 请求都会返回目录列表。选 8080 是因为它不在默认常用端口列表里能顺便验证你手动添加端口的流程。如果目标机上没有 Python用任意一个能固定监听端口的小服务替代都行关键是端口号你已知。第二步回到扫描机地址填192.168.56.10端口列表里加上 8080主机发现只勾 echo 请求速度保持默认点播放按钮。预期结果是这台主机出现在列表里展开后 8080 标记为开放。如果扫不出来先回第 5 章第 3 条对照。第三步做反向验证。把目标机上的服务停掉CtrlC再扫一次同样的地址和端口。这次 8080 应该消失。这一步很多人省略但它才是关键——只验证“能扫出开放”无法排除工具把所有端口都误报为开放的可能。第四步Banner 抓取和报告导出一起验。勾上 Banner Grabbing延迟先按默认 8000 毫秒扫一轮看 8080 的 Banner 是否有内容然后导出 HTML 到全英文路径用浏览器打开确认主机、端口、Banner 三列都对得上。把这次的报告存成基线文件以后每次调整参数或者换虚拟机都拿同一个目标和同一份基线对比结果一致就说明环境没跑偏。这比反复读文档判断“应该没问题”要靠谱得多。从那以后我每次重建这套环境都会强制走一遍这个开端口、扫描、关端口、再扫描的闭环前后不超过五分钟能省掉后面一小时的自我怀疑。希望帮到你。本文还有配套的精品资源点击获取