Envoyer des bytes via socket
Bonjour, je débute en python et je bloque pour envoyer des bytes (au sens données non interprétées comme du string) à un serveur socks. Voilà mon debut de fonction pour instancier une connexion avec un serveur socks v5:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
def buildpacktV5(IP):
#Cette partie est bien interpréte comme des bytes
s='\x05' #version de socks
s=s+'\x01' #demande connexion TCP/IP
s=s+'\x00' #réservé
s=s+'\x01' #IPv4
#-------------------------------------------------------------------
#c'est ici que je bloque
for s2 in IP.split('.'): #on met l'ip
s2=hex(int(s2))
s=s+s2.replace('0x','\x') #Comment formater s2 correctement? Ici j'obtiens:
# Invalid \x escape
s=s+'\x00'
s=s+'\x50'
sok=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sok.connect(('127.0.0.1',25000))
sok.send(s)
sok.close() |
Le problème se pose quand je dois formater les quatre octets de mon ip. Si quelqu'un pouvait m'aider j'apprecierais grandement. Merci.