0

我已经从https://github.com/MahjongRepository/tenhou-python-bot运行了一个麻将机器人下载来在http://tenhou.net中玩。代码显示它使用 TCP 套接字连接到服务器,而 WireShark 表明有 UDP 数据包发送/接收。此外,代码表明消息是纯文本,可以被视为 ascii 字符串,而 WireShark 表示它无法识别有效负载。

这里发生了什么?有代理吗?有加密隧道吗?如何仅通过嗅探数据包捕获 INIT 消息?非常感谢!

client.py 中的代码:

    def connect(self):
        self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.socket.connect((settings.TENHOU_HOST, 10080))

    def _read_message(self):
        message = self.socket.recv(2048)
        return message.decode('utf-8')

    def _send_message(self, message):
        # tenhou requires an empty byte in the end of each sending message
        message += '\0'
        self.socket.sendall(message.encode())

    def authenticate(self):
        self._send_message('<HELO name="{}" tid="f0" sx="M" />'.format(quote(settings.USER_ID)))
        messages = self._get_multiple_messages()
        auth_message = messages[0]
        # Several blocks ommitted

WireShark 打印 屏幕

4

0 回答 0