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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.