NimScan:一款运行效率极高的端口扫描工具

2024-07-31 18:24:54 浏览数 (1)

关于NimScan

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

工具特性对比

工具安装

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

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

代码语言:javascript复制
git clone https://github.com/elddy/NimScan.git

工具使用帮助

代码语言:javascript复制
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的端口:

代码语言:javascript复制
NimScan 10.0.0.0/24 -p:1-5000

扫描特定端口:

代码语言:javascript复制
NimScan 10.0.0.1-10.0.0.10 -p:80,443,445

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

代码语言:javascript复制
NimScan.exe 10.0.0.69 -a

工具运行演示

C/C 库使用

导出函数

代码语言:javascript复制
scan(char * host, int * ports, int size);

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

选项

代码语言:javascript复制
host:要扫描的IP/HOST;

ports:要扫描的端口;

size:端口数组的大小;

parameters:扫描器的其他参数;

代码样例

代码语言:javascript复制
#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位于程序的文件夹中,然后运行下列命令即可:

代码语言:javascript复制
gcc <file>.c -L. -l:NimScanToC.a -w -o NimScan.exe

许可证协议

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

项目地址

NimScan:

https://github.com/elddy/NimScan

0 人点赞