Показать сообщение отдельно
Старый 03.12.2023, 11:07   #26
RW011
Супер-Модератор
 
Аватар для RW011
 
Регистрация: 26.09.2011
Ресивер: Toshiba 007
Адрес: Dneprstone
Сообщений: 9,670
Сказал(а) спасибо: 7,755
Поблагодарили 17,410 раз(а) в 7,162 сообщениях
Вес репутации: 85
RW011 репутация неоспоримаRW011 репутация неоспоримаRW011 репутация неоспоримаRW011 репутация неоспоримаRW011 репутация неоспоримаRW011 репутация неоспоримаRW011 репутация неоспоримаRW011 репутация неоспоримаRW011 репутация неоспоримаRW011 репутация неоспоримаRW011 репутация неоспорима
По умолчанию

Определение IP-адреса пользователя в Telegram через голосовой вызов
5:
По умолчанию 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]++'
__________________
Don't trouble trouble until trouble troubles you
RW011 вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо: