Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shellrow/nscan
Network scan tool for host and service discovery. Written in Rust.
https://github.com/shellrow/nscan
cli-app cross-platform network rust scanner security
Last synced: 2 months ago
JSON representation
Network scan tool for host and service discovery. Written in Rust.
- Host: GitHub
- URL: https://github.com/shellrow/nscan
- Owner: shellrow
- License: mit
- Created: 2021-04-24T12:47:50.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-07-21T14:22:11.000Z (6 months ago)
- Last Synced: 2024-10-18T18:04:53.579Z (3 months ago)
- Topics: cli-app, cross-platform, network, rust, scanner, security
- Language: Rust
- Homepage:
- Size: 5.15 MB
- Stars: 17
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[crates-badge]: https://img.shields.io/crates/v/nscan.svg
[crates-url]: https://crates.io/crates/nscan
[license-badge]: https://img.shields.io/crates/l/nscan.svg# nscan [![Crates.io][crates-badge]][crates-url] ![License][license-badge]
Cross-platform network scan tool for host and service discovery.
Aims to be simple, fast, and efficient in performance.## Notice
`nscan` will now be succeeded by [nrev](https://github.com/shellrow/nrev), our network mapping tool. Updates to `nscan` will be limited going forward, as we aim to keep `nscan` focused on scanning-specific tasks. We encourage all users to migrate to `nrev` for the latest features and improvements.## Features
- Port scan
- Host scan
- Service detection
- OS family detection
- Subdomain scan## Installation
### Install prebuilt binaries via shell script```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/shellrow/nscan/releases/latest/download/nscan-installer.sh | sh
```### Install prebuilt binaries via powershell script
```sh
irm https://github.com/shellrow/nscan/releases/latest/download/nscan-installer.ps1 | iex
```### Install prebuilt binaries via Homebrew
```sh
brew install shellrow/tap-nscan/nscan
```### From Releases
You can download archives of precompiled binaries from the [releases](https://github.com/shellrow/nscan/releases) .### Using Cargo
```sh
cargo install nscan
```Or you can use [binstall](https://github.com/cargo-bins/cargo-binstall) for install nscan from github release.
```sh
cargo binstall nscan
```## Basic Usage
## Default Port Scan
To scan the default ports on a target, simply specify the target:
```
nscan --target scanme.nmap.org
```## Sub-commands and Options
```
Usage: nscan [OPTIONS] [COMMAND]Commands:
port Scan port. nscan port --help for more information
host Scan host in specified network or host-list. nscan host --help for more information
subdomain Find subdomains. nscan subdomain --help for more information
interfaces Show network interfaces
interface Show default network interface
check Check dependencies (Windows only)
help Print this message or the help of the given subcommand(s)Options:
-t, --target Specify the target host. IP address or Hostname
-i, --interface Specify the network interface
--noping Disable initial ping
-F, --full Scan all ports (1-65535)
-j, --json Displays results in JSON format.
-o, --save Save scan result in JSON format - Example: -o result.json
-q, --quiet Quiet mode. Suppress output. Only show final results.
-h, --help Print help
-V, --version Print version
```## Supported platforms
- Linux
- macOS
- Windows## Privileges
`nscan` uses raw sockets, which require elevated privileges. Execute with administrator rights.## Notes for Windows Users
When using nscan on Windows, please consider the following:- Npcap/WinPcap Installation:
- Ensure that [Npcap](https://npcap.com/#download) or WinPcap is installed on your system.
- If using Npcap, install it with the "Install Npcap in WinPcap API-compatible Mode" option.
- Build Dependencies:
- Place the Packet.lib file from the [Npcap SDK](https://npcap.com/#download) or WinPcap Developers pack in a directory named lib at the root of this repository.
- The file can be found in the %LIB% or $Env:LIB environment variables.
- Locate Packet.lib in /Lib/x64/Packet.lib for the 64-bit toolchain or /Lib/Packet.lib for the 32-bit toolchain.