Содержание
Masscan — самый быстрый сетевой сканер портов. Он может просканировать весь Интернет со скоростью передачи данных 25 миллионов запросов в секунду, менее чем за 6 минут. В этой статье покажу, как установить на Linux и правильно использовать на Kali.
Еще по теме: Как написать сканер портов на Python
Что такое Masscan
Этот самый быстрый сканер портов дает результат, аналогичный nmap, но masscan работает как unicornscann, внутри Zenmap (асинхронное сканирование). Это быстрее из-за гибкости, допускающей произвольные диапазоны и диапазоны портов.
Masscan использует собственный стек TCP/IP. Все, кроме простого сканирования портов, может вызвать конфликт с локальным стеком TCP/IP.
Позже мы обсудим различия между Masscan и Nmap, а теперь давайте начнем с установки Masscan.
Установка Masscan на Linux
Masscan поставляется с предустановленной полной версией Kali Linux. Мы можем проверить основные варианты использования, просто введя следующую команду:
1 |
masscan |
Если в нашей системе нет Masscan, нам нужно его установить. Перед установкой нам нужно установить его зависимости с помощью следующей команды:
1 |
sudo apt-get install clang git gcc make libpcap-dev |
Затем мы можем установить его, применив следующую команду:
1 |
sudo apt-get install masscan |
Зависимости не требуют его установки, эти зависимости помогают масскану работать идеально. Мы также можем установить его из репозитория GitHub. Следующие команды будут полезны для его установки из репозитория Git.
1 |
git clone https://github.com/robertdavidgraham/masscan |
1 |
cd masscan |
1 |
sudo make |
Как пользоваться Masscan
Masscan используется для сканирования сети, если мы хотим просканировать один порт, мы можем выполнить это, применив следующую команду:
1 |
sudo masscan 172.217.167.46 -p443 |
Это будет сканировать один порт 443.
Мы также можем использовать этот инструмент для сканирования нескольких портов, разделенных запятой (,). Пример следующий:
1 |
sudo masscan 172.217.167.46 -p443,80,4444 |
Для сканирования диапазона портов мы можем использовать следующую команду:
1 |
sudo masscan 172.217.167.46 -p12-443 |
Приведенная выше команда будет сканировать порт с 12 по порт 443 на нашем заданном IP-адресе.
Итак, если нам нужно найти все порты, мы можем использовать следующую команду;
1 |
sudo masscan 172.217.167.46 -p0-65535 |
Существует ограниченное количество портов, то есть 65535. Приведенная выше команда проверит каждый порт.
Использование Masscan на полную катушку
Мы сказали, что masscan — самый быстрый сканер, но после использования предыдущих команд мы не почувствовали, что он быстрее.
Причина в том, что масскан сканирует со скоростью 100 пакетов в секунду, что медленно. Чтобы увеличить его, нам нужно использовать с ним флаг —rate.
1 |
sudo masscan 172.217.167.46 -p0-65535 --rate 25000000 |
Используя приведенную выше команду, мы можем достичь максимальной скорости (25 миллионов пакетов в секунду).
Еще одна вещь, мы не можем достичь максимальной скорости на системах Mac, Windows или Virtual Linux. Masscan лучше всего работает на основных установленных системах Linux. В других системах мы можем получить только 300 000 пакетов в секунду. Это действительно быстро, но с системой Linux мы можем получить максимальную скорость.
Чтобы сканировать быстрее, нам нужно иметь очень хорошее подключение к Интернету. Обычно Masscan может достичь максимальной скорости, но наше интернет-соединение не может отправить 25 миллионов пакетов в секунду. Хотя скорость, которую мы получили, была быстрее, чем у любого другого сканера портов.
Чтобы увидеть самый быстрый эффект, мы должны выбрать большую сеть для сканирования. В небольших сетях или в одном IP мы не можем увидеть более высокую скорость в наших глазах. Потому что сканирование небольших сетей — это работа нескольких секунд, поэтому скорость мы не чувствуем. Давай поговорим об этом.
По словам его автора Роберта Грэма, Masscan может просканировать весь Интернет за 6 минут. Если мы хотим сканировать весь Интернет на наличие определенного порта (например, 443), мы можем использовать следующую команду:
1 |
sudo masscan 0.0.0.0/0 -p443 --rate 250000000 --exclude 255.255.255.255 |
Эта команда просканирует весь Интернет на наличие 443 портов и покажет нам результат как можно быстрее. Здесь мы остановили сканирование. Мы можем видеть скриншот.
Вот как мы можем найти конкретный или уязвимый порт по всему Интернету.
Другое использование Masscan на Kali Linux
Чтобы сохранить результат вывода в файл, мы можем использовать следующую команду:
1 |
sudo masscan 172.217.167.46 -p0-65535 > example.txt |
Мы можем сохранять результаты не только в формате txt, но и в форматах XML ( -oX), Grepable ( -oG) и JSON ( -oJ). Нам нравится формат Grepable, потому что мы можем использовать вывод в других инструментах.
Мы также можем сканировать сеть на наличие верхних портов. Итак, если мы дадим ему ‐top-ports 100, он будет сканировать 100 самых распространенных портов, обнаруженных в соответствии с nmap. Мы можем выбрать наши основные номера портов, пример этого следующий (сканирование первых 10 портов):
1 |
sudo masscan 172.217.167.46 --top-ports 100 --rate 100000 |
В масскане есть функция паузы, да, мы можем приостановить процесс сканирования и возобновить его, когда нам нужно. Сканирование в большой сети оказалось полезным.
В процессе сканирования мы можем нажать CTRL+C, после чего через несколько секунд сканирование будет приостановлено и сохранен файл paused.conf. В этом файле есть все настройки и ходы сканирования. Мы можем снова возобновить процесс сканирования, используя следующую команду:
1 |
sudo masscan --resume paused.conf |
Что лучше Nmap или Masscan?
В этой статье мы узнали, что у masscan есть очень хорошие возможности, вывод похож на nmap, но между ними много различий. Это следующие:
- Nmap использует сканирование в синхронном режиме, которое очень медленное, но точное, а masscan использует сканирование в асинхронном режиме, которое очень быстрое, но не очень точное.
- Masscan не проверяет, работает хост или нет, он всегда считает хост подключенным к сети, но nmap всегда проверяет, работает ли хост или нет.
- Masscan никогда не конвертирует доменные имена в IP-адреса. Нам нужно вручную найти IP-адрес и предоставить его в masscan. Но nmap отлично работает с IP и доменными именами.
- Нам всегда нужно указывать порты на masscan.
Чтобы узнать больше о nmap и masscan, мы можем прочитать эту статью.
Есть также некоторое сходство в nmap и masscan. У Masscan есть некоторые настройки/флаги, совместимые с nmap. Для их проверки мы можем использовать команду
1 |
masscan -nmap |
Веб-интерфейс Masscan
Команда Offensive Security создала веб-интерфейс для masscan. Используя этот процесс, мы можем использовать masscan в простом веб-интерфейсе. Вот полное руководство от Offensive Security.