1. 极安网首页
  2. 网络安全工具

Nmaps比Nmap更快的安全漏洞扫描工具(跨平台支持Win/Linux/Mac)

Nmaps 是采用Golang语言编写的新一代端口及指纹扫描器,利用Golang语言特性使其扫描更快、跨平台等特点,内置并精简了nmap指纹库,以此摆脱调用nmap进行指纹识别。

Nmaps比Nmap更快的安全漏洞扫描工具(跨平台支持Win/Linux/Mac)-极安网

Nmaps设计初衷

nmaps是后期开发信息搜集综合平台的子模块(Nmaps不需要识别所有端口指纹,但常见服务能识别出来),在以往进行端口探测时,往往是调用masscan/nmap进行探测,对于大批量资产探测会导致识别不精确、速度慢、调用不方便等缺点,或进行内网横向探测时能单文件跨平台使用,因此出现了Nmaps。

Nmaps扫描原理

①Nmaps进行端口存活探测

非root权限使用CONNECT方式扫描、root权限使用SYN方式扫描,对于批量资产探测,Nmaps借鉴了masscan核心扫描算法及naabu开源项目

Masscan首先将目标存储为一个“范围列表”。IP地址范围存储在一种结构中,端口范围存储在另一种结构中。然后,使用一个索引变量枚举所有IP:端口组合的集合。扫描的工作方式是简单地递增.
索引变量从0到探针总数(“range”)。然后,在枚举步骤之前,以1对1的映射将索引排列为相同范围内的另一个随机索引。换句话说,算法在理论上是可逆转的:给定置换函数的输出,我们就可以得到原始的索引。

②Nmaps的指纹识别

Nmaps使用nmap开源的指纹库,并去除了UDP及探测等级为8以上的部分不常用服务规则,对于单个端口的指纹识别,先并发探测等级优先的规则库,若未匹配到,则在并发探测下一等级规则库(由于是并发探测,故小部分服务会有多个匹配结果,导致匹配结果不精确),若还是未匹配到相应指纹,则使用常规端口对应的服务进行判断(Nmaps可能会有误报情况)

Nmaps命令行说明

  1. Usage of ./nmap:
  2.   -c int
  3.         Nmaps扫描并发工作协程数(切勿太大,造成网络波动) (default 25)
  4.   -debug
  5.         输出debug调试信息
  6.   -exclude-file string
  7.         指定包含要从扫描中排除的目标,以换行符分隔的文件 (ip, cidr)
  8.   -exclude-hosts string
  9.         指定要从扫描中排除的目标以逗号分隔列表 (ip, cidr)
  10.   -exclude-ports string
  11.         要从枚举中排除的端口
  12.   -host string
  13.         指定扫描的主机地址
  14.   -iL string
  15.         指定包含待扫描的主机文本文件
  16.   -interface string
  17.         指定用于端口扫描的网络接口
  18.   -interface-list
  19.         列出可用接口和公有IP
  20.   -json
  21.         以json格式保存
  22.   -nC
  23.         在输出中不使用彩色输出
  24.   -nmaptimeout int
  25.         端口指纹识别socket连接超时时间 (default 7)
  26.   -o string
  27.         指定保存扫描结果
  28.   -p string
  29.         指定待扫描的端口范围 (8080,443100-200, (-p - 将全端口扫描)
  30.   -ping
  31.         扫描前使用ping探针验证主机存活
  32.   -ports-file string
  33.         指定包含要枚举的端口文件
  34.   -rate int
  35.         端口扫描探测请求的速率 (default 1000)
  36.   -retries int
  37.         端口扫描探测的重试次数 (default 1)
  38.   -silent
  39.         仅在输出中显示找到的端口
  40.   -source-ip string
  41.         指定在TCP数据包中使用的SourceIP
  42.   -timeout int
  43.         扫描超时前等待的毫秒数 (default 700)
  44.   -top-ports string
  45.         指定扫描的常规端口 (top 100/1000
  46.   -v    显示详细输出
  47.   -verify
  48.         扫描出端口后使用TCP连接二次验证
  49.   -version
  50.         显示版本信息
  51.   -warm-up-time int
  52.         扫描阶段之间的间隔时间(秒) (default 2)

下载地址

温馨提示:终身会员登陆后查看
温馨提示:终身会员登陆后查看
温馨提示:终身会员登陆后查看

原创文章,作者: Admin ,转载请注明出处:https://secvery.com/4123.html