{"name":"masscan: Scan TCP Ports at Internet Scale with Its Own TCP/IP Stack","description":"Masscan is a C-based, asynchronous TCP port scanner built around its own ad hoc TCP/IP stack, designed to probe large address ranges quickly. It offers Nmap-like options and runs on Linux, Windows, macOS, and other systems.","github":"https://github.com/robertdavidgraham/masscan","url":"https://osrepos.com/repo/robertdavidgraham-masscan","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/robertdavidgraham-masscan","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/robertdavidgraham-masscan.md","json":"https://osrepos.com/repo/robertdavidgraham-masscan.json","topics":["networking","security","cli","c","port-scanner","internet-scanning"],"keywords":["networking","security","cli","c","port-scanner","internet-scanning"],"stars":null,"summary":"Masscan is a C-based, asynchronous TCP port scanner built around its own ad hoc TCP/IP stack, designed to probe large address ranges quickly. It offers Nmap-like options and runs on Linux, Windows, macOS, and other systems.","content":"## Overview\n\nMasscan is a C-based, asynchronous TCP port scanner built around its own ad hoc TCP/IP stack. It is designed for scanning large IP address and port ranges quickly, rather than for intensive inspection of a single host. Its command-line options and several output formats are familiar to Nmap users, while its scanning model is built for broad, high-rate probes.\n\nThe project supports Linux, Windows, macOS, and other systems, with performance depending on the platform and network hardware. It also supports IPv4 and IPv6, and can optionally establish connections to collect basic service banners. Masscan's separate network stack can conflict with the host's TCP/IP stack, so source IP or port selection and firewall configuration may be needed, especially for banner checks.\n\n## Key Features\n\n- Asynchronously sends probes and receives responses for wide-range scans.\n- Scans configurable IP address and port ranges, including IPv4 and IPv6 targets.\n- Randomizes probe order to spread traffic across target addresses.\n- Supports sharding scans across multiple machines, adapters, or source addresses.\n- Offers optional banner checks for protocols including HTTP, SSH, FTP, and SMB.\n- Writes results as XML, binary, grepable text, JSON, or a simple host-and-port list.\n- Provides Nmap-like command-line options and configuration files.\n- Includes a built-in self-test and regression test target.\n\n## Use Cases\n\n- Network and security teams can inventory exposed ports across large address ranges they are authorized to assess.\n- Researchers can run broad, controlled measurements of reachable services, using exclusions and a deliberate transmit rate.\n- Operators can schedule repeat scans from saved configuration files and compare or process results in their existing tooling.\n- Teams that need service identification can enable banner checks on selected targets, after accounting for the separate TCP/IP stack.\n\n## Our Take\n\nMasscan is a specialized, actively maintained scanner for broad, high-speed port discovery, but its low recent release activity and reliance on one main contributor deserve consideration.\n\n**Good fit if:**\n- You need asynchronous port discovery across large, authorized IP ranges rather than deep inspection of a small number of hosts.\n- Your workflow benefits from IPv4 and IPv6 support, scan sharding, or machine-readable output.\n- You can configure network interfaces, source addresses or ports, and firewall rules to accommodate its custom stack.\n\n**Look elsewhere if:**\n- You need detailed single-host enumeration or DNS-name scanning, which the project says are outside its focus.\n- You need a recently released version on a regular cadence. There has been no release in over a year.\n- Your organization cannot meet the obligations of the AGPL-3.0 license.\n\n## Project Health\n\n| Signal | Value |\n|---|---|\n| Status | **Maintained**: a few commits in the last 90 days |\n| Last commit | 2026-10-05 (1 month ago) |\n| Commits, last 90 days | 2 |\n| Releases, last 12 months | 0 (latest 1.3.2, 2021-01-31) |\n| Contributors | 71 (top contributor: 77% of commits) |\n| Issues closed, last 90 days | 2 |\n| Pull requests merged, last 90 days | 1 |\n| Project age | 13 years |\n\nChecked on 2026-11-07 with the GitHub API.\n\n## Project Facts\n\n- Language: C\n- License: AGPL-3.0\n- Stars: 26.1k\n- Forks: 3.2k\n- Archived: no\n\n## What You Need\n\nDetected in the repository:\n\n- C (main language on GitHub)\n- Automated checks on GitHub Actions\n\n## Getting Started\n\nOn Debian or Ubuntu, install the compiler and build tools, then build from source:\n\n```sh\nsudo apt-get install git make gcc\n git clone https://github.com/robertdavidgraham/masscan\ncd masscan\nmake\n```\n\nSee the [README](https://github.com/robertdavidgraham/masscan) for platform-specific build guidance, scan options, and network configuration details. Only scan systems and networks you are authorized to assess.\n\n## License in Plain Words\n\n**AGPL-3.0** (network copyleft).\n\n- Commercial use: yes\n- Modify and redistribute: yes\n- You must keep: the license notice\n- Share your changes: yes, the full source, also when people only use it over a network (e.g. as a hosted service)\n- Includes an explicit patent grant from the contributors\n\nA summary, not legal advice: the LICENSE file is what applies.\n\n## Alternatives\n\n- [RustScan](https://osrepos.com/repo/bee-san-rustscan): RustScan is a Rust-based port scanner that can hand discovered ports to Nmap, while masscan uses its own TCP/IP stack for high-speed large-range scans.\n\n| Project | Language | License | Stars | Status |\n|---|---|---|---|---|\n| **masscan** | C | AGPL-3.0 | 26.1k | Maintained |\n| [RustScan](https://osrepos.com/repo/bee-san-rustscan) | Rust | GPL-3.0 | 20.5k | Active |\n\n## Considerations\n\nMasscan can transmit probes at very high rates, and the README warns that traffic can overwhelm networks, particularly when scanning a focused IPv6 subnet. Start with a conservative rate, use exclusions where appropriate, and plan scans to avoid disrupting target networks. Its own TCP/IP stack may conflict with the operating system's stack; banner checks can require a separate source IP or firewall rules. The project has recent commits and is marked maintained, but has had no release in over a year, and most of the code comes from one person. It is licensed under AGPL-3.0.","metrics":{"detailViews":4,"githubClicks":0},"dates":{"published":null,"modified":"2026-11-07T01:37:25.000Z"}}