Norbert: fsockopen und wie weiter ... (DNS)

Hallo,

wie man mit fsockopen() den Content einer URL abruft sollte bekannt sein.
Aber nun moechte ich auf Port 53 einen DNS-Server befragen und ich finde
nirgends eine hinreichende Beschreibung, dabei kann der Unterschied ja
nur marginal sein.

Weiss da jemand etwas oder hat einen passenden Link?

PS:
Ja, PHP macht das fuer mich, aber ich will es mal selbst gemacht haben.

Gruss und Dank
Norbert

  1. Salut

    Weiss da jemand etwas oder hat einen passenden Link?

    http://de3.php.net/gethostbyaddr#46869

    au relire

    Sven

    1. Hallo Sven,

      Weiss da jemand etwas oder hat einen passenden Link?
      http://de3.php.net/gethostbyaddr#46869

      falsch,
      warum versuchst Du es nicht mal mit Lesen ...

      1. was steht im Subject
         fsockopen und wie weiter ...
         ist gethostbyaddr = fsockopen - nein

      2. was hat der OP geschrieben?
         »» ich will es mal selbst gemacht haben
         ist gethostbyaddr = selbstgemacht - nein

      Also was spamst Du hier rum ... <grrmpf>

      Gruss und Dank
      Norbert

      1. Hallo Norbert,

        http://de3.php.net/gethostbyaddr#46869

        warum versuchst Du es nicht mal mit Lesen ...
        Hast du die verlinkte UCN mal angeschaut? Da baut jemand mit fsockopen() eine UDP-Verbindung zum DNS auf und versucht, die gewünschte Information "zu Fuß" abzurufen. Also genau das, was der OP gefragt hat.

        Also was spamst Du hier rum ... <grrmpf>

        Look who's talking.

        Ciao,
         Martin

        --
        Der Stress von heute ist die gute alte Zeit von morgen.
        1. Hallo Martin,

          warum versuchst Du es nicht mal mit Lesen ...
          Hast du die verlinkte UCN mal angeschaut? ... f.f.
          Also genau das, was der OP gefragt hat.

          leider doch nicht!
          Aber das war schon am Funktionsnamen zu sehen getHostbyAddr()

          Vielleicht war es auch so genau nicht heraus zu lesen,
          gesucht wird etwas vergleichbares wie getHostbyName().
          Das hat der OP wohl als selbstverstaendlich angenomen ...

          Gruss und Dank
          Norbert

          1. Hi,

            Hast du die verlinkte UCN mal angeschaut? ... f.f.
            Also genau das, was der OP gefragt hat.
            leider doch nicht!

            aus dem Originalposting:
            "Aber nun moechte ich auf Port 53 einen DNS-Server befragen ..."
            Mehr Information über das geplante Vorhaebn kann ich darin nicht finden.

            Und nun aus dem verlinkten Beitrag:

            $handle = @fsockopen("udp://$dns", 53);
                // send our request (and store request size so we can cheat later)
                $requestsize=@fwrite($handle, $data);

            @socket_set_timeout($handle, $timeout - $timeout%1000, $timeout%1000);
                // hope we get a reply
                $response = @fread($handle, 1000);
                @fclose($handle);

            Was denn noch? Aus dem Hostnamen die IP zu erhalten (anstatt aus der IP den Hostnamen) ist doch nur eine Änderung der Abfrage. Der Verbindungsaufbau zum DNS geht exakt nach dem gleichen Strickmuster!

            Ciao,
             Martin

            --
            Die letzten Worte des stotternden Beifahrers:
            Frei... frei... frei... freilich kommt da was!!
            1. Hallo Martin,

              aus dem Originalposting:
              "Aber nun moechte ich auf Port 53 einen DNS-Server befragen ..."
              Mehr Information über das geplante Vorhaebn kann ich darin nicht finden.

              okay,
              da der Weg von der IP zum Hostnamen nie eindeutig ist, hat mich der auch
              noch nie interessiert. Es gibt ihn und gut ists ...

              Tja, wenn man mit einer IP-Nummer alle unter dieser Adresse gemeldeten
              Domains abfragen koennte, das waere natuerlich ganz was anderes,
              geht aber nicht!

              Der Verbindungsaufbau zum DNS geht exakt nach dem gleichen Strickmuster!

              aber nur im Prinzip!
              Wie man aus dem Script sieht, ist das, was mit fwrite() nach dem Connect
              an den Server gesendet wird ein nicht weiter beschriebenes binaeres Format.
              Das kann man nicht einfach umdrehen.
              Da ist der Unterschied zwischen GET und POST trivialer.

              Uebrigends, fuer gethostbyaddr() gibt es viele Beispiele im Netz,
              fuer den umgedrehten Fall, der jedoch viel haeufiger auftritt,
              habe ich bis heute noch keines gefunden.

              Gruss und Dank
              Norbert

              1. Moin!

                Tja, wenn man mit einer IP-Nummer alle unter dieser Adresse gemeldeten
                Domains abfragen koennte, das waere natuerlich ganz was anderes,
                geht aber nicht!

                Richtig, weil das für Reverse-DNS nicht vorgesehen ist.

                Uebrigends, fuer gethostbyaddr() gibt es viele Beispiele im Netz,
                fuer den umgedrehten Fall, der jedoch viel haeufiger auftritt,
                habe ich bis heute noch keines gefunden.

                gethostbyname() ist das Gegenstück zu gethostbyaddr().

                Du suchst etwas, was dir zu einer gegebenen IP alle DNS-Einträge der Welt liefert, die auf diese IP zeigen.

                Das entspricht in etwa der Suche nach allen Datenbankeinträgen aller Werbefirmen, die deine gegebene Adresse gespeichert haben. Sowas ist selbstverständlich denkbar, erfordert aber nunmal zwingend, dass du wirklich alle Datenbanken aller Firmen der Welt befragst, ob sie deine Adresse gespeichert haben.

                Logischerweise wäre es auch denkbar, das mit DNS zu machen - dauert dann aber sehr lange, weil du jeden definierten Host jeder existierenden Domain prüfen mußt.

                - Sven Rautenberg

                --
                "Love your nation - respect the others."
                1. Hallo Sven,

                  Du suchst etwas, was dir zu einer gegebenen IP alle DNS-Einträge der Welt liefert, die auf diese IP zeigen.

                  hmm,
                  irgendwie verwechselst Du da was!

                  gethostbyname('google.de') liefert die IP-Nummer 216.239.59.104
                  mehr nicht!

                  Und das moechte ich via fsockopen auch nur ermitteln.
                  Das Problem dabei ist, ich finde das Format der Anfrage nicht.
                  Aber hier weiss es scheinbar auch niemand - schade ...

                  Gruss und Dank
                  Norbert

                  1. Hallo Norbert,

                    irgendwie verwechselst Du da was!

                    das könnte daran liegen, dass du dein Anliegen nicht wirklich klar schilderst.

                    gethostbyname('google.de') liefert die IP-Nummer 216.239.59.104
                    mehr nicht!
                    Und das moechte ich via fsockopen auch nur ermitteln.
                    Das Problem dabei ist, ich finde das Format der Anfrage nicht.

                    Aber du kannst doch lesen! Den groben Überblick gibt schon der Wiki-Artikel über das DNS, der auch auf die offizielle Spezifikation verweist. Vor allem RFC1035 beschreibt das Format der Anfragen und der Antworten haarklein.

                    Aber hier weiss es scheinbar auch niemand - schade ...

                    Aber die meisten von uns lesen es einfach nach, wenn sie es brauchen.

                    Ciao,
                     Martin

                    --
                    Okay, Alkohol ist keine Antwort.
                    Aber manchmal vergisst man beim Trinken wenigstens die Frage.
                    1. Hallo Martin,

                      irgendwie verwechselst Du da was!
                      das könnte daran liegen, dass du dein Anliegen nicht wirklich klar schilderst.

                      logo,
                      wer etwas wirklich klar schildern kann, sieht auch eine Loesung
                      und muss nicht schlecht gelaunte oder sonstwie missgestimmte Leute
                      um Hilfe anbetteln, um sich verarschen und auch mal beschimpfen zu lassen.

                      Das nur, damit Du eine Vorstellung hast, wie sich dieser Thread aus Sicht
                      des Fragestellers anfuehlt. Ja, ich weiss, die Opfer sind schuld.
                      Die Deppen zwingt ja niemand hier zu fragen.

                      Vor allem RFC1035 beschreibt das Format der Anfragen und der Antworten haarklein.

                      glaube ich gerne,
                      trotzdem kapier ich es nicht und in WikiPedia steht extra dabei,
                      dass es auf das "Wesentliche" gekuerzt wurde ... :-(

                      Aber hier weiss es scheinbar auch niemand - schade ...
                      Aber die meisten von uns lesen es einfach nach, wenn sie es brauchen.

                      was sie jedoch nicht in die Lage versetzt, einem Ahnungslosen ein
                      signifikantes Beispiel an den hohlen Kopf zu werfen.
                      Warum lesen sie es dann erst ... ;-)

                      Gruss und Dank
                      Norbert

                      1. Moin!

                        irgendwie verwechselst Du da was!
                        das könnte daran liegen, dass du dein Anliegen nicht wirklich klar schilderst.
                        logo,
                        wer etwas wirklich klar schildern kann, sieht auch eine Loesung
                        und muss nicht schlecht gelaunte oder sonstwie missgestimmte Leute
                        um Hilfe anbetteln, um sich verarschen und auch mal beschimpfen zu lassen.

                        Vielleicht solltest du dann mal an deinen Kommunikationsskills arbeiten.

                        Im Ausgangsposting fragst du, wie du mit fsockopen() einen DNS-Server ansprechen kannst.

                        Die Antwort von Sven verweist auf eine komplette Funktion, die das erledigt.

                        Resultat: Du beschimpfst ihn als Spammer, weil er deine Frage nicht richtig gelesen hat - dabei erfüllt sein Verweis alle bis dato bekannten Fragestellungen deinerseits.

                        Erst Stunden später rückst du mit der Info raus, dass du z.B. zu "google.com" die IP wissen willst.

                        Was sagt das jetzt über die Teilnehmer dieses Threads aus, und was über dich?

                        Und das ist nicht das erste Mal, dass du eine unkonkrete Frage stellst, die dir nicht gefallenden Antworter dann übel beschimpfst, und erst stückchenweise mit deinem tatsächlichen Anliegen rausrückst.

                        Wenn nicht mal du am Anfang weißt und schreiben kannst, was du genau willst, wie sollen es dann die Forumsteilnehmer hier wissen.

                        Das nur, damit Du eine Vorstellung hast, wie sich dieser Thread aus Sicht
                        des Fragestellers anfuehlt. Ja, ich weiss, die Opfer sind schuld.

                        Das obige nur, damit auch du eine Vorstellung kriegst, wie sich dein Verhalten für Forumsteilnehmer anfühlt.

                        Es ist nicht böse, eine Fragestellung beim ersten Mal nicht vollständig hinzukriegen. Das kann in der Diskussion herausgearbeitet werden.

                        Aber es ist SEHR BÖSE, wenn hilfsbereite Antworter sofort scharf angegangen werden, weil sie nicht zwischen den Zeilen und in ihrer Glaskugel gelesen haben, was wirklich gefragt war, obwohl das nicht im Leisesten zu erraten war.

                        - Sven Rautenberg

                        --
                        "Love your nation - respect the others."
                        1. Hallo Sven,

                          habe mir Deine Hinweise zu Herzen genommen
                          und moechte deshalb meinen Account loeschen,
                          geht aber nicht.
                          Internal Error
                          Kannst Du da etwas dran drehen - danke!

                          Gruss und Dank
                          Norbert

                          1. Hallo,

                            Ich habe Deinen Account soeben manuell gelöscht.

                            Viele Grüße,
                            Christian

      2. Salut!

        ich habe extra auf den entsprechenden Anker verlinkt, in der Hoffnung,
        Dir sei die Technik des Scrollens bekannt!
        Soll ich dir den Text noch vorlesen und als als Voice-mail senden?

        http://de3.php.net/gethostbyaddr#46869
        falsch,

        Nein!

        warum versuchst Du es nicht mal mit Lesen ...

        Sagt wer?

        Also was spamst Du hier rum ... <grrmpf>

        Das ist definitiv meine letzte Antwort an dich!

        au relire

        Sven

        --
        "There is no data, there is only XUL"
        http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul