HTTP-Requests mit Telnet senden

In diesem Artikel wird gezeigt, wie man mit dem Telnet-Client unter Windows oder Linux eigene HTTP-Requests an einen Webserver im Internet oder im lokalen Netzwerk senden kann. Voraussetzung für diesen Artikel ist, dass ihr mit dem Hypertext Transfer Protocol einigermaßen vertraut seid. Ob ihr unter Windows oder unter Linux arbeitet, ist erst einmal nicht relevant. Die Befehle für den Telnet-Client in der Konsole sind unter beiden Betriebssystemen gleich.

(Falls nicht: Bitte Rückmeldung über die Kommentare!)

Für diesen Artikel arbeite ich unter Windows 7 (mit Windows 8-Theme). Windows 7-Nutzer müssen den Telnet-Client allerdings noch aktivieren, da dieser standardmäßig deaktiviert ist, weil Telnet schon lange durch SSH ersetzt wurde.

Windows 7: Telnet-Client über Systemsteuerung aktivieren

Um den Telnet-Client unter Windows 7 zu aktivieren, sucht ihr im Startmenü nach Windows-Funktionen und drückt die Entertaste. Gebt danach euer Admin-Passwort ein, falls ihr dazu aufgefordert werdet, und scrollt dann zu Telnet-Client. Dort aktiviert ihr das Kontrollkästchen und klickt auf OK. Danach ist der Telnet-Client aktiviert.

Telnet-Client aktivieren

Telnet: Verbindungsaufbau zum Webserver

Um eine Telnet bzw. HTTP-Verbindung zu einem Webserver aufzubauen, müssen zwei Parameter angeben werden: Einmal der Remote-Host und der Remote-Port. Wenn der Remote-Port nicht angegeben wird, dann versucht der Telnet-Client standardmäßig eine Verbindung über das Telnet-Protokoll auf Port 23 aufzubauen. Wir wollen aber eine HTTP-Verbindung aufbauen, also müssen wir den Port 80 angeben. In der Konsole führt ihr dann folgende Befehlskette aus:

telnet %RemoteHost% %RemotePort%

HTTP-Verbindung aufbauen

Nachdem ihr die Befehlskette mit Enter abgeschickt habt, erscheint ein leerer Bildschirm, in dem auf eure Eingabe gewartet wird. Der Webserver ist nun bereit, um den HTTP-Request entgegenzunehmen. Allerdings hat man für die Eingabe des HTTP-Requests nicht allzu viel Zeit, denn der Server schließt die Verbindung nach einer gewissen Zeitspanne automatisch wieder, wenn keine Antwort vom Client (also von euch) kommt.

Telnet: Einen HTTP-Request von Hand senden

Wenn ihr die vorherigen Schritte erledigt habt und die Verbindung zum Webserver aufgebaut ist, dann könnt ihr direkt mit dem Senden des HTTP-Requests beginnen. Die Begriffe Request, Response, Header und Body sollten euch schon durch den Artikel über das Hypertext Transfer Protocol bekannt sein.

Beginnt nun also damit, indem ihr vom Webserver die Webseite anfordert. Im Beispiel sende ich jetzt mal einen Request, der mir den Inhalt meiner Webseite zurücksenden soll. Der Response, also die Antwort auf eine HTTP-Anfrage, wird direkt im Konsolenfenster angezeigt.

HTTP-Response

Hinweis:

Es muss mindestens die Request-Methode, die Ressource, die Protokollversion und der Hostname angegeben werden. Andernfalls sendet der Webserver den HTTP-Statuscode 400 Bad Request zurück. Für weitere Informationen lest ihr den Artikel über das Hypertext Transfer Protocol. Dort findet ihr auch Beispiel-Requests, die ihr hier verwenden könnt.

Beachtet bitte, dass ihr die Eingabe des HTTP-Requests, nachdem die Verbindung aufgebaut wurde, blind machen müsst. Aus einem mir unbekannten Grund zeigt die Konsole einem nicht an, was man dort eingibt, sondern man sieht lediglich den Cursor. Aus diesem Grund ist der HTTP-Request auch nicht im Screenshot zu sehen.

Hinweis:
Dies ist ein älterer Artikel von meinem alten Blog. Die Kommentare zu diesem Artikel werden (falls vorhanden) später noch hinzugefügt.

Der Autor

Unter dem Namen »TheBlackPhantom« alias »BlackY« veröffentlichte ich auf meinem alten Blog, BlackPhantom.DE, in der Zeit von 2011 bis 2015 leidenschaftlich Beiträge über Computer, Internet, Sicherheit und Malware. Während der BlackPhantom-Zeit war ich noch grün hinter den Ohren und lernte viel dazu. Mehr Infos vielleicht in Zukunft...