Asphyxia
A fast and efficient network scanner written in Rust.
Description
Asphyxia is a command-line network scanner that helps you discover open ports on a host and find reachable hosts on a network. It runs scans in parallel for speed and shows live progress while it works.
Features
- Port scanning — scan a range of ports or a specific comma-separated list on a target host.
- Address scanning — check a single IP, scan an IP range, or scan an entire subnet (CIDR).
- Parallel execution — scans run concurrently via rayon.
- Live progress bars — long-running scans show real-time progress.
- Colorized output — readable, colored terminal output.
Note: Asphyxia currently works with IPv4 targets.
Installation
Homebrew (macOS & Linux)
The formula is published automatically to the jtprogru/homebrew-tap tap on every release and supports macOS (Apple Silicon) and Linux (x86_64 & arm64).
Cargo
Install the latest published release from crates.io:
Or install the current main branch straight from the repository:
Prebuilt binaries
Download the archive for your platform from the latest release, unzip it, and place the asphyxia binary somewhere on your PATH. Builds are provided for:
- Linux:
x86_64,aarch64 - macOS:
aarch64(Apple Silicon)
Each archive is shipped with a detached GPG signature (.asc). After importing the signing key you can verify an archive with:
Building from source
Requires a recent stable Rust toolchain (the project uses the 2024 edition).
The compiled binary will be available at target/release/asphyxia.
Usage
Asphyxia exposes two subcommands: ps (port scan) and as (address scan).
Port scanning (ps)
# Scan a range of ports (start end)
# Scan specific ports (comma-separated)
| Flag | Description |
|---|---|
-t, --host <HOST> |
Target host (hostname or IP) |
-r, --range <START> <END> |
Scan an inclusive range of ports |
-s, --specific <PORTS> |
Scan specific comma-separated ports |
Address scanning (as)
# Scan a subnet in CIDR notation
# Scan a single IP address
# Scan a range of IP addresses (start end)
| Flag | Description |
|---|---|
-s, --subnet <SUBNET> |
Scan a subnet, e.g. 192.168.1.0/24 |
-t, --target <IP> |
Scan a single IPv4 address |
-r, --range <START> <END> |
Scan an inclusive range of IPv4 addresses |
Dependencies
- clap — command-line argument parsing
- rayon — parallel computing
- indicatif — progress bars and spinners
- owo-colors — terminal colors
- ipnetwork — IP network address handling
Development
CI runs formatting, Clippy (warnings denied), build, and tests on every pull request and push to main.
License
This project is licensed under the MIT License.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.