Skip to content

CLI-утилита на Go для перехвата и анализа сетевого трафика во время звонков в Telegram. Определяет активные IP-адреса, выделяет адреса дата-центров Telegram и сохраняет дампы в формате pcap для анализа в Wireshark.

Notifications You must be signed in to change notification settings

whynot00/tg-ip-sniffer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TG IP Sniffer

TG IP Sniffer — утилита для отслеживания IP-адресов, с которыми взаимодействует настольный клиент Telegram. Программа перехватывает сетевые пакеты, автоматически выделяет IP-адреса дата‑центров Telegram и показывает их в удобном текстовом интерфейсе.

Возможности

  • Автоматический выбор сетевого интерфейса и ожидание запуска Telegram Desktop.
  • Разделение IP-адресов на адреса Telegram и прочие.
  • Сохранение захваченного трафика в файл формата pcap.
  • Настраиваемые пороги отображения "прочих" IP-адресов.
  • Работа в терминальном интерфейсе с управлением клавишами.

Требования

TG IP Sniffer использует библиотеку gopacket и требует наличия драйверов/библиотек для захвата пакетов:

Windows

  1. Установите Npcap (режим совместимости с libpcap).
  2. Запускайте программу от имени администратора.

Linux / macOS

  1. Требуется установленная библиотека libpcap (обычно входит в систему; в некоторых дистрибутивах пакет libpcap-dev).
  2. Запускайте программу с правами root или через sudo.

Сборка из исходников

Для самостоятельной сборки необходим Go 1.21+.

go build -o tg-sniffer ./cmd/sniffer

Готовый бинарный файл tg-sniffer можно запускать из терминала.

Быстрый старт (Windows)

  1. Установите Npcap.
  2. Скачайте готовый файл sniffer.exe из раздела Releases или из каталога bin.
  3. Запустите sniffer.exe двойным кликом или из PowerShell/Командной строки.
  4. Откроется терминальное окно с таблицами IP. Для выхода нажмите q или Ctrl+C.

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

Запустите программу без параметров:

./tg-sniffer

По умолчанию утилита:

  • ждёт запуска Telegram (до 60 секунд);
  • автоматически определяет подходящий сетевой интерфейс;
  • записывает копию трафика в каталог captures/.

Флаги

Флаг Описание
--iface <name> Имя сетевого интерфейса для захвата. Если не указано, выбирается автоматически.
--bpf <expr> Пользовательский BPF‑фильтр. При задании автофильтр Telegram отключается.
--other-max-age <sec> Максимальный возраст активности (в секундах) для отображения прочих IP. По умолчанию 90.
--min-packets <n> Минимальное количество пакетов для отображения IP. По умолчанию 0.
--no-dump Не сохранять трафик в файл pcap.
--dump-path <path> Путь к pcap‑файлу или каталогу для сохранения дампа. Без указания — captures/tg-YYYYMMDD-HHMMSS.pcap.

Управление в интерфейсе

  • Таблицы обновляются автоматически каждую секунду.
  • Для выхода нажмите q или Ctrl+C.

Примечания

  • Для определения адресов Telegram загружается актуальный список подсетей по адресу https://core.telegram.org/resources/cidr.txt.
  • Если загрузка списка не удалась, программа продолжит работу, но адреса могут быть классифицированы как "прочие".
  • Сохраняемые pcap‑файлы можно анализировать в Wireshark или других анализаторах трафика.

Лицензия

Проект распространяется на условиях MIT License.

About

CLI-утилита на Go для перехвата и анализа сетевого трафика во время звонков в Telegram. Определяет активные IP-адреса, выделяет адреса дата-центров Telegram и сохраняет дампы в формате pcap для анализа в Wireshark.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published