2 releases

new 0.1.1 Apr 20, 2025
0.1.0 Apr 20, 2025

#352 in Network programming

MIT license

10KB
103 lines

🎯 PortSniper

	
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—	β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— 
β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β•šβ•β•β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
β–ˆβ–ˆβ•”β•β•β•β• β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•‘   β•šβ•β•β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β• β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
β–ˆβ–ˆβ•‘     β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
β•šβ•β•      β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•   β•šβ•β•   β•šβ•β•β•β•β•β•β•β•šβ•β•  β•šβ•β•β•β•β•šβ•β•β•šβ•β•     β•šβ•β•β•β•β•β•β•β•šβ•β•  β•šβ•β•
                                                                                    
                 

πŸ”« PortSniper is a blazing fast asynchronous port scanner built with Rust and powered by Tokio. It's perfect for lightweight and parallel port scanning during pentests or network analysis.


πŸš€ Features

  • ⚑ Asynchronous scanning with Tokio
  • πŸ•³οΈ Open port detection
  • ⏱️ Customizable timeout
  • 🧡 True parallelism with tasks
  • πŸ“Š Optional progress bar with indicatif
  • 🧠 Simple and clean CLI interface

πŸ› οΈ Installation

git clone https://github.com/miguell-j/portsniper.git
cd portsniper
cargo build --release

πŸ§ͺ Usage

cargo run --release -- --ip 192.168.0.1 --start 1 --end 1000 --timeout 1000

Arguments

Argument Description Default
--ip Target IP address required
--start Starting port 1
--end Ending port 1024
--timeout Timeout in milliseconds per port 1000

πŸ’‘ Example

cargo run --release -- --ip 192.168.0.100 --start 20 --end 90 --timeout 500

πŸ“€ Sample Output

πŸ”« PortSniper scanning 192.168.0.100 (ports 20 to 90)...

⏳ Scanning...

βœ… Open ports found:
 - Port 22
 - Port 80

πŸ“¦ Dependencies


This tool is intended for educational and ethical purposes only. Never use it against networks or systems without explicit permission. Misuse can lead to legal consequences.


πŸ‘¨β€πŸ’» Author

Crafted with πŸ’», β˜•, and some sleepless nights by Miguel AraΓΊjo Julio
πŸ“« Contact: julioaraujo.guel@gmail.com


πŸ“„ License

Licensed under the MIT License. See the LICENSE file for more information.

Dependencies

~6–14MB
~157K SLoC