freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

NimScan:一款运行效率极高的端口扫描工具
2024-07-16 22:47:09

关于NimScan

NimScan是一款运行效率极高的网络安全工具,该工具基于Nim语言开发,集网络扫描、端口扫描和主机发现等功能于一身,支持快速扫描目标网络的活动主机,识别开放端口和服务信息,为渗透测试和网络安全评估提供支持。

工具特性对比

类别

Nmap

RustScan

masscan

NimScan

已过滤

~107 秒

×

×

~60 秒(仅限 Windows)

未过滤

~25 秒

~3 秒(Linux)

~8 秒(Linux)

~7 秒(2 个线程)

依赖项

Npcap 驱动程序

Nmap

libpcap 驱动程序

无依赖关系

是否可以用作模块/库

×

×

×

工具安装

由于该工具基于Nim语言开发,因此我们首先需要在本地设备上安装并配置好最新版本的Nim环境。

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/elddy/NimScan.git

工具使用帮助

Usage:

    NimScan <host | IPs> -p:<portX>-<portY> [--timeout=<time>] [--files=<limit of file descriptors>] [-a]

    NimScan <host | IPs> -p:<port>

    NimScan <host | IPs> -p:<port1>,<port2>,<portN>

    NimScan (-h | --help)

Options:

    -h, --help            显示工具帮助信息

    -p, --ports           要扫描的端口 [默认: 1-65,535]

    -a, --all              使用原始套接字扫描已过滤/关闭/打开的端口

    -t, --threads          每次扫描所使用的线程数量

    -f, --files=<limit>     每个线程的文件描述符

    -i, --ignore           忽略ping延迟检查

    --timeout=<time>     超时发生时要增加的延迟时间 [默认: 1500]

工具使用样例

扫描范围在1至5000的端口:

NimScan 10.0.0.0/24 -p:1-5000

扫描特定端口:

NimScan 10.0.0.1-10.0.0.10 -p:80,443,445

使用原始套接字显示关闭/过滤/打开的端口:

NimScan.exe 10.0.0.69 -a

工具运行演示

C/C++库使用

导出函数

scan(char * host, int * ports, int size);

scanner(char * host, int * ports, int size, char * parameters);

选项

host:要扫描的IP/HOST;

ports:要扫描的端口;

size:端口数组的大小;

parameters:扫描器的其他参数;

代码样例

#include <stdio.h>

 

int main(void)

{

    NimMain(); // A MUST!

 

    int ports[] = {1, 445, 8080, 3389, 135, 139};

    int size = sizeof ports / sizeof ports[0];

    

    scan(<IP/HOST>, ports, size); // Scan given ports with default configuration (timeout = 1500ms, files = 5000)

 

    scanner(<IP/HOST>, NULL, 0, "<arguments>"); // Scanning all 65K ports with given arguments

    return 0;

}

代码编译

需确保NimScanToC.a位于程序的文件夹中,然后运行下列命令即可:

gcc <file>.c -L. -l:NimScanToC.a -w -o NimScan.exe

许可证协议

本项目的开发与发布遵循MIT开源许可协议。

项目地址

NimScan:【GitHub传送门

# 网络安全 # 端口扫描 # 网络扫描 # 端口探测 # 主机安全
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录