{"id":26555200,"url":"https://github.com/nullstring1/nscan","last_synced_at":"2025-09-06T08:40:56.392Z","repository":{"id":283664024,"uuid":"951534258","full_name":"NullString1/NScan","owner":"NullString1","description":"Basic port scanner written in Rust. Supports SYN, Connect and FIN scans","archived":false,"fork":false,"pushed_at":"2025-03-21T12:37:21.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-21T12:52:42.458Z","etag":null,"topics":["portscanner","rust","tcp"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NullString1.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-19T20:43:00.000Z","updated_at":"2025-03-21T12:41:12.000Z","dependencies_parsed_at":"2025-03-21T12:52:46.121Z","dependency_job_id":"f266f8eb-672c-4988-8972-d99d4503b935","html_url":"https://github.com/NullString1/NScan","commit_stats":null,"previous_names":["nullstring1/nscan"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NullString1%2FNScan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NullString1%2FNScan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NullString1%2FNScan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NullString1%2FNScan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NullString1","download_url":"https://codeload.github.com/NullString1/NScan/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244940115,"owners_count":20535555,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["portscanner","rust","tcp"],"created_at":"2025-03-22T10:25:23.931Z","updated_at":"2025-03-22T10:25:24.505Z","avatar_url":"https://github.com/NullString1.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- Improved compatibility of back to top link: See: https://github.com/othneildrew/Best-README-Template/pull/73 --\u003e\n\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\u003c!--\n*** Thanks for checking out the Best-README-Template. If you have a suggestion\n*** that would make this better, please fork the repo and create a pull request\n*** or simply open an issue with the tag \"enhancement\".\n*** Don't forget to give the project a star!\n*** Thanks again! Now go create something AMAZING! :D\n--\u003e\n\n\n\n\u003c!-- PROJECT SHIELDS --\u003e\n\u003c!--\n*** I'm using markdown \"reference style\" links for readability.\n*** Reference links are enclosed in brackets [ ] instead of parentheses ( ).\n*** See the bottom of this document for the declaration of the reference variables\n*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use.\n*** https://www.markdownguide.org/basic-syntax/#reference-style-links\n--\u003e\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cdiv align=\"center\"\u003e\n\n\u003ch3 align=\"center\"\u003eNScan\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    Simple \u0026 fast rust port scanner\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/NullString1/VWCDC/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/NullString1/VWCDC/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n### Table of Contents\n\u003col\u003e\n  \u003cli\u003e\n    \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n  \u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\n\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\nNScan is a simple cross-platform IPv4 and IPv6 port scanner written in Rust, supporting SYN, FIN and Connect scans.\n\nYou can scan one address such as `example.com` or `1.1.1.1`, or a CIDR range such as `127.0.0.0/8`. \n\nYou can select just one port to scan `-p 20`, a selection of ports `-p 20,80`, a range of ports `-p 20-25` or any mix of the three `-p 20,80-90,25`.\n\n\u003c!-- USAGE --\u003e\n## Usage\nDownload the lastest release or compile yourself with `cargo build --release`.\n\nRun `NScan -h` to view the help message\n```\nSimple port scanner written in rust. Supports SYN, Connect, and FIN scans\n\nUsage: NScan [OPTIONS] --host \u003cHOST\u003e\n\nOptions:\n  -H, --host \u003cHOST\u003e              IP address, hostname, or CIDR range to scan\n  -p, --port-range \u003cPORT_RANGE\u003e  Port to scan [default: 80]\n  -s, --scan-type \u003cSCAN_TYPE\u003e    Scan type [default: syn] [possible values: syn, connect, fin]\n  -t, --timeout \u003cTIMEOUT\u003e        Timeout in seconds (max 255) [default: 1]\n  -T, --threads \u003cTHREADS\u003e        Number of threads to use (4) [default: 4]\n  -h, --help                     Print help\n```\n\nRun `sudo NScan -H 127.0.0.1` to run a `SYN` scan on `127.0.0.1:80` (Ensure you use sudo or run as root on linux due to use of raw sockets)\n```\nNScan v1.0 - Network scanner\n------------------------------\nScan configuration:\n  Target(s): 127.0.0.1 (1 addresses)\n  Port(s): 80 (1 ports)\n  Method: SYN\n  Timeout: 1 seconds\n  Threads: 4\n  Total scans: 1\n------------------------------\nScan started at 12:21:03\nRunning...\nPort 80 is closed (Received RST/ACK)\n\n------------------------------\nScan completed in 0.00 seconds\nFound 0 open ports\n```\n\nRun `sudo NScan -H ::1 -p 443` to run a `SYN` scan on `::1` (IPv6 loopback) port `443` (Ensure you use sudo or run as root on linux due to use of raw sockets)\n```\nNScan v1.0 - Network scanner\n------------------------------\nScan configuration:\n  Target(s): ::1 (1 addresses)\n  Port(s): 443 (1 ports)\n  Method: SYN\n  Timeout: 1 seconds\n  Threads: 4\n  Total scans: 1\n------------------------------\nScan started at 12:23:38\nRunning...\nPort 443 is closed (Received RST/ACK)\n\n------------------------------\nScan completed in 0.00 seconds\nFound 0 open ports\n```\n\nRun `NScan -H 1.1.1.1 -p 80 -s connect` to run a `Connect` scan on `1.1.1.1` port 80. (No root required due to use of unpriviledged socket)\n```\nNScan v1.0 - Network scanner\n------------------------------\nScan configuration:\n  Target(s): 1.1.1.1 (1 addresses)\n  Port(s): 80 (1 ports)\n  Method: Connect\n  Timeout: 1 seconds\n  Threads: 4\n  Total scans: 1\n------------------------------\nScan started at 12:24:38\nRunning...\nPort 80 is open\n\n------------------------------\nScan completed in 0.02 seconds\nFound 1 open ports\n\nOpen ports:\n  1.1.1.1:80 - OPEN\n```\n\nRun `sudo NScan -H ::1 -t 10` to run a `SYN` scan on `::1` port 80 with timeout set at `10 seconds` (Ensure you use sudo or run as root on linux due to use of raw sockets)\n```\nNScan v1.0 - Network scanner\n------------------------------\nScan configuration:\n  Target(s): ::1 (1 addresses)\n  Port(s): 80 (1 ports)\n  Method: SYN\n  Timeout: 10 seconds\n  Threads: 4\n  Total scans: 1\n------------------------------\nScan started at 12:28:56\nRunning...\nPort 80 is closed (Received RST/ACK)\n\n------------------------------\nScan completed in 0.00 seconds\nFound 0 open ports\n```\n\nRun `sudo NScan -H 127.0.0.0/24 -p 22 -t 1 -s syn -T 8` to run a `SYN` scan on `127.0.0.0/24` port 22 with timeout `1 second` on `8 threads` (Ensure you use sudo or run as root on linux due to use of raw sockets)\n```\nNScan v1.0 - Network scanner\n------------------------------\nScan configuration:\n  Target(s): 127.0.0.0/24 (256 addresses)\n  Port(s): 22 (1 ports)\n  Method: SYN\n  Timeout: 1 seconds\n  Threads: 2\n  Total scans: 256\n------------------------------\nScan started at 12:32:21\nRunning...\nPort 22 is closed (Received RST/ACK)\nPort 22 is closed (Received RST/ACK)\nPort 22 is closed (Received RST/ACK)\nPort 22 is closed (Received RST/ACK)\nPort 22 is closed (Received RST/ACK)\nPort 22 is closed (Received RST/ACK)\nPort 22 is closed (Received RST/ACK)\nPort 22 is closed (Received RST/ACK)\n...... (output trimmed)\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTRIBUTING --\u003e\n## Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\nDon't forget to give the project a star! Thanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTACT --\u003e\n## Contact\n\nDaniel Kern (NullString1) - [@nullstring1_](https://twitter.com/nullstring1_) - daniel@nullstring.one\n\nWebsite: [https://nullstring.one](https://nullstring.one)\nProject Link: [https://github.com/NullString1/NScan](https://github.com/NullString1/NScan)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n[contributors-shield]: https://img.shields.io/github/contributors/NullString1/NScan.svg?style=for-the-badge\n[contributors-url]: https://github.com/NullString1/NScan/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/NullString1/NScan.svg?style=for-the-badge\n[forks-url]: https://github.com/NullString1/NScan/network/members\n[stars-shield]: https://img.shields.io/github/stars/NullString1/NScan.svg?style=for-the-badge\n[stars-url]: https://github.com/NullString1/NScan/stargazers\n[issues-shield]: https://img.shields.io/github/issues/NullString1/NScan.svg?style=for-the-badge\n[issues-url]: https://github.com/NullString1/NScan/issues\n[license-shield]: https://img.shields.io/github/license/NullString1/NScan.svg?style=for-the-badge\n[license-url]: https://github.com/NullString1/NScan/blob/master/LICENSE\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnullstring1%2Fnscan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnullstring1%2Fnscan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnullstring1%2Fnscan/lists"}