Денис Симонов (Denis Simonov), разработчик известный под псевдонимом n0a, сообщил, что его утилита “Telegram get remote IP” позволяет в некоторых случаях определить IP-адрес собеседника из контактов в мессенджере Telegram. Для этого нужно анализировать трафик сети с помощью протокола STUN (Session Traversal Utilities for NAT), который используется для установления соединения между пользователями.
Симонов рассказал, что переписал код утилиты на языке Python вместо Bash, что повысило ее стабильность. Более подробно о технической стороне проекта можно прочитать в блоге автора Telegram get remote IP.
Для работы с утилитой потребуется компьютер с операционной системой Linux или Mac, на котором должны быть установлены консольная версия Wireshark (tshark) и десктопная версия Telegram. Утилита также совместима с Android-смартфонами через приложение Termux.
Чтобы получить IP-адрес собеседника в Telegram, нужно быть в контактах друг у друга в мессенджере. Затем нужно запустить скрипт Telegram get remote IP и позвонить собеседнику в Telegram, а через несколько секунд сбросить звонок.
Представители мессенджера пояснили, что по умолчанию peer-to-peer соединения активны только для звонков между контактами. Для всех остальных случаев звонки маршрутизируются через серверы Telegram, обеспечивая дополнительный уровень конфиденциальности. То есть если Вам позвонит кто-то незнакомый, чтобы “попытаться узнать Ваш IP-адрес”, ему станет доступен только IP-адрес самого Telegram.
Пользователи, желающие усилить приватность, могут отключить peer-to-peer соединения в настройках мессенджера следующим образом: Настройки > Конфиденциальность > Звонки > Peer-to-Peer (Никогда).