Перейти к содержанию

0trace

0trace.png

0trace — это сетевой инструмент для активной трассировки (traceroute), который помогает обнаружить маршруты до удалённых узлов, минуя ограничения межсетевых экранов (firewalls) и систем защиты сетевых границ. Он сочетает методы пассивной и активной трассировки для обхода ограничений, которые блокируют стандартные ICMP-запросы (используемые обычными утилитами traceroute).

Основные особенности 0trace:

  1. Сочетание пассивной и активной трассировки: 0trace использует технику пассивного наблюдения, чтобы начать трассировку на основе уже установленного TCP-соединения, тем самым обходя правила межсетевого экрана, которые могут блокировать прямые ICMP или UDP-запросы. Сначала устанавливается соединение с целевым хостом, после чего запускается активная трассировка.
  2. Обход блокировок межсетевых экранов: Инструмент обходит большинство простых правил межсетевых экранов, которые ограничивают входящие ICMP-запросы, что позволяет определить маршруты, даже если стандартные инструменты трассировки (например, traceroute или mtr) не могут справиться с задачей.
  3. Использование существующих TCP-соединений: Работает на основе уже открытых TCP-соединений, что затрудняет обнаружение и блокировку этого трафика для межсетевых экранов.

Пример использования 0trace:

Для примера представим, что у вас уже установлено соединение с неким сервером через TCP-порт (например, веб-сайт по HTTP на порту 80). Используя это соединение, вы можете запустить 0trace и попытаться узнать маршрут до этого сервера, даже если он находится за защитным экраном.

Шаги по использованию 0trace:

Установка: Если 0trace не установлен, его можно скачать с различных ресурсов или найти в пакетах для таких дистрибутивов как Kali Linux. Команда для использования:

0trace -i eth0 <целевой IP> <целевой порт>
  • Где:
  • eth0 — это сетевой интерфейс, через который будет идти соединение. Его можно заменить на другой (например, wlan0, если вы используете Wi-Fi).
  • <целевой IP> — это IP-адрес целевого хоста.
  • <целевой порт> — порт, на который будет выполняться TCP-соединение (например, 80 для HTTP или 443 для HTTPS).
  • Пример запуска: Для трассировки до веб-сервера с IP-адресом 192.168.1.1 на порту 80: ```bash 0trace -i eth0 192.168.1.1 80
После запуска 0trace будет использовать уже существующее TCP-соединение (если доступно) и начнет отслеживать маршруты.
### Пример вывода:
```bash
Starting 0trace: tcp-based traceroute
Using eth0
1: 10.0.0.1 (10.0.0.1) 0.139ms
2: 192.168.1.1 (192.168.1.1) 1.002ms
...
N: <final hop> <time>

Каждая строка представляет собой узел маршрута, через который проходит соединение, начиная с локального маршрутизатора и заканчивая целевым хостом.

Особенности и ограничения:

  • Зависимость от существующего TCP-соединения: 0trace не создаёт соединения сам, а использует уже установленные TCP-сессии. Если соединение отсутствует или его блокируют, трассировка не удастся.
  • Неполная маршрутизация: Иногда межсетевые экраны могут блокировать некоторые ответы, что приводит к неполному выводу маршрутов.
  • Маскировка трафика: Поскольку 0trace использует существующие соединения, его трафик выглядит как обычный TCP, что затрудняет его обнаружение и фильтрацию со стороны межсетевых экранов.

0trace полезен для сетевых администраторов, исследователей безопасности и тех, кто пытается выяснить структуру сети в условиях блокировок или ограничений.