Возможно Вам будет интересно узнать IP пользователя Telegram. И при определенных обстоятельствах это возможно! Рассказываем как в этой статье.
По умолчанию Telegram устанавливает прямой канал связи при осуществлении голосового вызова пользователя, присутствующего в адресной книге (в настройках можно выборочно отключить использование P2P и направлять трафик только через внешний сервер). При инициировании соединения для обхода NAT в Telegram применяется протокол STUN (Session Traversal Utilities for NAT), который передаёт информацию об адресах звонящего и принимающего звонок в поле XOR-MAPPED-ADDRESS. Соответственно, если в настройках “Security and Privacy” не отключён P2P, звонящий может узнать IP-адрес того, кому адресован звонок. Метод подойдёт и для любых других приложений, использующих STUN.
Для определения IP-адреса следует во время осуществления вызова записать дамп трафика в формате pcap, например, при помощи утилиты tcpdump или tshark, после чего воспользоваться готовым скриптом или при помощи штатных утилит проанализировать значение поля XOR-MAPPED-ADDRESS:
tshark -w dump.pcap -a duration:5 cat dump.pcap | grep "STUN 106" | sed 's/^.*XOR-MAPPED-ADDRESS: //' | awk '{match($0,/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/); ip = substr($0,RSTART,RLENGTH); print ip}' | awk '!seen[$0]++'
Вообще Telegram имеет настройки звонков по этому поводу. И для своей безопасности Вы можете установить, чтобы все звонки совершались через сервера Telegram, а не напрямую. Либо сделать это только для своих контактов (настойка по-умолчанию).