Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
sx — :vulcan_salute: Быстрый, современный, удобный сетевой сканер | Kitploit
Инструменты/GitHubGitHub/v-byte-cpu/sx
РазведкаКартирование сетиСканирование портовСбор информацииТестирование на Проникновение
GitHubv-byte-cpu/sx

sx

🖖 Быстрый, современный, удобный сетевой сканер

Репозиторий
1.6k108741 месяц назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

sx

License Build Status GoReportCard Status Platform

sx — это сетевой сканер командной строки, разработанный в соответствии с философией UNIX.

Цель этого проекта — создать самый быстрый сетевой сканер с чистым и простым кодом.

📖 Содержание

  • Возможности
  • Установка
  • Сборка из исходников
  • Быстрый старт
  • Ссылки
  • Участие
  • Благодарности
  • Лицензия

✨ Возможности

  • ⚡ В 30 раз быстрее, чем nmap
  • ARP-сканирование: Сканируйте локальные сети для обнаружения активных устройств
  • ICMP-сканирование: Используйте продвинутые методы ICMP-сканирования для обнаружения активных хостов и правил межсетевого экрана
  • TCP SYN-сканирование: Традиционное полуоткрытое сканирование для поиска открытых TCP-портов
  • TCP FIN / NULL / Xmas-сканирование: Методы сканирования для обхода некоторых правил межсетевого экрана
  • Пользовательские TCP-сканирования с любыми TCP-флагами: Отправляйте любые экзотические пакеты и получайте результат со всеми TCP-флагами, установленными в ответном пакете
  • UDP-сканирование: Сканируйте UDP-порты и получайте полные ICMP-ответы для обнаружения открытых портов или правил межсетевого экрана
  • Сканирование приложений:
    • SOCKS5-сканирование: Обнаруживайте активные SOCKS5-прокси, сканируя диапазон IP-адресов или список пар IP/порт из файла
  • Случайный перебор IP-адресов с использованием конечных циклических мультипликативных групп
  • Поддержка вывода в JSON: sx спроектирован специально для удобной автоматической обработки результатов

📦 Установка

Самый простой способ — скачать из GitHub Releases и поместить исполняемый файл в ваш PATH.

🛠 Сборка из исходников

Требования:

  • Go 1.25 или новее
  • libpcap (уже установлен, если вы используете wireshark)

На macOS сначала установите Xcode Command Line Tools, чтобы CGO мог ссылаться на системную libpcap:

xcode-select --install

Из корня дерева исходников выполните:

go build

🚀 Быстрый старт

Вот краткие примеры, показывающие, как можно сканировать сети с помощью sx.

ARP-сканирование

Сканируйте локальную сеть и отобразите IP-адрес, MAC-адрес и связанного производителя оборудования подключённых устройств:

sx arp 192.168.0.1/24

пример вывода:

192.168.0.1          b0:be:76:40:05:8d    TP-LINK TECHNOLOGIES CO.,LTD.
192.168.0.111        80:c5:f2:0b:02:e3    AzureWave Technology Inc.
192.168.0.171        88:53:95:2d:3c:af    Apple, Inc.

с выводом в JSON:

sx arp --json 192.168.0.1/24

пример вывода:

{"ip":"192.168.0.1","mac":"b0:be:76:40:05:8d","vendor":"TP-LINK TECHNOLOGIES CO.,LTD."}
{"ip":"192.168.0.111","mac":"80:c5:f2:0b:02:e3","vendor":"AzureWave Technology Inc."}
{"ip":"192.168.0.171","mac":"88:53:95:2d:3c:af","vendor":"Apple, Inc."}

подождать 5 секунд перед выходом, чтобы получить задержанные ответные пакеты (по умолчанию sx ждёт 300 миллисекунд):

sx arp --exit-delay 5s 192.168.0.1/24

Режим постоянного сканирования, который пересканирует сеть каждые 10 секунд:

sx arp 192.168.0.1/24 --live 10s

TCP-сканирование

В отличие от nmap и других сканеров, которые неявно выполняют ARP-запросы для разрешения IP-адресов в MAC-адреса перед фактическим сканированием, sx явно использует концепцию ARP-кэша. Файл ARP-кэша — это простой текстовый файл, содержащий строку JSON на каждой строке (файл JSONL), который имеет те же поля JSON, что и описанный выше вывод ARP-сканирования в JSON. Сканирования протоколов более высокого уровня, таких как TCP и UDP, читают файл ARP-кэша из stdin, а затем начинают фактическое сканирование.

Это не только упрощает дизайн программы, но и ускоряет процесс сканирования, поскольку не нужно каждый раз выполнять ARP-сканирование.

Предположим, что фактический ARP-кэш находится в файле arp.cache. Мы можем создать его вручную или использовать ARP-сканирование, как показано ниже:

sx arp 192.168.0.1/24 --json | tee arp.cache

После того как у нас есть файл ARP-кэша, мы можем запускать сканирования протоколов более высокого уровня, такие как TCP SYN-сканирование:

cat arp.cache | sx tcp -p 1-65535 192.168.0.171

пример вывода:

192.168.0.171        22
192.168.0.171        443

В этом случае мы обнаруживаем, что порты 22 и 443 открыты.

Если во время больших сканирований вы видите send: No buffer space available, это обычно означает, что отправитель переполняет буферы ядра/raw-сокетов. Первое решение — добавить --rate и уменьшить скорость отправки, например -r 100000/s или меньше, если необходимо. В некоторых системах настройка лимитов буферов сокетов ОС также может помочь, но ограничение скорости является основным исправлением.

сканирование с выводом в JSON:

cat arp.cache | sx tcp --json -p 1-65535 192.168.0.171

пример вывода:

{"scan":"tcpsyn","ip":"192.168.0.171","port":22}
{"scan":"tcpsyn","ip":"192.168.0.171","port":443}

сканирование нескольких диапазонов портов:

cat arp.cache | sx tcp -p 1-23,25-443 192.168.0.171

или отдельных портов:

cat arp.cache | sx tcp -p 22,443 192.168.0.171

или используйте опцию --ports-file, чтобы указать файл с портами или диапазонами портов для сканирования, по одному на строку.

сканирование пар IP/порт из файла с выводом в JSON:

cat arp.cache | sx tcp --json -f ip_ports_file.jsonl

Каждая строка входного файла представляет собой строку JSON, которая должна содержать поля ip и port.

пример входного файла:

{"ip":"10.0.1.1","port":1080}
{"ip":"10.0.2.2","port":1081}

Можно указать файл ARP-кэша с помощью опций -a или --arp-cache:

sx tcp -a arp.cache -p 22,443 192.168.0.171

или перенаправление stdin:

sx tcp -p 22,443 192.168.0.171 < arp.cache

Вы также можете использовать подкоманду tcp syn вместо tcp:

cat arp.cache | sx tcp syn -p 22 192.168.0.171

Подкоманда tcp — это просто сокращение для подкоманды tcp syn, если не передана опция --flags (см. ниже).

VPN-интерфейсы

sx поддерживает сканирование через виртуальные сетевые интерфейсы (wireguard, openvpn и т.д.), и в этом случае не обязательно использовать ARP-кэш, поскольку эти интерфейсы требуют ввода сырых IP-пакетов вместо Ethernet-кадров. Например, сканирование IP-адреса в VPN-сети:

sx tcp 10.1.27.1 -p 80 --json

TCP FIN-сканирование

Большинство сетевых сканеров пытаются интерпретировать результаты сканирования. Например, они говорят «этот порт закрыт» вместо «я получил RST». Иногда они правы. Иногда нет. Это проще для новичков, но когда вы знаете, что делаете, вы продолжаете пытаться понять, что на самом деле произошло, из интерпретации программы, особенно для более продвинутых методов сканирования.

Скачать инструмент