ArpCut
Инструмент для отключения устройств в локальной сети на основе ARP-спуфинга (требуется Root).
Непрерывно отправляет поддельные ARP-ответы устройствам локальной сети, разрывая их сетевое соединение, и предоставляет идентификацию устройств, заметки, белый список и журнал операций.
Страница проекта
Обзор функций
- Сканирование устройств локальной сети (сканирование с root, автообновление каждые 5 секунд, автоматическое определение IP / MAC / локального устройства / шлюза).
- Переключатель «Отключить / Восстановить» для отдельного устройства, а также массовые операции «Отключить все» / «Восстановить все».
- Полная идентификация производителей по базе OUI IEEE (54330 записей, встроена офлайн) и распознавание случайных MAC-адресов (защита конфиденциальности).
- Заметки к устройствам, белый список, поиск и сортировка по IP / заметке / отключённым / неотключённым.
- Журнал операций отключения и восстановления, опциональная постоянная атака.
- Цветной переливающийся фон, плавающая нижняя панель в стиле жидкого стекла, интерфейс в стиле miuix / InstallerX Revived.
Основные функции
Сканирование устройств
- Сканирование устройств локальной сети с root, отображение IP / MAC.
- Локальное устройство и шлюз определяются и помечаются автоматически, локальное устройство всегда закреплено сверху.
- Автообновление каждые 5 секунд, полностью беззвучно, без мерцания.
- При отсутствии подключения к Wi-Fi показывается сообщение о пустом состоянии.
Управление отключением
- Переключатель для отдельного устройства: непрерывная отправка поддельных ARP-ответов целевому устройству, широковещательное загрязнение GARP с интервалом 1 с.
- «Отключить все»: одним нажатием отключает все устройства, кроме локального и устройств из белого списка.
- «Восстановить все»: останавливает цикл атаки, восстанавливает таблицу соседей и запускает повторное разрешение.
- Поддержка самоотключения: отравление таблицы соседей локального устройства, чтобы отключить от сети и само устройство.
Сведения об устройстве и идентификация
- Нажатие на пустую область карточки раскрывает подробности: производитель / тип устройства / задержка / белый список / последние записи.
- Данные OUI берутся из официальной полной базы IEEE MA-L / MA-M / MA-S, запрос выполняется офлайн.
- Случайные MAC-адреса (защита конфиденциальности) распознаются и помечаются автоматически.
Заметки и белый список
- Нажатие на IP открывает диалог редактирования, заметка постоянно отображается в виде синей метки.
- Заметки сортируются в начало; в диалоге можно переключить белый список, при «Отключить все» устройства из белого списка пропускаются.
Журнал
- Операции отключения / восстановления автоматически фиксируются (≤500 записей).
- Значок корзины очищает журнал одним нажатием с диалогом подтверждения.
Настройки
- Постоянная атака: по умолчанию выключена — при очистке из фона атака автоматически завершается и сеть восстанавливается; при включении выход из приложения не влияет на процесс атаки.
- Всегда разворачивать сведения об устройстве.
Интерфейс
- Полноэкранный цветной переливающийся фон AGSL на странице «О программе», прозрачные строка состояния / панель навигации с выходом за края.
- Плавающая нижняя панель в стиле жидкого стекла, прямой переход между страницами.
- Компоненты miuix и язык дизайна InstallerX Revived (диалоги / отклик на нажатие / оформление пустых состояний).
- Иконка приложения «Полярное сияние отключения» и прозрачный цветной логотип.
Требования
- Android 7.0 / API 24 и выше.
- Root-права (KernelSU / Magisk / SuperSU и т. п.).
- Подключение к целевой локальной сети Wi-Fi.
Способ установки
- Скачайте последний APK из Releases и установите его.
- При первом запуске предоставьте права Root.
- Подключитесь к Wi-Fi локальной сети, приложение автоматически начнёт сканирование устройств.
- Переключите переключатель устройства, чтобы отключить / восстановить его сеть.
Инструкция по использованию
- Отключение сети основано на ARP-спуфинге, используйте только в собственных или авторизованных сетях.
- «Отключить все» по умолчанию пропускает это устройство и устройства из белого списка.
- Если нужно продолжать отключение сети после очистки фоновых процессов, включите «Постоянная атака» в настройках.
- При сетевых сбоях нажмите «Восстановить все» или перезагрузите сетевое оборудование и телефон.
- Список автоматически обновляется каждые 5 секунд, ручное обновление не требуется.
Сценарии применения
- Быстро ограничить сетевой доступ к определённому устройству в локальной сети.
- Массово отключать устройства локальной сети и в любой момент восстанавливать их одним нажатием.
- Определять производителя и тип устройств локальной сети и управлять заметками.
- Исследование технологий сетевой безопасности, учебные демонстрации и тестирование собственных сетей.
Сборка из исходного кода
Проект использует Kotlin, Jetpack Compose, Android Gradle Plugin и Gradle Wrapper.
- JDK 17.
- compileSdk 37, minSdk 24, targetSdk 37.
Часто используемые команды:
./gradlew assembleRelease
Артефакты сборки находятся в app/build/outputs/. CI: после push GitHub Actions автоматически собирает пакет (в release используется фиксированное хранилище ключей подписи, подпись стабильна).
Ключевые моменты реализации
- native/arpcut.c: отправка поддельных ARP-ответов через необработанный сокет AF_PACKET; в качестве исходного адреса Ethernet используется реальный MAC-адрес локальной машины (драйвер Wi-Fi отбрасывает кадры, исходный MAC которых не принадлежит локальной машине), а в полезной нагрузке ARP используется поддельный MAC (
02:00:00:00:00:01) для маркировки источника атаки.
- Широковещательное отравление GARP + интервал отправки 1 с для повышения совместимости между разными брендами.
- Самоотключение выполняется через циклическую перезапись локальной таблицы соседей (
ip neigh replace), поддельные кадры не попадают в локальный стек протоколов.
- В режиме
heal отправляются настоящие ARP-ответы для восстановления сопоставлений; перед полным восстановлением сначала останавливается цикл атаки, восстанавливается таблица соседей и запускается повторное разрешение.
Получение помощи
Отказ от ответственности