Senden von hex-Pakete in python
Wie würde ich das senden von hex-Daten in ein Paket? Ich bin versucht zu kopieren ein Paket genau mit der hex statt ASCII. Alle ich bin auf der Suche nach ist das, was den "sendto" - argument wäre, wenn, sagen wir, die hex, die ich brauchte, um zu senden, war 00AD12.
- Paket-Typ sollte keinen Einfluss auf das, was ich versuche zu tun, sondern UDP.
- Tatsächlich, es funktioniert, da UDP ein verbindungsloses Protokoll ist, wo man üblicherweise
sendto
stattsend
oder eine Datei-wie-Objekt. Beachten Sie jedoch, dass die Aufgaben der Konvertierung eines hexdecimal string zu bytes und die eine der zu senden bytes sind distinkt und unabhängig.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
struct
Konvertierung zwischen Byte (normalerweise ausgedrückt in hexadezimal-Mode) und Nummern:Wenn Sie einen hex - string und wollen es zu konvertieren, um bytes verwenden,
binascii.unhexlify
:tmp = struct.pack(...)
sock.send(tmp)
odersock.send(struct.pack(...))
, wo Socke ist eine Buchse angeschlossen.binascii.unhexlify
. Aktualisiert die Antwort mit, die. Indem es in einen string (eine byte-Zeichenfolge beginnend mit einemb
in Python 3) und indem alle zwei hex-Ziffern mit\x
hat das gleiche Ergebnis.