Raspberry Pi – Netzwerk Diagnose Teil 3
Nachdem wir im letzten Teil der Artikelserie auch schon Netzwerk Pakete analysiert und Ports gescannt haben wollen wir uns noch ein paar weitere nützliche Tools für unseren Raspberry Pi Netzwerk Monitor ansehen. Linux bietet eine riesige Toolbox aus freier Software und gerade bei den Netzwerk Tools gibt es eine große Auswahl. Meine Artikelserie beschäftigt sich wirklich nur mit einer kleinen Auswahl, Ihr dürft mir aber gerne in Kommentaren weitere gute Tools vorschlagen. Wer gerne mehr über Linux lernen will kann sich ja ein Linux Handbuch kaufen oder online Informationen suchen.
NetCat
NetCat wird auch oft als das Schweizer Armeemesser der Netzwerktools bezeichnet, zurecht! Es arbeitet mit TCP und UDP. Der große Vorteil bei NetCat ist, dass es sehr abstrakt mit Datenströmen arbeiten kann. Somit geht die Verwendung von einfachem Kopieren von Dateien, streamen bis hin zur komplexen Proxy- und Gateway Kommunikation. Installiert wird NetCat wie folgt:
sudo apt-get install netcat
Das wichtigste was man zu NetCat wissen muss ist, dass es 2 unterschiedliche Betriebsmodi hat:
- Server
der Server wartet auf einem Port auf einkommende Daten und gibt sie auf der Standardausgabe aus.netcat -l -p 5678
mit diesem Aufruf wird der NetCat Server gestartet. Mit dem Parameter p wird der Port der beobachtet werden soll mit 5678 festgelegt. Alles was über diesem Port herein kommt wird auf die Standardausgabe weitergeleitet.
- Client
beim Client ist es genau umgekehrt. Alles was über die Standardeingabe kommt wird über das Netzwerk gesendet.netcat 192.168.1.5 5678
Als Parameter werden hier Zielserver (IP Adresse) und der Zielport eingegeben.
Ohne weitere Umleitung der Standardein- und ausgabe haben wir ein Chat Programm in dem der Client den eingegebenen Text an den Server sendet und dieser gibt ihn aus.
Anwendungsbeispiele
Für den professionellen Einsatz könnten wir nun zum Beispiel Port 80 (HTTP) abhören und den kompletten eintreffenden Datenstrom in eine Datei schreiben die wir dann später analysieren. Wir könnten aber auch die Daten aus vom Port direkt ein ein anderen Analyseprogramm weiterleiten. Man kann auf diese Art und weise auch ganze Dateien über einen bestimmten Port von einem Computer zu einem anderen senden.
Test
Das Bild zeigt meinen Testlauf:
- Ubuntu Rechner (192.168.1.2) – Client
mein Ubuntu Rechner wird als nc Client eingerichtet und ich schreibe einfach meine Kommandos im Terminal und bestätige jeweils mit Eingabe. - Raspberry Pi (192.168.1.4) – Server
auf meinem Raspberry Pi habe ich den NetCat Server und es wird der am Client eingegebene Text angezeigt.
Professioneller Einsatz
Auf vielen Linux Systemen ist NetCat als das Programm nc bereits installiert. Wikipedia beschreibt einen sehr konkreten Anwendungsfall in dem NetCat als unsichtbarer ProxyServer zwischen die Client Server Kommunikation dazwischengeschaltet wird. Somit kann dieser ProxyServer die gesamte Kommunikation abhören und wird weder vom Server noch vom Client erkannt.
Antivirenprogramme stufen das Programm nc.exe als potentiell gefährlich ein und lassen normalerweise die Ausführung nicht zu. Warum? Netcat kann ungehindert einen Port öffnen über den dann Schadsoftware eingespielt werden könnte.
Wie dem auch sei, mit NetCat kann man sehr schnell und einfach über Ports Daten senden oder die eingehenden Daten aufzeichnen. Ein sehr einfaches, aber mächtiges Tool.