电报监控平台建设
现有思路
思路一
网页版登入,爬虫获取群组聊天内容
思路二
使用Telegram Bot获取群组聊天内容,解决验证问题
思路三
✔ 借助Telegram API,tdlib,使用python收发信息,收到的信息格式化后用Flask Web呈现
TDLib can be used from Python through the JSON interface.
思路四
❌ 捕获网路数据包,解密HTTPS包,获取相关信息
为了使Wireshark解密数据包,它需要访问Telegram使用的加密密钥,而该密钥不能直接访问。您将需要某种方式来访问Telegram使用的内存,弄清楚该内存的哪一部分是加密密钥,然后使用该密钥解密数据。
https://security.stackexchange.com/questions/194863/how-can-i-sniff-telegram-packets-before-they-get-encrypted
搭建步骤
构建tdlib
项目官网:https://github.com/tdlib/td
项目根目录下有个build.html,可以选择自己的平台信息,生成响应的构建命令,比较方便
使用example
项目根目录下有个example文件夹,里面是构建不同平台telegram的示例
python-telegram
https://github.com/alexander-akhmetov/python-telegram
另一个项目,编写好的tdlib Python API,更加方便的进行调用
2020-05-25 02:00:45,867 [INFO] telegram.client: Sending encryption key
Traceback (most recent call last):
File "./echo_bot.py", line 31, in <module>
tg.login()
File "/usr/local/lib/python3.7/dist-packages/telegram/client.py", line 496, in login
result.wait(raise_exc=True)
File "/usr/local/lib/python3.7/dist-packages/telegram/utils.py", line 45, in wait
raise RuntimeError(f'Telegram error: {self.error_info}')
RuntimeError: Telegram error: {'@type': 'error', 'code': 400, 'message': 'Wrong password', '@extra': {'request_id': 'updateAuthorizationState'}}
第一次登入成功后,后面的login均出现了这个错误,待解决 [TODO]😳
参考的产品
[1] https://ikeymonitor.tw/telegram-spy-app
[2] Telegram Spyware, https://www.iavcei.org/5-best-telegram-spy-app-in-2020/