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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/dndx/phantun
Обход IDS/IPSСетевая безопасность
GitHubdndx/phantun

phantun

Преобразует UDP-поток в (фальшивые) TCP-потоки, которые могут проходить через межсетевые экраны/NAT уровня 3 и уровня 4 (NAPT).

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

Популярное

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

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

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

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

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

Phantun

Легкий и быстрый обфускатор UDP в TCP.

GitHub Workflow Status docs.rs

Содержание

  • Phantun
  • Последний релиз
  • Обзор
  • Использование
    • 1. Включить пересылку IP-пакетов ядра
    • 2. Добавить необходимые правила брандмауэра
      • Клиент
        • Использование nftables
        • Использование iptables
      • Сервер
        • Использование nftables
        • Использование iptables
    • 3. Запуск бинарных файлов Phantun без прав root (Опционально)
    • 4. Запуск демона Phantun
      • Сервер
      • Клиент
  • Издержки MTU
    • Расчёт MTU для WireGuard
  • Совместимость версий
  • Документация
  • Производительность
  • Планы на будущее
  • Сравнение с udp2raw
  • Лицензия

Последний релиз

v0.8.1

Поддержка архитектуры MIPS для Phantun

Rust предоставляет только Tier 3 поддержку для платформ на базе MIPS начиная с 2023 года. Сборки Phantun для MIPS, таким образом, собираются с использованием nightly инструментария Rust и предоставляются только по принципу "насколько это возможно".

Обзор

Phantun — это проект, который обфусцирует UDP-пакеты в TCP-соединения. Он нацелен на достижение максимальной производительности с минимальными издержками обработки и инкапсуляции.

Обычно используется в средах, где UDP заблокирован/ограничен, а TCP разрешён.

Phantun просто преобразует поток UDP-пакетов в обфусцированные пакеты TCP-потока. Стек TCP, используемый Phantun, спроектирован для прохождения через большинство L3/L4 stateful/stateless брандмауэров/NAT устройств. Он не сможет пройти через L7 прокси. Однако преимущество этого подхода в том, что ни один из типичных "убийц" производительности UDP-over-TCP, таких как повторные передачи и управление потоком, не возникает. Свойства базового UDP, такие как доставка с нарушением порядка, полностью сохраняются, даже если соединение выглядит как TCP с точки зрения брандмауэров/NAT.

Phantun означает "Призрачный TUN", так как это обфускатор для UDP-трафика, который делает ровно столько, чтобы заставить его проходить через stateful брандмауэры/NAT как TCP-пакеты.

Phantun написан на 100% безопасном Rust. Он был тщательно оптимизирован для хорошего масштабирования на многоядерных системах и без проблем насыщает все доступные ресурсы CPU на быстром соединении. См. раздел Производительность для результатов бенчмарков.

Результаты бенчмарка Phantun Диаграмма трафика

Использование

В приведённом ниже примере предполагается, что Сервер Phantun ожидает входящие подключения от клиентов Phantun на порту 4567 (опция --local для сервера) и пересылает UDP-пакеты на UDP-сервер по адресу 127.0.0.1:1234 (опция --remote для сервера).

Также предполагается, что Клиент Phantun ожидает входящие UDP-пакеты на 127.0.0.1:1234 (опция --local для клиента) и подключается к серверу Phantun по адресу 10.0.0.1:4567 (опция --remote для клиента).

Phantun создаёт TUN-интерфейс как для клиента, так и для сервера. Для клиента Phantun по умолчанию назначает себе IP-адрес 192.168.200.2 и fcc8::2. Для сервера он по умолчанию назначает 192.168.201.2 и fcc9::2. Следовательно, в вашем ядре должна быть включена пересылка IPv4/IPv6, и должны быть настроены соответствующие правила iptables/nftables для NAT между адресом вашей физической сетевой карты и адресом Tun-интерфейса Phantun.

Вы можете изменить имя Tun-интерфейса, создаваемого Phantun, и назначенные адреса. Запустите исполняемый файл с опциями -h, чтобы узнать, как их изменить.

Другой способ понять эту сетевую топологию (см. диаграмму выше для иллюстрации этой топологии):

Клиент Phantun подобен машине с частным IP-адресом (192.168.200.2/fcc8::2) за роутером. Чтобы он мог выйти в Интернет, вам нужно выполнить SNAT частного IP-адреса перед тем, как его трафик покинет сетевой интерфейс.

Сервер Phantun подобен серверу с частным IP-адресом (192.168.201.2/fcc9::2) за роутером. Чтобы получить к нему доступ из Интернета, вам нужно выполнить DNAT его порта прослушивания на роутере и изменить IP-адрес назначения на тот, где сервер ожидает входящие подключения.

В этих случаях машина/iptables, на которой работает Phantun, выступает в роли "роутера", который позволяет Phantun общаться с внешним миром, используя его частные IP-адреса.

Начиная с Phantun v0.4.1, IPv6 полностью поддерживается как для TCP, так и для UDP сторон. Для указания IPv6-адреса используйте следующий формат: [::1]:1234 с опциями командной строки. Также поддерживается разрешение AAAA-записей. Запустите программу с -h, чтобы увидеть подробные опции управления поведением IPv6.

Назад к содержанию

1. Включить пересылку IP-пакетов ядра

Отредактируйте /etc/sysctl.conf, добавьте net.ipv4.ip_forward=1 и выполните sudo sysctl -p /etc/sysctl.conf.

Специфичная конфигурация для IPv6

net.ipv6.conf.all.forwarding=1 также необходимо установить.

Назад к содержанию

2. Добавить необходимые правила брандмауэра

Клиент

Клиенту просто нужно включить SNAT на физическом интерфейсе, чтобы преобразовать адрес Phantun в адрес, который можно использовать в физической сети. Это можно сделать просто с помощью маскарадинга.

Примечание: измените eth0 на фактическое имя физического интерфейса.

Назад к содержанию

Использование nftables

table inet nat {
    chain postrouting {
        type nat hook postrouting priority srcnat; policy accept;
        iifname tun0 oif eth0 masquerade
    }
}

Примечание: приведённое выше правило использует inet в качестве типа семейства таблиц, поэтому оно совместимо как с IPv4, так и с IPv6.

Назад к содержанию

Использование iptables

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Назад к содержанию

Сервер

Серверу нужно выполнить DNAT порта прослушивания TCP на адрес TUN-интерфейса Phantun.

Примечание: измените eth0 на фактическое имя физического интерфейса и 4567 на фактический номер TCP-порта, используемый сервером Phantun.

Назад к содержанию

Использование nftables

table inet nat {
    chain prerouting {
        type nat hook prerouting priority dstnat; policy accept;
        iif eth0 tcp dport 4567 dnat ip to 192.168.201.2
        iif eth0 tcp dport 4567 dnat ip6 to fcc9::2
    }
}

Назад к содержанию

Использование iptables

iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 4567 -j DNAT --to-destination 192.168.201.2
ip6tables -t nat -A PREROUTING -p tcp -i eth0 --dport 4567 -j DNAT --to-destination fcc9::2

Назад к содержанию

3. Запуск бинарных файлов Phantun без прав root (Опционально)

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