Я запустил загрузку робота маджонга с 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
PrintScreen