Telnet-Client über PHP

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Telnet-Client über PHP

    Hallo!

    Ich bin neu hier... bisher war ich nur stiller Mitleser
    Also... ich wollte mal fragen, ob es möglich ist, über PHP einen Telnet-Client zu programmieren. Genauer gesagt möchte ich mich über Telnet mit einem Router verbinden und das alles soll über PHP realisiert werden.
    Da PHP eine Socket-Klasse hat und man damit TCP-Verbindungen realisieren kann, sollte es eigentlich möglich sein, denke ich. Einziges Manko bisher: Aufbauen der TCP-Verbindung zum Herstellen der Telnet-Sitzung (3-Way-Handshake). Da weiß ich nicht, wie ich da vorgehen soll. Denn ich wünsche mir, dass der User nur das Telnet-Passwort für den Router eingibt und dann die Befehle von PHP aus gesendet werden (und der User diese nicht eingeben muss, sondern er klicken kann).
    Ziel des Ganzen ist es, die Cisco Router-Konfig auszulesen... denn ich habe keine Idee, wie ich da sonst (außer Telnet) rankommen kann... TFTP-Server steht nämlich nicht zur Verfügung und auf dem Router läuft auch kein HTTP-Server.

    Für Anregungen, Tipps, Ideen und v.a. Code-Schnipsel wäre ich dankbar!
    Vielen Dank und einen schönen Abend,

    schnecke

  • #2
    Re: Telnet-Client über PHP

    Original geschrieben von schnecke123
    ich wollte mal fragen, ob es möglich ist, über PHP einen Telnet-Client zu programmieren.
    Klares Ja.
    Einziges Manko bisher: Aufbauen der TCP-Verbindung zum Herstellen der Telnet-Sitzung (3-Way-Handshake). Da weiß ich nicht, wie ich da vorgehen soll.[/B]
    Handshake? Du?

    Telnet = Andwendungsprotokoll
    TCP = Transportprotokoll
    Socket öffnen = TCP/UDP-Verbindung herstellen

    Manual zu fsockopen() gelesen? Sicher nicht, sonst wäre dir an den Usernotes aufgefallen, dass sich dort keiner um Handshakes kümmert!

    Kommentar


    • #3
      Handshake? Du?
      Warum? Hat Schnecke123 eine ansteckende Krankheit?

      ...dass sich dort keiner um Handshakes kümmert!
      Tja, so sind sie halt, diese Informatiker! Unhöfliches Volk manchmal.... keine Manieren mehr heutzutage... Grummelgrummel... Nicht mal die Hand geben sie einem mehr....

      Kommentar


      • #4
        Ok, dann ging es doch ganz einfach... (Ich bin nur von anderen Sprachen wie Java oder C++ etc. gewohnt, den Handshake selber zu initalisieren).

        So... nun aber doch ne kleine Frage: Ich schicke Befehle an einen Cisco-Router... jedoch wenn es sich bei dem Kommando um eine längere Ausgabe handelt mit --more-- dazwischen dann klappt es nicht, mein Skript hängt sich dann auf. Obwohl ich explizit prüfe, dass wenn ein "more" kommt auch ein Leerzeichen geschickt werden soll.... jemand eine Idee, warum das so ist und warum das skript stehen bleibt?!

        Kommentar


        • #5
          Also ich habe noch NIE eine Sprache gesehen, bei der man den Handshake selbst machen muß! Mit Java ist es wahrscheinlich sogar unmöglich, weil man gar nicht direkt auf die Hardware kommt. Bei C wiederum geht es mit Sicherheit, aber wenn man nicht grad für RISC programmiert, erspart man sich den Kram mit Seq/Ack/Win & Co.

          Sendet wirklich der Router das --more-- oder fügt es dein Terminalprogramm (Telnet-Client) ein?
          Laß dir zur Kontrolle mal den rohen Datenfluß ausgeben, Steuerzeichen inklusive.
          Mehr kann man dazu irgendwie schlecht sagen, ohne den Code zu kennen.

          Kommentar


          • #6
            hmm Handshake gibts nur beim TCP Protokoll mit den Sliding Windows.....

            Und im Grunde sollte in jeder OOP Programmiersprache bereits ein Socket Objekt vorhanden sein mit dem man das machen kann...
            [color=blue]MfG Payne_of_Death[/color]

            [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
            [color=red]Merke:[/color]
            [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

            Murphy`s Importanst LAWS
            Jede Lösung bringt nur neue Probleme
            Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
            In jedem kleinen Problem steckt ein großes, das gern raus moechte.

            Kommentar

            Lädt...
            X