По умолчанию Telegram устанавливает прямой канал связи при осуществлении голосового вызова пользователя, присутствующего в адресной книге (в настройках можно выборочно отключить использование P2P и направлять трафик только через внешний сервер). При инициировании соединения для обхода NAT в Telegram применяется протокол STUN (Session Traversal Utilities for NAT), который передаёт информацию об адресах звонящего и принимающего звонок в поле XOR-MAPPED-ADDRESS. Соответственно, если в настройках "Security and Privacy" не отключён P2P, звонящий может узнать IP-адрес того, кому адресован звонок. Метод подойдёт и для любых других приложений, использующих STUN.Для определения IP-адреса следует во время осуществления вызова записать дамп трафика в формате pcap, например, при помощи утилиты tcpdump или tshark, после чего воспользоваться готовым скриптом
https://github.com/n0a/telegram-get-remote-ip/ или при помощи штатных утилит проанализировать значение поля 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]++'URL: https://github.com/n0a/telegram-get-remote-ip/ https://n0a.pw/telegram-get-remote-ip/
Обсуждается: http://www.opennet.dev/tips/info/3230.shtml
Позорники, они даже не через себя этот трафик гоняют.
Обычное явление в WebRTC. Прямое соединение пиров обеспечивает максимальную скорость передачи данных. А вариант "гонять трафик через себя" является наименее желательным, так как: 1) с точки зрения клиентов возникают лаги, связь ухудшается, 2) возрастает нагрузка на сервер, 3) увеличивается трафик, который для серверов обычно небесплатный.
так это очень хорошо
Зато совершенно бесплатно для них и нет необходимости этот трафик хранить в соответствии с некими возможными законами, т.к. это IP A беседует с IP Б, а сервис непричем.
Шел 2023 год, люди только узнали что телега гоняет звонки как p2p...
Ага, шел 2023 год, аудитория опеннета в восторге от того, как работает voip и ужаснулось тому, что голосовые вызову устанавливаются как p2p
Должен ли пользователь принять звонок, для того чтобы его IP-адрес определился?
Или можно определить IP-адрес, не дожидаясь ответа от принимающего звонок пользователя?
Можно не дожидаясь ответа, главное чтобы пользователь во время звонка был в online.
Офигеть как безопастно.
Получается, что не баг, а фича 👍
Кому нужна анонимизация IP-адреса - тот использует VPN (Tor UDP не поддерживает).
useless use of cat, grep, sed
who cares
Settings - Privacy and Security - Calls = My Contacts. Да и вообще для всего ограничивать чтобы только My Contacts.
Who can see my phone number = вообще Nobody обязательно, если ты не продаван или представитель очередных рогов и копыт
Пользуйтесь asterisk для зыонков - SIP, SRTP или ZRTP. По умолчанию все идет ыерез сервер. Правда для пущей безопасности нужен свой сервер. В принципе можно гнать через сигнальный трафик TCP/TLS, тогда есть шанс что это чудо заработает в tor, с задержками как через спутник Луны.
Хм, пошёл выключать себе настройку P2P, а она уже выключена. И там рядом предупреждение об опасности нарушения приватности.
> Хм, пошёл выключать себе настройку P2P, а она уже выключена. И там
> рядом предупреждение об опасности нарушения приватности.Молодец, но теперь ты должен знать, что весь твой звонок проходит через сервера Пашики Дурова, и для того и я больше чем уверен, что весь голосо будет заботливо сохранен так-же как и твои сообщения
Два стула, literally.
Открою страшную тайну мирового масштаба. Peer-to-peer всегда светили IP адресом потому что это йопта _peer_ to _peer_ direct connection. Помните Jabber клиент через который вы кидали друзьям файлики напрямую? Так вот там везде STUN.> Метод подойдёт и для любых других приложений, использующих STUN.
Дело даже не в stun, а в приложениях не использующие своих серверов для трафика. Посмотрите на Steam, там 90% сетевых COOP игр подключаются к хосту лобби напрямую.
Конечно ip адресом не нужно было из начала светить в момент входящего звонка, но вообще если вам есть что скрывать то пользоваться нужно vpn по дефолту.