Полный скан всех 65535 TCP-портов с Nmap занимает от нескольких минут до получаса. RustScan делает то же самое за 3-5 секунд. Это не преувеличение — инструмент написан на Rust, работает асинхронно и передаёт найденные открытые порты сразу в Nmap для детального анализа.
Как это работает
RustScan сначала быстро находит все открытые порты (только факт открытости, без деталей), а затем автоматически передаёт их в Nmap командой типа:
nmap -vvv -p 22,80,443,8080 192.168.1.1
Таким образом Nmap обрабатывает только реально открытые порты, экономя огромное количество времени.
Установка
wget https://github.com/RustScan/RustScan/releases/latest/download/rustscan_amd64.deb
sudo dpkg -i rustscan_amd64.deb
Или через Docker:
docker pull rustscan/rustscan:latest
alias rustscan='docker run -it --rm rustscan/rustscan:latest'
Базовое использование
rustscan -a 192.168.1.1
RustScan найдёт открытые порты и автоматически запустит Nmap. Для передачи флагов в Nmap используйте двойное тире:
rustscan -a 192.168.1.1 -- -sV -sC
Скан подсети:
rustscan -a 192.168.1.0/24 -- -sV
Управление скоростью
-b (batch size) — количество одновременно открытых сокетов. По умолчанию 4500.
--timeout — таймаут в миллисекундах (по умолчанию 1500):
rustscan -a 192.168.1.1 -b 1000 --timeout 2000
Для нестабильных сетей уменьшайте batch size и увеличивайте таймаут.
Диапазоны портов
Конкретные порты:
rustscan -a 192.168.1.1 -p 22,80,443,8080
Диапазон:
rustscan -a 192.168.1.1 -r 1-10000
Без ограничения — все 65535 портов (поведение по умолчанию):
rustscan -a 192.168.1.1
Интеграция с Nmap: типовой сценарий
В реальных проектах я использую такой pipeline:
rustscan -a 192.168.1.1 --ulimit 5000 -- -sV -sC -oA scan_results
Это даёт полный вывод Nmap со скоростью RustScan. Флаг --ulimit устанавливает лимит открытых файлов ОС для максимальной скорости.
Почему не просто Nmap
На CTF и быстрых пентестах экономия времени на сканировании — это реальная ценность. Разница между 30-секундным и 20-минутным сканом ощущается очень конкретно, когда работаешь с ограниченным временным окном. RustScan стал для меня стандартным первым шагом разведки вместо nmap -p-.
Пока нет комментариев. Будьте первым!