ARP-чат когда скука и безумие создают неожиданно полезный инструмент

15 Aug, 2023

Репозиторий давно не обновлялся

Последнее обновление было 2 года назад.

2,539
🔱 53
👥 16

Представьте ситуацию: вы на корпоративной сети, где запрещены мессенджеры, но очень нужно перекинуться парой сообщений с коллегой. Знакомо? Разработчик под ником kognise столкнулся с подобной проблемой и создал... чат поверх ARP-протокола. Да, того самого, который компьютеры используют для поиска MAC-адресов в локальной сети.

Зачем вообще такое нужно?

Автор честно признаётся — проект родился из смеси скуки, безумия и реальной потребности. Раз в год он оказывается в изолированной сети, где хочется пообщаться с друзьями без лишних сложностей. ARP-чат — это своеобразный «аварийный» канал связи, работающий там, где другие мессенджеры бессильны.

Кстати, сам kognise иронично замечает: "Это может быть не совсем бесполезно! ...и другие лжи, которые я себе рассказываю". Но 2.5 тысячи звёзд на GitHub говорят о том, что идея нашла отклик у сообщества.

Интерфейс ARP-чата в действии

Что умеет этот необычный чат

  1. Длинные сообщения — до десятков тысяч символов благодаря собственной транспортной прослойке поверх ARP
  2. Система присутствия — видите, кто онлайн, с уведомлениями о входе/выходе
  3. Наивное сжатие — автор скромно называет его таковым, но оно есть
  4. Кросс-платформенность — работает на Windows (с npcap) и Linux

Интересный факт: часть логики чата дублирует функционал самого ARP, что добавляет проекту особого шарма.

Реклама

Как это работает технически

Вместо того чтобы использовать традиционные протоколы вроде TCP/IP, ARP-чат «прячет» данные в ARP-запросах. Автор реализовал простой транспортный протокол, разбивающий сообщения на пакеты и собирающий их на стороне получателя.

Для любопытных kognise написал подробную статью о внутреннем устройстве системы. Если кратко — это мастер-класс по нестандартному использованию сетевых технологий.

Практическое применение: когда это может пригодиться

  • Корпоративные сети с жёсткими ограничениями
  • Локальные хакатоны, где нужно быстро организовать общение
  • Образовательные цели — наглядная демонстрация работы сетевых протоколов
  • Просто как технологический эксперимент и повод для дискуссий

Как попробовать

  1. Для Windows:

    • Установите npcap (обязательно выберите "Install Npcap in WinPcap API-compatible Mode")
    • Скачайте готовый бинарник с страницы релизов
  2. Для Linux:

    sudo setcap CAP_NET_RAW+ep /path/to/arpchat
    

После запуска вы увидите интерфейс выбора сетевого адаптера:

Выбор интерфейса

Вывод: кому стоит обратить внимание

ARP-чат — это:

  • Для сетевых энтузиастов — интересный case study
  • Для Rust-разработчиков — пример нестандартного применения языка
  • Для всех, кто ценит технологические эксперименты с долей юмора

Проект вряд ли заменит Telegram, но точно расширит ваше представление о том, на что способны «скучные» сетевые протоколы. А главное — показывает, как из простой идеи и двух дней работы может получиться нечто действительно любопытное.

Баннер проекта

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.