CyberNetScope is a fast network reconnaissance and port scanner written in
modern C++. It resolves a target, maps its DNS records, scans TCP ports
concurrently, grabs service banners, and detects product versions. For each
detected service it prints a ready-to-run searchsploit query so you can
cross-check known vulnerabilities yourself.
It does host discovery and enumeration only. It does not exploit anything.
# 1. install dependencies
sudo apt update && sudo apt install build-essential cmake libssl-dev
# 2. build (both commands are required)
cmake -B build
cmake --build build
# 3. run
./build/cybernetscope --help
./build/cybernetscope scanme.nmap.org -p 1-1024 --deepSee Build for a step-by-step explanation.
- Forward and reverse DNS resolution (A/AAAA, PTR).
- DNS record lookups: CNAME, MX, NS, TXT.
- Concurrent TCP connect scanning (no root required).
- Banner grabbing and service/version detection.
- TLS handshake details: protocol, cipher, and full certificate (CN, SANs, issuer, expiry).
- HTTP fingerprinting: status, title, redirects, powered-by.
- Built-in port reference: every open port is labelled with what it does.
- Risk flagging: high-risk and commonly attacked ports are marked, with a one-line reason and an attention summary.
searchsploitquery hints based on detected versions.- Dictionary-based subdomain enumeration.
- Human-readable console output and JSON export.
CyberNetScope uses TCP connect scanning, which completes the normal three-way handshake. It works without elevated privileges and is reliable through most NAT and firewall setups. It is not stealthy by design - if you need SYN/stealth scanning, that requires raw sockets and root, and is out of scope here.
Discovery runs on a single epoll loop driving thousands of non-blocking connects at once, so a full 1-65535 sweep finishes in seconds on a responsive host. Service fingerprinting (TLS, banners, HTTP) then runs only on the open ports.
- Linux.
- A C++17 compiler (GCC or Clang).
- CMake 3.16+.
- libresolv (ships with glibc), pthreads and OpenSSL.
On Debian/Ubuntu/Kali:
sudo apt update
sudo apt install build-essential cmake libssl-devCyberNetScope can shell out to these when the matching flag is used. They are optional - without them the related feature simply reports that the tool is missing:
sudo apt install masscan nuclei sqlmapFollow the steps in order. There are two cmake commands and they do different things: the first one configures the project, the second one actually compiles it. You need both.
Step 1 - get the code. Either clone the repo:
git clone https://github.com/d3xm0s/CyberNetScope.git
cd CyberNetScopeor, if you have the zip, unzip it and enter the folder:
unzip CyberNetScope.zip
cd CyberNetScopeStep 2 - install the build dependencies (skip if already installed):
sudo apt update
sudo apt install build-essential cmake libssl-devStep 3 - configure (creates the build/ folder and checks your system):
cmake -B buildStep 4 - compile (this is what produces the binary):
cmake --build buildAfter step 4 the binary is at build/cybernetscope. Check it works:
./build/cybernetscope --helpOptional - install system-wide so you can run cybernetscope from anywhere
instead of ./build/cybernetscope:
sudo cmake --install build
cybernetscope --helpCommon mistake: running
cmake -B buildand then trying./build/cybernetscoperight away. That only configures the project. You must runcmake --build buildfirst to compile it.
If you don't want to use cmake, you can compile directly:
g++ -std=c++17 -O2 -Iinclude src/*.cpp -o cybernetscope -lpthread -lresolv -lssl -lcryptocybernetscope <target> [target...] [options]Scan the top common ports of a host with banner grabbing:
cybernetscope example.comScan a specific port range:
cybernetscope 192.168.1.10 -p 1-1024Scan every port fast:
cybernetscope 192.168.1.10 -p 1-65535List what every known port is used for:
cybernetscope --ports-listScan a few explicit ports across multiple hosts:
cybernetscope host-a.local host-b.local -p 22,80,443,8080Enumerate subdomains using the bundled wordlist:
cybernetscope -d example.comEnumerate subdomains with your own wordlist and save everything as JSON:
cybernetscope -d example.com -w /usr/share/wordlists/subdomains.txt -j result.jsonFaster scan, more threads, shorter timeout, no version detection:
cybernetscope 10.0.0.5 -p 1-65535 -t 500 --timeout 600 --no-bannerUse masscan as the discovery backend, then fingerprint what it finds (needs root):
sudo cybernetscope 10.0.0.0/24 -p 1-65535 --masscan --rate 5000Тихий low-and-slow скан, чтобы оставить минимальный след:
cybernetscope 192.168.1.10 -p 1-1024 --quietГлубокий скан с TLS-рукопожатием, деталями сертификата и HTTP-fingerprint:
cybernetscope example.com -p 443,8443 --deepСкан, затем запуск nuclei по найденным веб-сервисам:
cybernetscope example.com --nucleiДетект SQL-инъекций через sqlmap по параметризованному URL:
cybernetscope --sqlmap "https://example.com/item?id=1"Передать в sqlmap доп. опции (более глубокий детект, на ваше усмотрение):
cybernetscope --sqlmap "https://example.com/item?id=1" --sqlmap-args "--level=3" --sqlmap-args "--risk=2"Quiet, low-and-slow scan to keep the footprint small:
cybernetscope 192.168.1.10 -p 1-1024 --quietDeep scan with TLS handshake, certificate details and HTTP fingerprinting:
cybernetscope example.com -p 443,8443 --deepScan, then run nuclei against any web services found:
cybernetscope example.com --nucleiRun sqlmap injection detection against a parameterized URL:
cybernetscope --sqlmap "https://example.com/item?id=1"Pass extra options through to sqlmap (deeper detection, your call):
cybernetscope --sqlmap "https://example.com/item?id=1" --sqlmap-args "--level=3" --sqlmap-args "--risk=2"| Option | Description |
|---|---|
-p, --ports SPEC |
Ports: 22,80,443, 1-1024, or top (default: top) |
-t, --threads N |
Fingerprint workers for open ports (default: 200) |
--max-in-flight N |
Simultaneous connects during discovery (default: 2000) |
--timeout MS |
Connect timeout in milliseconds (default: 1500) |
--no-banner |
Skip banner grabbing and version detection |
--masscan |
Use masscan as the discovery backend (needs root) |
--rate PPS |
masscan packet rate, packets per second (default: 1000) |
-q, --quiet |
Low-and-slow stealth scan (few threads, jitter, randomized order) |
--deep |
Thorough scan: retries, larger timeouts, full TLS/cert and HTTP fingerprinting |
--nuclei |
Run nuclei against discovered web services |
--sqlmap URL |
Run sqlmap injection detection against URL (repeatable) |
--sqlmap-args A |
Extra args passed verbatim to sqlmap (repeatable) |
-d, --domain NAME |
Enumerate subdomains of NAME |
-w, --wordlist FILE |
Wordlist for subdomain enumeration |
--no-dns |
Skip MX/NS/TXT/CNAME lookups |
-j, --json FILE |
Write results as JSON |
--no-color |
Disable colored output |
--ports-list |
Print the known port/service reference and exit |
-h, --help |
Show help |
-v, --version |
Show version |
cyberCyberNetScope does not ship a CVE database and does not claim a service is
vulnerable. What it does is detect the product and version, then print a
searchsploit query you can run against the offline Exploit-DB that ships with
Kali:
2222/tcp ssh OpenSSH 8.9p1
searchsploit OpenSSH 8.9
This keeps the results honest and current - you check the version against
searchsploit or the NVD instead of trusting a stale built-in list.
CyberNetScope/
├── CMakeLists.txt
├── README.md
├── include/cybernetscope/ public headers
│ ├── dns.hpp
│ ├── port_scanner.hpp
│ ├── banner.hpp
│ ├── service_db.hpp
│ ├── masscan.hpp
│ ├── process.hpp
│ ├── nuclei.hpp
│ ├── sqlmap.hpp
│ ├── tls.hpp
│ ├── http.hpp
│ ├── subdomain.hpp
│ ├── output.hpp
│ └── thread_pool.hpp
├── src/ implementation
│ ├── main.cpp
│ ├── dns.cpp
│ ├── port_scanner.cpp
│ ├── banner.cpp
│ ├── service_db.cpp
│ ├── masscan.cpp
│ ├── process.cpp
│ ├── nuclei.cpp
│ ├── sqlmap.cpp
│ ├── tls.cpp
│ ├── http.cpp
│ ├── subdomain.cpp
│ ├── output.cpp
│ └── thread_pool.cpp
└── data/
└── subdomains.txt default subdomain wordlist
Only scan systems you own or have explicit written permission to test. Unauthorized scanning may be illegal in your jurisdiction. You are responsible for how you use this tool.
MIT. See the LICENSE file.
CyberNetScope - быстрый инструмент сетевой разведки и сканер портов на современном C++. Резолвит цель, собирает её DNS-записи, параллельно сканирует TCP-порты,
снимает баннеры служб и определяет версии продуктов. Для каждой найденной
службы печатает готовый запрос searchsploit, чтобы вы сами сверились с
известными уязвимостями.
Инструмент только обнаруживает и перечисляет. Ничего не эксплуатирует.
# 1. поставить зависимости
sudo apt update && sudo apt install build-essential cmake libssl-dev
# 2. собрать (нужны обе команды)
cmake -B build
cmake --build build
# 3. запустить
./build/cybernetscope --help
./build/cybernetscope scanme.nmap.org -p 1-1024 --deepПодробное пошаговое объяснение - в разделе Сборка.
- Прямой и обратный DNS-резолвинг (A/AAAA, PTR).
- Запрос DNS-записей: CNAME, MX, NS, TXT.
- Параллельное TCP connect-сканирование (root не нужен).
- Снятие баннеров и определение службы/версии.
- Детали TLS-рукопожатия: протокол, шифр и весь сертификат (CN, SAN, издатель, срок).
- HTTP-fingerprint: статус, заголовок страницы, редиректы, powered-by.
- Встроенный справочник портов: каждый открытый порт подписан, за что отвечает.
- Пометка риска: опасные и часто атакуемые порты выделяются, с краткой причиной и итоговой сводкой.
- Подсказки
searchsploitна основе найденных версий. - Перебор поддоменов по словарю.
- Читаемый вывод в консоль и экспорт в JSON.
cyberCyberNetScope использует TCP connect-сканирование - полное трёхстороннее рукопожатие. Работает без повышенных привилегий и надёжно проходит через большинство NAT и фаерволов. Скрытным он не задумывался: если нужен SYN/stealth-скан, это raw-сокеты и root, что выходит за рамки проекта.
Фаза обнаружения работает на одном epoll-цикле, который держит тысячи неблокирующих коннектов разом, поэтому полный проход 1-65535 на отвечающем хосте занимает секунды. Fingerprint (TLS, баннеры, HTTP) затем запускается только по открытым портам.
- Linux.
- Компилятор C++17 (GCC или Clang).
- CMake 3.16+.
- libresolv (идёт с glibc), pthreads и OpenSSL.
На Debian/Ubuntu/Kali:
sudo apt update
sudo apt install build-essential cmake libssl-devcyberCyberNetScope вызывает их, когда указан соответствующий флаг. Они не обязательны - без них функция просто сообщит, что инструмент не найден:
sudo apt install masscan nuclei sqlmapВыполняйте шаги по порядку. Здесь две команды cmake, и они делают разное: первая настраивает проект, вторая собственно компилирует. Нужны обе.
Шаг 1 - получите код. Либо клонируйте репозиторий:
git clone https://github.com/d3xm0s/CyberNetScope.git
cd CyberNetScopeлибо, если у вас zip, распакуйте и зайдите в папку:
unzip CyberNetScope.zip
cd CyberNetScopeШаг 2 - поставьте зависимости для сборки (пропустите, если уже стоят):
sudo apt update
sudo apt install build-essential cmake libssl-devШаг 3 - настройка (создаёт папку build/ и проверяет систему):
cmake -B buildШаг 4 - компиляция (именно она создаёт бинарник):
cmake --build buildПосле шага 4 бинарник лежит в build/cybernetscope. Проверьте, что работает:
./build/cybernetscope --helpОпционально - установка в систему, чтобы запускать cybernetscope откуда
угодно, а не ./build/cybernetscope:
sudo cmake --install build
cybernetscope --helpЧастая ошибка: выполнить
cmake -B buildи сразу пробовать./build/cybernetscope. Это только настройка. Сначала нужно скомпилировать командойcmake --build build.
Если не хотите использовать cmake, можно собрать напрямую:
g++ -std=c++17 -O2 -Iinclude src/*.cpp -o cybernetscope -lpthread -lresolv -lssl -lcryptocybernetscope <цель> [цель...] [опции]Сканировать топ распространённых портов хоста со снятием баннеров:
cybernetscope example.comСканировать диапазон портов:
cybernetscope 192.168.1.10 -p 1-1024Быстро просканировать все порты:
cybernetscope 192.168.1.10 -p 1-65535Посмотреть, за что отвечает каждый известный порт:
cybernetscope --ports-listНесколько конкретных портов на нескольких хостах:
cybernetscope host-a.local host-b.local -p 22,80,443,8080Перебрать поддомены встроенным словарём:
cybernetscope -d example.comПеребрать поддомены своим словарём и сохранить всё в JSON:
cybernetscope -d example.com -w /usr/share/wordlists/subdomains.txt -j result.jsonБыстрый скан: больше потоков, меньше таймаут, без определения версий:
cybernetscope 10.0.0.5 -p 1-65535 -t 500 --timeout 600 --no-bannerИспользовать masscan как бэкенд обнаружения, затем снять версии с найденного (нужен root):
sudo cybernetscope 10.0.0.0/24 -p 1-65535 --masscan --rate 5000| Опция | Описание |
|---|---|
-p, --ports SPEC |
Порты: 22,80,443, 1-1024 или top (по умолчанию top) |
-t, --threads N |
Воркеры fingerprint по открытым портам (по умолчанию 200) |
--max-in-flight N |
Одновременных коннектов в фазе обнаружения (по умолчанию 2000) |
--timeout MS |
Таймаут подключения в мс (по умолчанию 1500) |
--no-banner |
Не снимать баннеры и не определять версии |
--masscan |
Использовать masscan как бэкенд обнаружения (нужен root) |
--rate PPS |
Скорость masscan, пакетов в секунду (по умолчанию 1000) |
-q, --quiet |
Тихий low-and-slow скан (мало потоков, джиттер, случайный порядок) |
--deep |
Тщательный скан: ретраи, больше таймауты, полный TLS/сертификат и HTTP-fingerprint |
--nuclei |
Запустить nuclei по найденным веб-сервисам |
--sqlmap URL |
Запустить детект инъекций sqlmap по URL (можно несколько) |
--sqlmap-args A |
Доп. аргументы, передаются в sqlmap как есть (можно несколько) |
-d, --domain NAME |
Перебор поддоменов домена NAME |
-w, --wordlist FILE |
Словарь для перебора поддоменов |
--no-dns |
Пропустить запросы MX/NS/TXT/CNAME |
-j, --json FILE |
Сохранить результат в JSON |
--no-color |
Отключить цветной вывод |
--ports-list |
Вывести справку портов/служб и выйти |
-h, --help |
Показать справку |
-v, --version |
Показать версию |
CyberNetScope не содержит встроенной базы CVE и не утверждает, что служба уязвима.
Он определяет продукт и версию, а затем печатает запрос searchsploit, который
вы запускаете против офлайн-базы Exploit-DB из комплекта Kali:
2222/tcp ssh OpenSSH 8.9p1
searchsploit OpenSSH 8.9
Так результаты остаются честными и актуальными - вы сверяете версию через
searchsploit или NVD, а не доверяете устаревшему встроенному списку.
CyberNetScope/
├── CMakeLists.txt
├── README.md
├── include/cybernetscope/ публичные заголовки
│ ├── dns.hpp
│ ├── port_scanner.hpp
│ ├── banner.hpp
│ ├── service_db.hpp
│ ├── masscan.hpp
│ ├── process.hpp
│ ├── nuclei.hpp
│ ├── sqlmap.hpp
│ ├── tls.hpp
│ ├── http.hpp
│ ├── subdomain.hpp
│ ├── output.hpp
│ └── thread_pool.hpp
├── src/ реализация
│ ├── main.cpp
│ ├── dns.cpp
│ ├── port_scanner.cpp
│ ├── banner.cpp
│ ├── service_db.cpp
│ ├── masscan.cpp
│ ├── process.cpp
│ ├── nuclei.cpp
│ ├── sqlmap.cpp
│ ├── tls.cpp
│ ├── http.cpp
│ ├── subdomain.cpp
│ ├── output.cpp
│ └── thread_pool.cpp
└── data/
└── subdomains.txt словарь поддоменов по умолчанию
Сканируйте только те системы, которыми владеете или на тест которых есть явное письменное разрешение. Несанкционированное сканирование может быть незаконным. Ответственность за использование инструмента лежит на вас.
Copyright (c) 2026 d3xm0s
