Giter Site home page Giter Site logo

nimscan's Introduction

๐Ÿ‘‘ NimScan ๐Ÿ‘‘

Really fast port scanner (With filtered option - Windows support only)

Benchmarks

โš™๏ธ Category ๐Ÿ‘๏ธ Nmap ๐Ÿค– RustScan โ™จ๏ธ masscan ๐Ÿ‘‘ NimScan
Filtered ~107 Seconds โŒ โŒ ~60 Seconds (Windows Only)
non-filtered ~25 Seconds ~3 Seconds (Linux) ~8 Seconds (Linux) ~7 Seconds (2 threads)
Dependencies Npcap driver Nmap libpcap driver No dependencies
Can be used as module/library โŒ โŒ โŒ โœ”๏ธ

All bechmarks were performed inside LAN and on 65K ports.

Usage

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            Show this screen.
    -p, --ports           Ports to scan. [default: 1-65,535]
    -a, --all             Use rawsockets to find filtered/closed/open ports (Takes longer and limited to 10,000 ports).
    -t, --threads         Number of threads per scan.
    -f, --files=<limit>   File descriptors per thread limit.
    -i, --ignore          Ignore ping latency check.
    --timeout=<time>      Timeout to add to the latency [default: 1500].

Examples

Scan range between 1 to 5000 ports

NimScan 10.0.0.0/24 -p:1-5000 

Scan specific ports

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

Show closed/filtered/open using rawsockets

NimScan.exe 10.0.0.69 -a

C/C++ Library ๐Ÿง‘๐Ÿปโ€๐Ÿ’ป

Guide

Exported functions

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

Options

  • host - IP/HOST to scan
  • ports - Ports to scan
  • size - Size of ports array
  • parameters - Parameters to give for the scanner as mentiond above under Usage

Create

#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;
}

Compile

Make sure NimScanToC.a is in your program's folder.

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

nimscan's People

Contributors

elddy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.