Kraken Academy

0trace

0trace

Категория: Сбор информации

Описание:

0trace — это инструмент для отслеживания маршрутов (traceroute) через проброс пакетов через уже установленное TCP-соединение. В отличие от традиционного traceroute, который отправляет ICMP или UDP пакеты, 0trace использует TCP-пакеты, что позволяет ему обходить многие фаерволы и NAT-устройства, которые могут блокировать традиционные пакеты traceroute. Это делает 0trace полезным для обхода ограничений и получения информации о маршруте до хоста, с которым уже установлено TCP-соединение.

Команда для установки: sudo apt install 0trace

Принцип работы:

0trace работает следующим образом:

  1. Установление соединения: Сначала устанавливается TCP-соединение с целевым хостом. Это может быть, например, соединение к порту 80 (HTTP) или 443 (HTTPS).
  2. Отправка пакетов: 0trace затем отправляет по одному ICMP-пакету (Echo Request) на каждый следующий узел (hop) в маршруте, используя TTL (Time To Live) поля IP-заголовка. TTL последовательно увеличивается от 1 до максимального значения, что позволяет 0trace обнаруживать каждый промежуточный узел между вами и целевым хостом.
  3. Получение ответа: Если TTL достигает нуля, маршрутизатор на пути отбрасывает пакет и отправляет ICMP сообщение об ошибке (обычно это ICMP Time Exceeded), что позволяет 0trace определить узел, на котором TTL истек.
  4. Обход фаерволов: Поскольку 0trace использует TCP-пакеты, которые выглядят как часть уже установленного соединения, он может обходить фаерволы, которые блокируют традиционные ICMP или UDP пакеты.

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

Трассировка через фаервол:

Допустим, вы хотите узнать, какие маршрутизаторы находятся между вами и сервером, с которым вы уже установили TCP-соединение (например, на порту 80).

sudo 0trace -i eth0 example.com

Здесь -i eth0 указывает сетевой интерфейс (в данном случае eth0), а example.com — это целевой хост.

Использование 0trace через SSH:

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

ssh user@your-server
sudo 0trace -i eth0 target.com

Это полезно для анализа сетевых путей от удаленного сервера, особенно если вы подозреваете, что существует фаервол или другое устройство, блокирующее трафик.

Использование с другими портами:

Вы также можете использовать 0trace для установления соединения на другие порты, например, 443 (HTTPS).

sudo 0trace -i eth0 -p 443 example.com

Примечания:

Заключение:

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