我有一些客户端连接到我的服务器。我想知道他们用了多少电报(从桌面和移动应用程序)。
有人能告诉我如何从数据包的头部检测这个协议吗?
我是从电报官网上看到的:
有一个相同协议的删节版本:如果客户机发送0xEF作为第一个字节(重要:仅在第一个数据包之前),那么数据包长度由一个字节编码(0x01..0x7e=数据长度除以4;或0x7f后跟3个长度字节(小尾数)除以4)后面是数据本身(未添加序列号和CRC32)。
但我不明白什么时候用删节版?

最佳答案

电报使用MTProto进行通信。有关数据包的更多详细信息,请检查this page。每个包都加密了,所以你看不到里面。
顺便说一句,如果我是你的话,我会根据包的源和目标IP地址来过滤它们。Telegram有固定IP的专用服务器。你所要做的就是找到所有的电报IP地址。如果有任何数据包从这些IP发送或发送到这些IP,则是有人使用电报。

关于tcp - 如何从它的TCP header 中检测电报协议(protocol)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46298204/

10-14 12:01