Problem mit Interpretation von Datentypen

Gast #5556829
Lesenswert?

Hallo zusammen, ich komme irgendwie nicht weiter. Ich habe einen 
"String", der eigentlich eine binäre Sequenz in hexadezimaler 
Interpretation darstellen soll.

unsigned char source[] = 
"\x6a\x0a\x68\xc0\xa8\x00\x29\x68\x02\x00\x11\x5c\x89\xe6\x50";

Darin sind meine IP (192.168.0.41 an den Stellen 4,5,6 und 7 
[\xc0\xa8\x00\x29])
und mein offener Port (4444 an den Stellen 11 und 12 [\x11\x5c]) 
enthalten.


Ich möchte meine IP und meinen Port gerne einem Programm als Parameter 
übergeben (also mit argv), sie in die richtige Formatierung bringen und 
mit den Sequenzen meiner IP und meines Portes in char source ersetzen. 
Also so, das die binäre Sequenz am Ende auch wieder die korrekte Endian 
Schreibweise aufweist.

Grüße Manuel
Persönliche Seite #5557105
Lesenswert?

Manuel schrieb:
> sie in die richtige Formatierung bringen

D.h. als String, "192.168...." ?

Manuel schrieb:
> Also so, das die binäre Sequenz am Ende auch wieder die korrekte Endian
> Schreibweise aufweist.

Was verstehst du unter "korrekt"? Die Byte Order des aktuellen 
Computers, oder die Network Byte Order, welche man z.B. via sockaddr an 
connect() übergibt?
Gast #5558432
Lesenswert?

Niklas G. schrieb:
> Was verstehst du unter "korrekt"? Die Byte Order des aktuellen
> Computers, oder die Network Byte Order, welche man z.B. via sockaddr an
> connect() übergibt?

Das kann ich ehrlich gesagt nicht sagen. Es sollte hald wie beschrieben 
eingefügt werden. So wie sie jetzt in der Variable source drin stehen.

192.168.0.41 -> \xc0\xa8\x00\x29
4444 -> \x11\x5c

oder kann ich die Variable source irgendwie zerteilen und wieder 
zusammenfügen um das was ich will zu bewerkstelligen?

LG Manuel

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren