Python: Cliente do soquete TCP / IP, como enviar o pacote de login?

0

Eu queria criar um bot para enviar login / juntar pacotes para um servidor de jogo. Então ele vai entrar e mandar mais pacotes para ele escrever algo no chat, mas não sei como fazer isso. Se alguém pudesse me ajudar, eu apreciaria tanto!

Este é o código que eu tenho até agora:

import socket

# Create a TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# Connect the socket to the port where the server is listening
server_address = ('79.133.198.11x', 23073)
sock.connect(server_address)

# Trying to send something
PACKET = "Hello World!".encode('utf-8')
sock.send(PACKET)

# Close connection
sock.close()

FYI, o jogo que escolhi para experimentar é "Soldat", um antigo jogo de tiro 2D. Além disso, alguém me disse que eu poderia usar o wireshark ou algum sniffer de pacotes, mas não tenho idéia de como colocá-lo no código e como enviá-lo.

-

EDIT: Eu instalei o Wireshark e escutei a porta 23073 enquanto me conectei ao servidor e me dei esses dados (protocolo UDP):

0e: e9: 6e: 00: 31: 2e: 36: 2e: 38: 4d: 61: 6a: 6f: 72: 00: 00: 00: 00: 00: 00: 00: 00: 00: 00 : 00: 00: 00: 00: 00: 00: 00: 00: 00: 0b: 32: 31: 45: 39: 33: 35: 42: 41: 44: 37: 30: 00

Como eu poderia aplicar isso ao código e enviar esse pacote para a conexão estabelecida?

    
por Exid 19.10.2015 / 18:39

1 resposta

0

Não existe realmente um pacote de login. Os pacotes contêm comandos do Protocolo de Aplicação, portanto, o conteúdo de um pacote que contém informações de login seria definido conforme especificado pelo sistema que implementa o protocolo de aplicativo. Como exemplo, aqui estão os comandos para o protocolo de aplicativo HTTP: link

Sem conhecer o sistema de autenticação e os protocolos em uso, não será possível escrever pacotes que contenham sequências de comandos válidas, assim você terá que aprender mais sobre o sistema no qual deseja fazer o login.

    
por 19.10.2015 / 18:49