IP-Adresse

Spin

Top Contributor
Hey Leute, ich versuch gerade meine IP auszulesen.

Dazu habe ich ein Programmcode gefunden.

Java:
/**
     *
     * @param IPindex
     * @return IP , die mit einer 1 anfangen muss (00010100011110)
     */
    public static String getIpAdress( int indexOf_IP )
    {
        byte[] zAddress = getLengthOf_IP( indexOf_IP  );
        if ( zAddress == null )
            return null;
        String z = "";
        for ( int j = 0 ; j < zAddress.length ; j++ ) // Jedes einzelne bit iterieren
            z += "." + (((int) zAddress[ j ]) & 255);
        return z.substring( 1 );
    }

    /**
     * Klassenmethode mit der die Länge der IP Adresse geholt wird.
     * @param indexOf_IP - Stelle der IP
     * @return - Rückgabe von bits( Noch keine Integer, sonder nur bits )
     */
    private static byte[] getLengthOf_IP( int indexOf_IP  )
    {
        if ( FetchOurInetAddresses() )
            if ( (0 <= indexOf_IP ) && (indexOf_IP  < inetAdress.length) )
                return inetAdress[ indexOf_IP  ].getAddress();
        return null;
    }


FetchOurInetAddresses habe ich schnell geschrieben um zu schauen , ob ich eine habe. ( Also ob eine Verbindung besteht und ich eine IP Adresse habe)

Dann weiß ich , dass ich mit dem Code: 0 und 1 hole. Bits.
Java:
private static InetAddress[] inetAdress;

Meine Adresse...

Ach bevor ich mich jetzt um Kopf und Kragen rede 😉

Was mich nur interessiert:

Java:
for ( int j = 0 ; j < zAddress.length ; j++ ) // Jedes einzelne bit iterieren
            z += "." + (((int) zAddress[ j ]) & 255);
        return z.substring( 1 );

Ich kenn IP ( Netz und Host anteil)
Und ich kenn auch wahrheitstabellen.
Der UND Junktor ist bekannt 😉

Nun : Warum wird er mit 255 verknüpft?
(Wir hatten dass mal in Informationstechnologie , aber ist schon 2 Semester her 😉 )

Danke
 
zAddress sind bytes d.h sie haben einen bereich von -128 bis +127. Genauso werden sie vom cast interpretiert und werte die größer als 128 gemeint waren, werden als negativ bewertet und die vorderen bits im int werden gesetzt. Durch das &255 wird es wieder korrigiert.
 

Neue Themen


Zurück
Oben