获取Telegram的用户IP地址

最近有个需求,查了些资料发现,telegram有语音通话功能,也可以类似qq一样通过语音通话的连接获取对方的ip地址, denis simonov (原文为俄语)发表过一篇文章,演示了如何通过 telegram 语音呼叫获取目标人员的ip地址,只需5秒的呼叫时间就能拿到ip。
获取ip复现
telegram使用了stun协议流量。stun(nat会话遍历)是一种标准化协议,旨在帮助 nat(网络地址转换)后面的设备确定其外部 ip 地址以及其网关上使用的 nat 类型。该协议的本质是使设备能够了解其公共 ip 地址并确定哪些端口可用于传出连接。 stun消息中携带的关键属性之一是xor-mapped-address。该属性包含消息发送者的公共ip地址。数据包的方向准确地确定了此属性中包含谁的 ip 地址:如果该帧定向到我,xor-mapped-address将显示我的 ip,如果它是从我发送的,则显示我的对话者的 ip。
1. 启动wireshark
2. 语音呼叫目标
3. 一旦被接听,只需等待大约5 或10 秒后我们应该有足够的数据包来找出目标的 ip
4. 在wireshark中我们通过stun进行过滤
5. 目标的ip地址,是携带xor-xxxxx-address数据包,所以我们可以过滤: 'stun 或 stun.att.用户名 或 stun.att.ipv4-xord 或 stun.att.ipv4'
6. 通过查看每个数据包的 ip 地址来检查数据包。这可以通过检查数据包并在属性部分中查找 xor-xxxx-address或通过查看数据包的目标地址来查看。数据包。
7. 以下 ip可以排除:
a) 私有 ip,例如 192.168.xx、10.xxx 等。
b) 我们的公共 ip 地址。
c) 属于 telegram 的地址:
有个方便的技巧,使用wireshark 获取已通过stun 协议查询的所有地址,而无需手动查看数据包: 在工具栏中我们点击statistics -> endpoints,选择限制显示过滤器勾选(使用wireshark中的stun过滤器),只显示与stun通信期间使用的ip,就可以方便的筛查。
自动化脚本
原帖作者 (denis simonov) 在他的 github 上发布了一个脚本以方便利用:https://github.com/n0a/telegram-get-remote-ip
安装适用于 linux 或 mac 的telegram 桌面。
安装tshark(sudo apt install tshark或下载适用于 macos 的 wireshark。包含 tshark)。
运行脚本
语音呼叫要获取的ip地址的人
收获结果ip
以ubuntu 20为例安装和启动
$ sudo apt update$ sudo apt install -y python3-pip python3-venv tshark$ git clone https://github.com/n0a/telegram-get-remote-ip$ cd telegram-get-remote-ip$ python3 -m venv venv$ source ./venv/bin/activate$ sudo pip3 install -r requirements.txt$ sudo python3 tg_get_ip.py  
遇到的小坑:为了保护 telegram 用户的隐私,默认情况下,仅针对“我的联系人”激活 telegram 通话中的点对点 (p2p) 选项。telegram 设置 > 隐私和安全 > 通话,可以选择是否对所有人、联系人使用 p2p。
文章转自军机故阁

处。

开关电源厂家-开关电源是什么?
PXMA声发射信号调理装置
超声波传感器助力自动化灌装包装线提速增效
RTOS为什么用PendSV进行线程调度?
RAM在单片机中用途是什么?
获取Telegram的用户IP地址
百度飞桨与华为麒麟芯片正式达成深度合作
美盛科技推出25.5W以太网络PD模块AHPD-12
IDT宣布推出PCI Express Gen2 系统互连交换
电流检测电阻原理图与电流检测电阻TCR解读
华为Freebuds 3耳机评测 音质效果在同品类产品中是佼佼者
努比亚Z20搭载骁龙855 Plus平台屏占比超过了100%
“高清灯泡”了解一下?
依托移动云的工业云市场,利用云计算的算力提升工业应用的价值
三星平板S7骁龙865加持_配置性能抢先看
亚马逊发明了一项手部识别支付的专利
智能汽车除了无人驾驶,还有你不知道的黑科技
分布式设备数据云平台通过组态监控实现智能管理
HEV / EV电池管理系统简单解释
马里兰大学研究出柔性锂离子导电陶瓷织物用于电池技术