Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Smap — 一个由shodan.io驱动的Nmap即插即用替代品 | Kitploit
工具/GitHubGitHub/s0md3v/smap
侦察漏洞扫描器网络映射端口扫描信息收集
GitHubs0md3v/smap

Smap

一个由shodan.io驱动的Nmap即插即用替代品

查看仓库
3.3k31916天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Smap 标志

由 shodan.io 驱动的 nmap 替代品

Smap 演示

Smap 是一款基于 shodan.io 免费 API 构建的被动端口扫描器。它接受与 Nmap 相同的命令行参数,并产生相同的输出,因此可以作为 Nmap 的直接替代品。

功能

  • 每秒扫描 200 台主机
  • 无需任何账户/API 密钥
  • 漏洞检测
  • 支持 nmap 的输出格式
  • 服务与版本指纹识别
  • 在被动模式下不与目标进行任何接触
  • 可选:使用 Shodan 报告的端口加速 nmap

安装

二进制文件

你可以从 这里 下载预构建的二进制文件并立即使用。

手动安装

go install -v github.com/s0md3v/smap/cmd/smap@latest

感到困惑或遇到问题?如需更详细的说明,点击这里

AUR 软件包

Smap 在 AUR 中可用作 smap-git(从源码构建)和 smap-bin(预构建二进制文件)。

Homebrew/Mac

Smap 也可在 Homebrew 上获得。

root@kitploit:~
brew update
brew install smap

用法

Smap 接受与 Nmap 相同的参数,但在被动模式下,除 -p、-h、-V、-o*、-iL、--concurrency 和 --append-output 之外的选项都会被忽略。在被动端口发现之后,使用 --nmap 将 Nmap 选项传递给真实的 Nmap 扫描。如果你不熟悉 Nmap,下面介绍如何使用 Smap。

指定目标

root@kitploit:~
smap 127.0.0.1 127.0.0.2

你也可以使用以换行符分隔的目标列表。

root@kitploit:~
smap -iL targets.txt

支持的格式

root@kitploit:~
1.1.1.1         // IPv4 address
example.com     // hostname
178.23.56.0/8   // CIDR
1.1.1.1-20      // IPv4 range

输出

Smap 支持 7 种输出格式,可通过 -o* 使用,如下所示:

root@kitploit:~
smap example.com -oX output.xml

如果你想将输出打印到终端,请使用连字符(-)作为文件名。

支持的格式

root@kitploit:~
oX    // nmap's xml format
oG    // nmap's greppable format
oN    // nmap's default format
oA    // output in all 3 formats above at once
oP    // IP:PORT pairs separated by newlines
oS    // custom smap format
oJ    // json

注意:由于 Nmap 不会扫描/显示漏洞和标签,这些数据在 nmap 的格式中不可用。请使用 -oS 查看这些信息。

指定端口

Smap 默认扫描这些 约 4000 个端口。如果只想显示特定端口的结果,请使用 -p 选项。

root@kitploit:~
smap -p21-30,80,443 -iL targets.txt

Nmap 加速

使用 --nmap 通过本地 nmap 缩小扫描范围。Smap 首先收集 Shodan 报告的端口并集,然后以该较小的端口范围对原始目标运行一次 Nmap。

root@kitploit:~
smap --nmap -Pn -sV --version-light 1.1.1.1

除 --nmap 和 --concurrency 外,提供的参数都会传递给 Nmap。Smap 会用 Shodan 候选端口替换端口范围;如果你指定了 -p,它会先将候选端口限制在该范围内。Nmap 直接处理扫描和输出,因此其选项和输出格式表现正常。诸如 -sL 和 -sn 之类的纯主机操作会直接传递,不进行被动端口发现。

Smap 的自定义输出格式是被动模式的特性;使用 --nmap 时,输出选项具有其正常的 Nmap 含义。如果 Shodan 未报告任何候选端口,则不会运行 Nmap。

如果被动数据足以满足你的使用场景,这可以节省时间。

控制并发

Smap 默认使用 3 个工作线程,以避免对 Shodan 造成过大的访问压力。你可以通过 --concurrency 更改该值。

root@kitploit:~
smap --concurrency 5 -iL targets.txt

注意事项

由于 Smap 只是从 shodan.io 获取现有的端口数据,因此它非常快,但不仅如此。如果满足以下情况,你应该使用 Smap:

你想要

  • 漏洞检测
  • 超快的端口扫描器
  • 不需要与目标建立连接

你可以接受

  • 无法扫描 IPv6 地址
  • 结果最长已有 7 天
  • 被动模式下一些罕见的不可靠软件检测

注意:如果你使用 --nmap,Smap 将对目标运行 nmap 并进行主动连接。由于 Shodan 的数据可能已过期或不完整,将其用作端口过滤器可能会遗漏开放端口。

下载工具