Das OS X Netzwerkdienstprogramm

OS X kommt mit einem kleinen aber nützlichen Tool, das verschiedene Netzwerkfunktionen bereitstellt, die sonst nur über das Terminal erreichbar wären. Bevor ich dieses Werkzeug und dessen Fähigkeiten erläutere, möchte ich aber erstmal einen kleinen Abriss über die Funktionsweise des Internets machen.

Das Internet

Die Geschichte des Internets beginnt in den 1950er Jahren, damals forschte man nach einer alternativen Kommunikationsmöglichkeit, das die Probleme der Telefonleitungen im Fall eines Angriffs auf die USA umgehen sollte. Das US Militär entwickelte Anfang der 1960er das ARPANET, den Vorgänger des heutigen Internets, über das auch das erste Internetpaket ausgetauscht wurde – von der University of California in Los Angeles zum Stanford Research Institute.

Der Begriff Paket fiel bereits. Obwohl es im Internet viele verschiedene Protokolle gibt, die die Kommunkation steuern, basieren alle auf Paketen. Daten, die von einem Computer zu einem anderen gesendet werden (z.B. eine E-Mail), werden in gleich große Pakete aufgeteilt, durch das Internet gesendet und am Zielcomputer wieder zusammengesetzt.

Eine weitere wichtige Eigenschaft ist die Dezentralität des Internets, es gibt keine zentrale Stelle, die alles kontrolliert. Vielmehr kann jeder einen Server ins Internet einbringen und an der Kommunikation teilnehmen.

Damit das funktioniert, hat jeder Computer in einem Netzwerk eine eindeutige Adresse, die IP-Adresse (IP: Internet Protocol). Dieser numerische Wert ist wie eine Hausnummer und identifiziert jeden Rechner eindeutig.

Das Internet

Wie kommt so ein Paket nun von meinem Rechner zu dem Zielcomputer?
In jedem Paket steht die Ziel- und die Absenderadrese. Der Computer schickt die Pakete los ins Netzwerk. Wer die Pakete als erstes bekommt, hängt vom Aufbau (Topologie) ab. Jeder Computer, der ein Paket von irgendwo bekommt, guckt hinein, vergleicht seine Adresse mit der Zieladresse und reicht das Paket ggf. weiter. Hat das Paket den richtigen Computer erreicht, behält dieser es und schickt in der Regel eine Antwort zurück, die mit dem gleichen Verfahren transportiert wird.

Wir haben im Internet also eine ganze Reihe von Computern, jeder hat eine Adresse und kennt nur einen Teil des Netzwerks – oft nur seine direkten Nachbarn.

Das Netzwerkdienstprogramm

Mit dem Wissen über die Funktionsweise des Internets im Hinterkopf, sind viele Funktionen des kleinen Dienstprogramms schnell erklärt.

Das Programm findet man weder im Programme-Ordner noch im Launchpad, wer aber über Spotlight nach dem Namen fragt, wird es ohne große Suche starten können.

Informationen

Mit dem ersten Reiter kann man Informationen über die Netzwerkschnittstellen abfragen. Über diese Schnittstellen läuft die Netzwerkkommunikation und der Mac hat eine ganze Reihe davon, darunter zum Beispiel die WLAN-Schnittstelle oder der Thunderbolt-Anschluss.

Netzwerkschnittstellen

Man sieht dort neben der Geschwindigkeit und dem Modell auch die eindeutige Netzwerkadresse.

Netstat

Der Netstat-Reiter ist schon etwas komplexerer Natur. Dort findet man Informationen über die Art und Weise, wie Pakete an andere Computer geschickt werden (Routing table), Statistiken über Netzwerkprotokolle (network statistics), verschiedene Anschlussdetails (multicast information) sowie eine Übersicht über alle offenen Verbindung zu und von anderen Computern (state of all current connections).

Ping

Mit dem Tool Ping kann man prüfen, ob Computer im Netzwerk erreichbar sind. Dafür werden kleine Pakete an das entsprechende Gerät gesendet, welches im Normalfall darauf antwortet. Tut es dies nicht, ist entweder nicht verfügbar oder das Antworten wurde deaktiviert.

Ping

Ping zeigt auch die Zeit, die für die Komminkation nötig war genauso wie die Anzahl der verlorenen Pakete, sollte es soweit kommen. Werden nicht alle Pakete beantwortet, kann das zum Beispiel auf eine überlastete Leitung hindeuten.

Bin ich mir also zum Beispiel nicht sicher, ob mein Mac eine Internetverbindung hat, kann ich mit dem Tool eine Webseite anpingen, die auf jeden Fall online ist. Bekomme ich keine Antwort, stimmt wohl etwas mit meiner Verbindung nicht.

Den Begriff Ping sieht man auch oft bei Onlinespielen, wo sich die Spieler über kurze Ping-Zeiten freuen – denn dann ist die Verbidnung zum Spielserver besonders schnell.

Lookup

Jeder Computer im Netzwerk wie dem Internet hat eine eindeutige Adresse. Damit sich Nutzer des Internets aber nicht solche kryptischen Zahlenkombinationen merken müssen, gibt es einen Dienst, DNS genannt, der eine Verbindung zwischen einer Domain wie idomix.de und einer entsprechenden Adresse herstellt.

Der Vorteil für den Nutzer ist nicht nur, dass er sich einen leicht zu merkenden Namen einprägen muss sondern auch, dass sich die Adresse ändern kann und der Nutzer nichts davon merkt.

Mit dem Loopup-Tool kann man sich nun die Adresse einer Webseite ansehen. Während dies in manchen Situationen ganz nützlich sein kann, benötigt man es in der Regel aber nicht.

Traceroute

Interessanter dürfte Traceroute sein. Mit diesem Programm kann man sich anzeigen lassen, welchen Weg ein Paket durch das Internet nimmt, bevor es am Zielrechner ankommt.

Traceroute

In der Testumgebung habe ich eine Fritz!Box mit einem Kabel Deutschland-Anschluss genutzt. Mein Paket ging zuerst zur Fritz!Box und dann über verschiedene Server vom Internetanbieter, bevor es über öffentliche Server gehend das Ziel erreichte – darunter zum Beispiel auch den Internetknoten von Berlin Commercial Internet Exchange bcix.de.

Wann ist das nützlich?
Ich kann so zum Beispiel gucken, ob mein Internetverkehr durch einen VPN oder Proxy i.A. geleitet wird, denn dann tauchen die Adresse (eher am Anfang) der Liste auf. Genauso könnte ich bei einer schlechten Verbindung herausfinden, woran es liegt.

Whois

Jede Domain im Internet wird von jemandem reserviert und in der Regel werden auch Kontaktdaten beim Registrar hinterlegt (es gibt da Länder, die Ausnahmen machen). Solche Informationen werden unabhängig von jeglichen Diensten auf dem Server gespeichert, haben also nichts mit irgendwelchen Webseiten zu tun.

Um an diese Informationen zu gelangen, bietet alle Registrare eine whois-Schnittstelle, die Anfragen zu Domains beantwortet. Dabei weiß jeder whois-Server in der Regel nur über Domains aus seinem Zuständigkeitsbereich bescheid; so werden z.B. .de-Domains vom deutschen DENIC vergeben und deren whois-Dienst kennt die Inhaber entsprechend.

Um nun an Informationen über eine Domain zu kommen, kann man den Reiter whois nutzen.

Whois apple.com

Man erhält daraufhin zum einen Informationen über die Registrar, also die Firma, die die Domain registriert hat und zum anderen über die Person, die die Domain gemietet hat. Im Fall von Apple sieht man, dass die Firma die Domain apple.com am 19.02.1987 bei Corporation Service Company gemietet hat.

Darüber hinaus gibt es auch Kontaktinformationen zu Apple selber. Sollte eine Webseite also kein Impressum aufweisen, hat man so eine Möglichkeit, den Inhaber ausfindig zu machen – wobei es auch da Möglichkeiten gibt, die eigenen Daten zu verschleiern.

Finger

Das Tool Finger stammt noch aus einer Zeit, als die Netzwerke überschauberer Natur waren und Nutzer noch einen richtigen Systemaccount hatten und sich zum Beispiel mit Telnet über die Kommandokonsole einloggten.

Finger ist nicht nur ein Tool sondern auch ein Protokoll, das bereits im Jahr 1971 entwickelt und 1977 standardisiert wurde.

Heute wird es nur noch selten eingsetzt und ist aus Sicherheitsgründen bei den meisten Computern deaktiviert. Diesen Tab wird man also in der Regel nicht benötigen.

Port Scan

Schließlich bietet das Netzwerkdienstprogramm noch einen Portscanner. Ports sind die Verbindungen in und aus einem Computer und es gibt insgesamt 65535 von ihnen, die für Verbindungen benutzt werden. Welcher dabei genommen wird, hängt von verschiedenen Faktoren ab.

Hat man eine Verbindung nach außen geöffnet, zum Beispiel zu einer Webseite, wird in der Regel ein hoher Port genutzt, viele Dienste laufen auf kleinen Ports, warten also auf Verbindungen zu Ports mit einer eher kleinen Nummer. So benutzt ein Webserver für HTTP als Standard den Port 80, HTTPS den Port 443. E-Mails über SMTP kann man i.d.R. über den Port 25 verschicken und das Finger-Protokoll verwendet den Port Nummer 79.

In den Konfigurationen der Anwendungen kann man den Port ändern, so kann es aus Sicherheitsgründen passieren, dass bestimmte Anwendungen auf Ports laufen, die man normalerweise nicht probiert. Hat der Administrator dies jedoch nicht gemacht, kann man anhand der Portnummer oft schon herausfinden, was auf dem Computer so an Diensten angeboten wird.

Mit dem Portscan-Werkzeug kann man sich alle offenen Ports eines Computers anzeigen lassen. Dabei wird einfach eine Liste durchgegangen und geprüft, ob der Computer auf dem Port eine Verbindung zulässt.

Viele Portscanner geben nicht nur den Port sondern auch gleich das vermutliche Protokoll an. Dass das immer stimmt, ist jedoch nicht sicher gestellt.

Portscanner

Man sieht hier: auf meinem eigenen Computer (immer erreichbar unter 127.0.0.1 oder localhost) befinden sich verschiedene offene Ports, darunter 631, für den das Tool das Protokoll ipp annimmt. Bei IPP handelt es sich um das Internet Printing Protocol, dort läuft der Dienst CUPS, über den man Drucker konfigurieren kann. Bei den anderen Ports macht der Portscanner keine Vorschläge – ich weiß jedoch, dass Port 5984 von der Datenbank CouchDB genutzt wird.

Fazit

Alle die Werkzeuge, die das Netzwerkdienstprogramm bereitstellt, kann man auch über das Terminal erreichen, mit dem Programm hat man allerdings eine bequeme grafische Anwendung für die gängigsten Netzwerktools von Haus aus an Board – sollte man einmal in die Not kommen, sich mit dem Netzwerk beschäftigen zu müssen.