2017-03-04 1 views
0

Ich habe einen Ausdruck zum Fingerabdruck bestimmter Arten von IP-Paketen. Aber ich weiß nicht, wie die Expression zu dekodierenXOR IP-Adresse und Port Nummer

Der Ausdruck wird wie folgt

ip_id = ip_address XOR port_number XOR sequence_number 

Wie man den Wert von ip_id bekommen ?? port_number und sequence_number sind Ganzzahlen. So kann es XORed werden. Aber wie können wir IP_Adresse und eine Ganzzahl XOR?

Vielen Dank im Voraus Subin

+0

'ip_address' ist auch eine Ganzzahl, wenn Sie es wollen, wird ein bisschen haarig, wenn Sie IPv6 unterstützen möchten, dann haben Sie plötzlich eine 128bit Ganzzahl zu bewältigen. – harold

+0

@harold Vielen Dank für Ihre Antwort. Wie kann ich die IP-Adresse in Integer umwandeln? – user3020466

+0

Hängt davon ab, in welchem ​​Format Sie es an erster Stelle haben. Normalerweise ist es bereits eine ganze Zahl. – harold

Antwort

0

Werfen Sie einen Blick auf die Funktionen INET_ATON und inet_ntoa.

Diese Funktionen ähneln ntoa und aton und analysieren eine Zeichenfolgendarstellung zu einem nativen Datenformat und umgekehrt.

Eine IP-Adresse besteht aus 4 Bytes:

aaa.bbb.ccc.ddd 

Die 4 Bytes insgesamt macht, damit Sie sie auf 1 Einzel ganze Zahl kombinieren können (was auch 4 Bytes = 32 Bits).

+0

Ohh..Ok..Danke für Ihre Antwort. – user3020466

Verwandte Themen