portscanner funktioniert nicht



  • Die Ziel-Adresse sollte noch verwendet werden:

    Info.sin_addr.s_addr = inet_addr(IP);
    

    weiterhin wird immer der gleiche Port geprüft:

    Info.sin_port = htons(start); // hier sollte temp statt start stehen
    

    die while-Schleife könnte den letzten Port mit überprüfen:

    while(temp <= end)
    {
    ...
    }
    

    und ein WSACleanup am Ende wäre auch nicht schlecht.



  • Berufspenner schrieb:

    Ich bin was die Binärdarstellung da gerade nicht so fit. Also eher letzteres verwenden.

    Dir ist schon klar, dass das eine IP-Adresse ist?



  • lol^^ schrieb:

    Berufspenner schrieb:

    Ich bin was die Binärdarstellung da gerade nicht so fit. Also eher letzteres verwenden.

    Dir ist schon klar, dass das eine IP-Adresse ist?

    Ich weiß gerade nicht, was du meinst. Erklärs mir bitte.



  • der Berufspenner hat damit gemeint das er nich weis ober die IP in dem format 127.000.000.001 übergeben wird , auch als 172.0.0.1 interpretiert wird... der weis ganz sicher was ne IP is



  • ...hat aber nix mit Binärdarstellung zu tun, da gibt es die Ziffern 2 und 7 nicht :p

    Ein sehr ungeschickter IP-Adressen-Parser könnte die führende Null zum Anlass nehmen, die Zahlen oktal zu interpretieren, aber selbst das macht bei den Werten 0 und 1 keinen Unterschied.



  • BorisDieKlinge schrieb:

    der Berufspenner hat damit gemeint das er nich weis ober die IP in dem format 127.000.000.001 übergeben wird , auch als 172.0.0.1 interpretiert wird... der weis ganz sicher was ne IP is

    So siehts aus 😉 Danke, dass du das nocheinmal verdeutlicht hast 🙂

    LordJaxom schrieb:

    ...hat aber nix mit Binärdarstellung zu tun, da gibt es die Ziffern 2 und 7 nicht :p

    Hä? Wieso sollte es die Ziffern 2 und 7 in binärer Form nicht geben? Und ob das ganze was mit Binärzahlen zu tun hat. Intern werden die IP-Adressen als "gepunktete Dezimalzahlen" bzw. als Zeichenketten gehandhabt. Damit der Rechner damit überhaupt ordentlich arbeiten kann, wird diese Zeichenkette mit hilfe der Funktion

    inet_addr()
    

    in eine passende Binärform umgewandelt.



  • Berufspenner schrieb:

    LordJaxom schrieb:

    ...hat aber nix mit Binärdarstellung zu tun, da gibt es die Ziffern 2 und 7 nicht :p

    Hä? Wieso sollte es die Ziffern 2 und 7 in binärer Form nicht geben?

    Weil die binäre Darstellung nur die Ziffern 0 und 1 kennt. Die Zahlen 2 und 7 gibt es natürlich in binärer Darstellung. </haarespalt>

    Und ob das ganze was mit Binärzahlen zu tun hat. Intern werden die IP-Adressen als "gepunktete Dezimalzahlen" bzw. als Zeichenketten gehandhabt.
    Damit der Rechner damit überhaupt ordentlich arbeiten kann, wird diese Zeichenkette mit hilfe der Funktion

    inet_addr()
    

    in eine passende Binärform umgewandelt.

    Das sagt aber nun garnichts darüber aus, was es mit der Binärdarstellung zu tun hat, ob "127.000.000.001" und "127.0.0.1" unterschiedlich interpretiert werden.



  • lol laut dem ding sind bei mir alles ports offen xD



  • Moin.
    000 und 0 sind in binärdarstellung definitv das selbe.
    Es ist wohl eher die Frage gestellt ob inet_addr() das richtig convertiert.
    Meines wissens ja.

    Die Zahlen 2 und 7 gibt es nicht in der binärdarstellung. Dessen Wertigkeit ausm Decimalsystem aber schon. Schauste hier.

    grüüße



  • OK super jetzt funktionierts

    @lollol
    'lol laut dem ding sind bei mir alles ports offen xD'

    man muss noch folgende if schleife ändern:

    if(nret == 0)   // zuvor war hier !=
          {
             cout << "Port " << temp << " - OPEN! " << endl;
          }
    

Anmelden zum Antworten