关于NimScan****
NimScan是一款运行效率极高的网络安全工具,该工具基于Nim语言开发,集网络扫描、端口扫描和主机发现等功能于一身,支持快速扫描目标网络的活动主机,识别开放端口和服务信息,为渗透测试和网络安全评估提供支持。
工具特性对比
工具安装
由于该工具基于Nim语言开发,因此我们首先需要在本地设备上安装并配置好最新版本的Nim环境。
接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/elddy/NimScan.git
工具使用帮助
Usage:
NimScan <host | IPs> -p:- [--timeout=] [--files=] [-a]
NimScan <host | IPs> -p:
NimScan <host | IPs> -p:,,
NimScan (-h | --help)
Options:
-h, --help 显示工具帮助信息
-p, --ports 要扫描的端口 [默认: 1-65,535]
-a, --all 使用原始套接字扫描已过滤/关闭/打开的端口
-t, --threads 每次扫描所使用的线程数量
-f, --files= 每个线程的文件描述符
-i, --ignore 忽略ping延迟检查
--timeout= 超时发生时要增加的延迟时间 [默认: 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, ""); // Scanning all 65K ports with given arguments
return 0;
}
需确保NimScanToC.a位于程序的文件夹中,然后运行下列命令即可:
gcc .c -L. -l:NimScanToC.a -w -o NimScan.exe
许可证协议
本项目的开发与发布遵循MIT开源许可协议。
项目地址
NimScan:
https://github.com/elddy/NimScan
【FreeBuf粉丝交流群招新啦!
在这里,拓宽网安边界
甲方安全建设干货;
乙方最新技术理念;
全球最新的网络安全资讯;
群内不定期开启各种抽奖活动;
FreeBuf盲盒、大象公仔......
扫码添加小蜜蜂微信回复「加群」,申请加入群聊】