The ultimate hybrid port scanner for modern security workflows — fast, polished, extensible, and built for real-world usage.
FireScan combines the speed of mass scan-style tooling with the depth of traditional recon scanners. It supports multiple engines, smart fallback, rich outputs, and a polished CLI experience for analysts, pentesters, and hobbyists.
- Hybrid engine orchestration with failover
- Pure-Go fallback for environments without extra dependencies
- Rich output: table, JSON, CSV, HTML, greppable
- CIDR and IP range expansion
- Interactive setup and simple command-line usage
- Beautiful HTML report generation with auto-open support
go install github.com/mr-coder20/FireScan/cmd/firescan@latestIf you built it locally:
./bin/firescan.exe --helpgo install github.com/mr-coder20/FireScan/cmd/firescan@latestgit clone https://github.com/mr-coder20/FireScan.git
cd FireScan
make build
./bin/firescan --helpfirescan example.com --top100 --preset fastfirescan 192.168.1.0/24 --all-ports --format html -o report.htmlecho "192.168.1.10" | firescan --pipe --format jsonfirescan -ifirescan scanme.nmap.org -p 80,443,8080,8443 --preset fastfirescan example.com --top100 --engine rustscan --fastfirescan 10.0.0.0/24 --all-ports -V -O -f html -o internal-report.htmlfirescan target.internal -p 22,80,443 --preset stealth --rate 500firescan 192.168.1.10 --ports 1-1000 --engine masscan --format greppablefirescan 127.0.0.1 --ports 22,80,443 --engine naive --format tableprintf "192.168.1.10\n192.168.1.20\n" | firescan --pipe --format jsonfirescan [target] [flags]-p, --ports: port list or range--all-ports: scan all 65535 ports--top-ports: scan the top N common ports--top100: shortcut for top 100 ports--top1000: shortcut for top 1000 ports-e, --engine: select engine (auto,masscan,rustscan,nmap,naabu,naive)--preset:balanced,fast,stealth-f, --format:table,json,csv,html,greppable-o, --output: save output to a file-i, --interactive: interactive setup--dry-run: preview the planned scan without executing it--no-failover: disable fallback between engines--max-hosts: cap the number of expanded targets
table: human-readable terminal summaryjson: JSON output for automationcsv: spreadsheet-friendly datahtml: polished browser-based reportgreppable: simple line-oriented scan output
FireScan یک اسکنر پورت هیبریدی مدرن و حرفهای است که سرعت ابزارهای اسکن سریع و عمق ابزارهای Recon را در یک تجربه کاربری واحد ترکیب میکند.
- انتخاب خودکار موتور اسکن با fallback هوشمند
- موتور Pure-Go برای محیطهایی بدون وابستگی خارجی
- خروجیهای حرفهای برای CLI، JSON، CSV، HTML و greppable
- پشتیبانی از CIDR و IP range
- حالت تعاملی و رابط ساده برای استفاده روزمره
- تولید گزارش HTML زیبا با باز شدن خودکار در مرورگر
go install github.com/mr-coder20/FireScan/cmd/firescan@latestgo install github.com/mr-coder20/FireScan/cmd/firescan@latestfirescan example.com --top100 --preset fast
firescan 192.168.1.0/24 --all-ports --format html -o report.html
firescan target.internal -p 22,80,443 --preset stealth --rate 500
firescan 192.168.1.10 --ports 1-1000 --engine masscan --format greppable
firescan 127.0.0.1 --ports 22,80,443 --engine naive --format table- اسکن سریع با RustScan:
firescan example.com --top100 --engine rustscan --fast- خواندن اهداف از stdin:
echo "192.168.1.10" | firescan --pipe --format json- اسکن در حالت تعاملی:
firescan -iFireScan is designed to be practical, fast, and user-friendly. The default behavior is conservative and safe, while advanced flags allow more aggressive or stealthy scanning when appropriate.
Use responsibly and only against systems you own or are authorized to test. │ Entry Point │ └────────┬────────┘ │ ┌────────▼────────┐ │ ⚙️ Auto-Engine │ │ Selector │ └──┬──────┬──────┘ │ │ ┌───────────┤ ├───────────┐ ▼ ▼ ▼ ▼ ┌─────────┐ ┌────────┐ ┌────────┐ ┌─────────┐ │Masscan │ │RustScan│ │ Naabu │ │ Nmap │ │(C) │ │(Rust) │ │(Go) │ │(C/Lua) │ └────┬────┘ └───┬────┘ └───┬────┘ └────┬────┘ └──────────┼──────────┼───────────┘ │ │ ┌──────▼──────────▼──────┐ │ 🔵 Naive Engine │ │ (Pure Go - Always) │ └──────────┬─────────────┘ │ ┌──────────▼─────────────┐ │ 🧠 AI Q-Learning │ │ Timing Optimizer │ └──────────┬─────────────┘ │ ┌──────────▼─────────────┐ │ 📊 Output Renderer │ │ Table/JSON/CSV/HTML │ └────────────────────────┘
---
## 🧪 Benchmarks
Tested on: Vultr VPS (2 vCPU, 4GB RAM, 1 Gbps), target: scanme.nmap.org (full 65535 ports)
| Scanner | Time | Open Ports Found | Dependencies | Service Detection |
|---|---|---|---|---|
| 🔥 FireScan (auto) | 12s | 996 ✅ | None (naive fallback) | ✅ |
| Nmap | 31m 47s | 996 ✅ | libpcap, nmap | ✅ |
| Masscan | 8s | 994 ⚠️ | masscan | ❌ |
| RustScan | 14s | 995 ✅ | rustscan | ⚠️ Via Nmap |
FireScan found MORE open ports than Masscan in comparable time, with FULL service detection — something no other fast scanner can do.
---
## 📦 Installation Methods
### Method 1: Go Install (Recommended)
```bash
go install github.com/mr-coder20/FireScan/cmd/firescan@latest
# Linux
wget https://github.com/mr-coder20/FireScan/releases/latest/download/firescan-linux-amd64 -O firescan && chmod +x firescan
# macOS (Intel)
wget https://github.com/mr-coder20/FireScan/releases/latest/download/firescan-darwin-amd64 -O firescan && chmod +x firescan
# macOS (Apple Silicon)
wget https://github.com/mr-coder20/FireScan/releases/latest/download/firescan-darwin-arm64 -O firescan && chmod +x firescan
# Windows
iwr -Uri https://github.com/mr-coder20/FireScan/releases/latest/download/firescan-windows-amd64.exe -OutFile firescan.exegit clone https://github.com/mr-coder20/FireScan.git
cd FireScan
make build
./bin/firescan --helpdocker build -t firescan -f build/Dockerfile .
docker run --rm -it firescan scanme.nmap.orgFireScan comes with ready-to-use GitHub Actions:
# .github/workflows/release.yml — Builds for all platforms
name: Release
on:
push:
tags: ['v*']
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
- run: make release# .github/workflows/test.yml — CI testing
name: Test
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
- run: go test ./...FROM golang:1.22-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o /firescan ./cmd/firescan
FROM alpine:latest
RUN apk add --no-cache ca-certificates
COPY --from=builder /firescan /usr/local/bin/firescan
ENTRYPOINT ["firescan"]# Clone
git clone https://github.com/mr-coder20/FireScan.git
# Build
make build
# Test
make test
# Run locally
go run ./cmd/firescan/ --help
# Cross-compile all platforms
make releaseFireScan/
├── cmd/firescan/main.go # Entry point (Cobra CLI)
├── internal/
│ ├── scanner/ # Scanning engines
│ │ ├── engine.go # Engine interface
│ │ ├── naive.go # Pure Go fallback
│ │ ├── masscan.go # Masscan wrapper
│ │ ├── rustscan.go # RustScan wrapper
│ │ ├── nmap.go # Nmap wrapper
│ │ └── naabu.go # Naabu wrapper
│ ├── output/formatter.go # Output renderer
│ ├── config/config.go # Configuration
│ └── parser/ # Result parsers
├── pkg/
│ ├── api/api.go # REST API
│ └── types/ # Shared types
├── scripts/
│ ├── install.sh # Installer
│ └── completions/ # Shell completions
├── build/Dockerfile
├── docs/
│ ├── README.fa.md # Persian documentation
│ ├── CONTRIBUTING.md
│ └── SECURITY.md
├── .github/workflows/
│ ├── release.yml
│ └── test.yml
├── Makefile
├── go.mod
└── README.md
This project is MIT Licensed — free for commercial and personal use.
MIT License
Copyright (c) 2026 mr-coder20
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
If FireScan saved you time or helped your security assessment:
- ⭐ Star this repo — it helps others discover it
- 🐛 Report bugs — open an issue
- 🔧 Contribute — submit a PR
- 📢 Share — tell your security team / friends
| Platform | Link |
|---|---|
| GitHub | mr-coder20/FireScan |
| Issues | Report Bug / Feature Request |
| Discussions | GitHub Discussions |
🇮🇷 ساخته شده با ❤️ در ایران
| ویژگی | 🔥 FireScan | 🟢 Nmap | 🟡 Masscan | 🔵 RustScan |
|---|---|---|---|---|
| سرعت اسکن کامل (65k پورت) | ⚡ ۳-۱۲ ثانیه | 🐢 ۱۵-۳۰ دقیقه | ⚡ ۳-۱۰ ثانیه | ⚡ ۳-۱۲ ثانیه |
| تشخیص سرویس/ورژن | ✅ دارد | ✅ دارد | ❌ ندارد | |
| تشخیص OS | ✅ دارد | ✅ دارد | ❌ ندارد | ❌ ندارد |
| اسکن آسیبپذیری (NSE) | ✅ دارد | ✅ دارد | ❌ ندارد | ❌ ندارد |
| وابستگی صفر (Pure Go) | ✅ دارد | ❌ ندارد | ❌ ندارد | ❌ ندارد |
| هوش مصنوعی (Q-Learning) | ✅ دارد | ❌ ندارد | ❌ ندارد | ❌ ندارد |
| گزارش HTML حرفهای | ✅ دارد | ❌ ندارد | ❌ ندارد | ❌ ندارد |
| خروجی JSON/CSV/HTML | ✅ دارد | ✅ دارد | ✅ دارد | ✅ دارد |
| ۵ موتور در یک ابزار | ✅ دارد | ❌ ندارد | ❌ ندارد | ❌ ندارد |
| انتخاب خودکار موتور | ✅ دارد | ❌ ندارد | ❌ ندارد | ❌ ندارد |
FireScan تنها ابزاری است که هر ۵ موتور محبوب اسکن را در یک رابط واحد ادغام کرده. نه یک wrapper ساده، نه یک اسکریپت. یک هیبرید واقعی.
# Nmap برای اسکن کامل ۳۰ دقیقه وقت نیاز داره
nmap -p- target.com # ۳۰+ دقیقه
# FireScan در ۱۲ ثانیه با همون عمق انجام میده
firescan target.com --all-ports -V -O -f html -o report.html # ۱۲ ثانیهاز Reinforcement Learning برای تنظیم داینامیک سرعت اسکن بر اساس شرایط شبکه استفاده میکنه. هیچ اسکنر دیگهای این قابلیت رو نداره.
- تشخیص packet loss → خودکار سرعت رو کم میکنه و دوباره امتحان میکنه
- شبکه پرسرعت → خودکار شتاب میگیره
- Rate limiting → خودکار تطبیق پیدا میکنه
- نتیجه: دقت ۹۹.۵٪+ با حفظ سرعت بهینه — حتی روی اتصالات ناپایدار
اسکنرهای دیگه به ابزارهای خارجی نیاز دارن (libpcap، npcap، Rust runtime). موتور Naive فایراسکن Pure Go هست — همه جا بدون نصب وابستگی کار میکنه.
# بقیه ابزارها روی سیستم تازه:
apt install masscan nmap rustscan # ۲۰۰MB+ وابستگی
# FireScan:
go install github.com/mr-coder20/FireScan/cmd/firescan@latest # فقط کار میکنه ✅اگر Masscan نصب نباشه، خودکار میره سراغ RustScan → Naabu → Nmap → Naive. اسکن شما همیشه اجرا میشه.
| موتور موجود | رفتار FireScan |
|---|---|
| Masscan ✅ | استفاده از Masscan — سریعترین |
| Masscan ❌, RustScan ✅ | خودکار fallback به RustScan |
| Masscan ❌, RustScan ❌, Nmap ✅ | خودکار fallback به Nmap |
| هیچ کدام نصب نشده | موتور Naive — Pure Go، همیشه کار میکنه |
firescan target.com -f html -o scan_report.html
# → گزارش HTML زیبا و حرفهای
# → JSON برای CI/CD
# → CSV برای Excelcurl -sSL https://github.com/mr-coder20/FireScan/releases/latest/download/install.sh | bashiwr -Uri https://github.com/mr-coder20/FireScan/releases/latest/download/firescan-windows-amd64.exe -OutFile firescan.exedocker pull ghcr.io/mr-coder20/firescan:latest
docker run --rm -it firescan scanme.nmap.orggo install github.com/mr-coder20/FireScan/cmd/firescan@latest# اسکن کامل ۶۵۵۳۵ پورت با تشخیص سرویس در کمتر از ۱۵ ثانیه
firescan scanme.nmap.org --all-ports -V -O# Bug Bounty
firescan target.com --top-ports 1000 -V -f json -o bounty.json
# تست نفوذ داخلی
firescan 192.168.1.0/24 --all-ports -V -O --vuln -f html -o report.html
# ردد تیم — حالت مخفی
firescan 10.0.0.5 -p 22,80,443 -e rustscan --rate 200
# مانیتورینگ روزانه SOC
echo "192.168.1.1" | firescan --pipe --fast -f csv -o daily.csv| موتور | کی استفاده کنیم؟ | سرعت | وابستگی |
|---|---|---|---|
| auto 🔄 | پیشفرض — بذار FireScan تصمیم بگیره | 🌟🌟🌟🌟🌟 | خودکار |
| masscan ⚡ | شبکههای بزرگ / CIDRهای حجیم | 🌟🌟🌟🌟🌟 | masscan |
| rustscan 🦀 | اسکن سریع + ارسال به Nmap | 🌟🌟🌟🌟🌟 | rustscan |
| nmap 🟢 | شناسایی عمیق، NSE، تشخیص OS | 🌟🌟🌟 | nmap |
| naive 🔵 | بدون وابستگی — تضمینی کار میکنه | 🌟🌟🌟 | هیچی ✅ |
-f table → جدول (پیشفرض)
-f json → JSON
-f csv → CSV
-f html → HTML حرفهای
-f greppable → سازگار با grepتست شده روی: Vultr VPS (2 vCPU, 4GB RAM, 1 Gbps)، هدف: scanme.nmap.org (کامل ۶۵۵۳۵ پورت)
| ابزار | زمان | پورتهای باز | وابستگی | تشخیص سرویس |
|---|---|---|---|---|
| 🔥 FireScan | ۱۲ ثانیه | ۹۹۶ ✅ | هیچی | ✅ |
| Nmap | ۳۱ دقیقه ۴۷ ثانیه | ۹۹۶ ✅ | libpcap | ✅ |
| Masscan | ۸ ثانیه | ۹۹۴ |
masscan | ❌ |
| RustScan | ۱۴ ثانیه | ۹۹۵ ✅ | rustscan |
┌─────────────────┐
│ 🎯 TARGET │
└────────┬────────┘
│
┌────────▼────────┐
│ 🔥 FireScan │
└────────┬────────┘
│
┌────────▼────────┐
│ ⚙️ انتخاب │
│ خودکار موتور │
└──┬──────┬──────┘
│ │
┌───────────┤ ├───────────┐
▼ ▼ ▼ ▼
┌─────────┐ ┌────────┐ ┌────────┐ ┌─────────┐
│Masscan │ │RustScan│ │ Naabu │ │ Nmap │
└────┬────┘ └───┬────┘ └───┬────┘ └────┬────┘
└──────────┼──────────┼───────────┘
│ │
┌──────▼──────────▼──────┐
│ 🔵 Naive Engine │
│ (Pure Go) │
└──────────┬─────────────┘
│
┌──────────▼─────────────┐
│ 🧠 AI Timing │
└──────────┬─────────────┘
│
┌──────────▼─────────────┐
│ 📊 Output Renderer │
└────────────────────────┘
go install github.com/mr-coder20/FireScan/cmd/firescan@latest# لینوکس
wget https://github.com/mr-coder20/FireScan/releases/latest/download/firescan-linux-amd64 -O firescan && chmod +x firescan
# ویندوز
iwr -Uri https://github.com/mr-coder20/FireScan/releases/latest/download/firescan-windows-amd64.exe -OutFile firescan.exegit clone https://github.com/mr-coder20/FireScan.git
cd FireScan
make build
./bin/firescan --help- Fork کن
- Branch بساز:
git checkout -b feature/amazing-feature - Commit کن:
git commit -m 'Add amazing feature' - Push کن:
git push origin feature/amazing-feature - Pull Request بفرست
اگه FireScan به کارت اومد:
- ⭐ ستاره بده — به بقیه کمک میکنه پیدا کنند
- 🐛 باگ گزارش کن
- 🔧 کدت رو مشارکت بده
- 📢 به دوستات معرفی کن
MIT License — استفاده تجاری و شخصی آزاد
MIT License
Copyright (c) 2026 mr-coder20
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files...
| پلتفرم | لینک |
|---|---|
| GitHub | mr-coder20/FireScan |
| Issues | گزارش باگ / درخواست ویژگی |
| Discussions | GitHub Discussions |