Telnet

Telnet, wie Ping standardmäßig bei allen Distributionen installiert, leistet gute Dienste bei der Überprüfung von Serverdiensten. Viele Protokolle, wie HTTP, IMAP oder SMTP lassen sich über eine einfache Telnet-Verbindung bedienen. Allerdings ist hierfür die genaue Kenntnis der entsprechenden Protokollkommandos und Abläufe Voraussetzung für die Kommunikation mit dem Serverdienst. In den meisten Fällen finden sich alle benötigten Informationen dazu in den jeweiligen RFCs .

Schon der Verbindungsaufbau zum Server bietet erste Rückschlüsse auf einen möglichen Fehler: Ist das Gerät überhaupt unter der angegebenen Adresse auf dem angegebenen Port erreichbar?

DNS-Werkzeuge

Die DNS-Clients »host«und »dig« sowie das veraltete, aber immer nochverbreitete »nslookup«ermitteln auf der KonsoleDaten von DNS-Servernwie die IP eines Rechnersoder den zuständigenMailserver.

Routing-Tools

»route« und »ip routeshow« zeigen die eingestellten Routen. »ip«kennt Routing Policies,um Pakete auf unterschiedlichen Wegen insZiel zu bringen.

Listen offener Ports/Sockets

»netstat« listet offenePorts, Netzwerkverbindungen und Routing-Tabellen auf, das Perl-Skript»socklist« offene Sockets.Geöffnete Dateien, Verzeichnisse und Socketszeigt »lsof« an, während»fuser« Prozesse identifiziert, die Dateien oderSockets belegen.

Ethernet-Karten kontrollieren und konfigurieren

Die Verbindung zu einem Switch prüfen kann»mii-diag«, einem Duplex-Mismatch kommt»ethtool« auf die Spur.

Meldet Telnet ein »Connected to…«, oder wird die Kommunikation zum Zielgerät etwa durch eine Firewall oder durch einen Netzwerkdefektunterbunden? Ist der entsprechende Dienst auf dem Zielgerät gestartet, oder wird bereits der Verbindungsaufbau abgelehnt, etwa mit der Fehlermeldung »telnet: connected to address …: Connection refused«? Ein einfaches Beispiel für den Einsatz von Telnet zur Netzwerküberwachung ist zum Beispiel der Test der Kommunikation mit einem Webserver. Die Verbindung baut der Befehl »telnet webserver 80«auf, die Eingabe von »get« fordert die Indexseite des Servers an. Wenn alles geklappt hat, werden zahlreiche Zeilen HTML auf der Befehlszeile ausgegeben. Auch Mailserver prüft Telnet unkompliziert, wenn der Administrator ein paar Befehle des SMTP-Prokolls beherrscht. Im Listing 1 lehnt der Mailserver das Relaying für „test.de“ ab, er ist demnach wahrscheinlich kein Open Relay.

Netcat

Wie Telnet kann auch Netcat mit TCP-basierten Protokollen kommunizieren, kombiniert diese Fähigkeit aber mit Features, die von dem Befehlszeilentool »cat« bekannt sind. Netcat bietet darüber hinaus noch weitere nützliche Features. Es sendet und empfängt binäre Daten über TCP oder UDP, kann auf eingehende Verbindungen lauschen und empfangene Daten in Dateien umleiten.

Netcat bietet neben einer langen Reihe von nützlichen Optionen zwei verschiedene Arbeitsmodi. Als Capturer zeichnet es alle Daten auf, die an einer Netzwerkschnittstelle ankommen, und legt diese in einer Datei ab. Mit der Option »-l« aufgerufen, bietet der Listener-Modus die Möglichkeit, Netcat auf einem frei definierbaren Port lauschen zu lassen. Damit lässt sich dann ein Serverdienst emulieren und Daten von Clients empfangen und auswerten.

Listing 1: Per Telnet eine Mail versenden

#> telnet mail-server 25
Verbinden zum Mail-Server:
Trying ...
Connected to mail-server.
Escape character is '^]'.
220 mail-server C=DE ESMTP
helo test-server
250 mail-server C=DE
mail from: test@test.de
250 ok
rcpt to: test@test.de
553 sorry, we do not relay for your IP address (#5.7.1)
quit
221 mail-server C=DE
Connection closed by foreign host.

Dieses Vorgehen macht Sinn, wenn an der Funktionsfähigkeit eines Serverdienstes kein Zweifel besteht, einzelne Clients aber Probleme mit dem Verbindungsaufbau zu diesem Server haben. Mit »netcat -l -o logdatei -p80« lauscht Netcat auf dem lokalen Port 80 und protokolliert alle Verbindungsanfragen für eine weitere Analyse in der Datei »logdatei«.

Umgekehrt liefert ein »netcat webserver 80« die entsprechenden Rückgabewerte des Servers »webserver«: Das Kommando »HEAD / HTTP/1.0« gefolgt von zweimal [Return] veranlasst den Webserver, seinen Header auszuliefern.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2020