metamorworks - stock.adobe.com
Wie Sie Nmap zur Netzwerkdokumentation nutzen können
Nmap eignet sich nicht nur für Sicherheitsaufgaben, sondern auch für die Netzwerkdokumentation und -inventarisierung. Mit unseren Best Practices nutzen Sie Nmap-Scans optimal.
Üblicherweise ist Nmap vor allem unter Sicherheitsaspekten interessant. Doch man sollte auch daran denken, dass das Toll sich ebenfalls für alltägliche Admin-Aufgaben hervorragend eignet.
Beispielsweise unterstützt Nmap Folgendes:
- Netzwerkinventarisierung
- Geräteerkennung für das Konfigurationsmanagement
- Netzwerk-Mapping zum Troubleshooting
Wie lässt sich Nmap also nutzen, außer für die Sicherheit? Indem Sie ein Netzwerk inventarisieren und dokumentieren, ermöglichen Sie die Durchführung von Audits und die Nachverfolgung von Lizenzierungsunterlagen, ein genaues und effizientes Konfigurationsmanagement sowie eine solide Referenz für die Fehlersuche.
Dieser Artikel erläutert einige Optionen und Tricks, um Nmap für nicht sicherheitsrelevante Aufgaben einzusetzen. Er beginnt mit einem kurzen Überblick über die grundlegende Verwendung von Nmap und zeigt dann, wie sich Ergebnisse in Dateien ausgeben lassen. Außerdem geht er auf die Verwendung von Zenmap sowie einige Besonderheiten von Ansible ein.
Nmap-Grundlagen
Zunächst eine kurze Zusammenfassung der Nmap-Grundlagen, einschließlich einiger Optionen, die eher für Inventarisierung und Erkennung als für Sicherheitsaspekte geeignet sind.
Grundlegende Scansyntax
Angenommen, Sie benutzen die Kommandozeilenversion (das GUI-Tool Zenmap behandeln wir weiter unten), dann können Sie ein einzelnes System scannen:
nmap 192.168.2.200
Starten Sie einen einfachen Subnetzscan, indem Sie den Befehl nmap und das Subnetz eingeben:
nmap 192.168.2.0/24
Je nach Größe des Subnetzes kann dieser Scan eine Weile dauern. Wenn Sie mehrere Subnetze gleichzeitig scannen müssen, setzen Sie ein Leerzeichen zwischen die einzelnen Netzwerk-IDs, etwa so:
nmap 192.168.2.0/24 192.168.3.0/24 192.168.4.0/24
Die meisten Netzwerkinventare benötigen keine Liste der erkannten Ports. Diese Information können Sie also weglassen, damit der Scan effizienter wird:
nmap -sn 192.168.2.0/24
Admins können die Zeit, die Nmap zum Scannen benötigt, auf verschiedene Weise steuern. Eine Methode sind Timing-Angaben. Wenn Sie die Optionen -T1, -T2, -T3, -T4 oder -T5 hinzufügen, können Sie den Scan beschleunigen, auch auf die Gefahr hin, dass die Ergebnisse weniger genau sind. Diese Timing-Angaben empfehlen sich, wenn Sie ein großes Netzwerksegment untersuchen. Die Option -T1 ist hierbei die langsamste und -T5 die schnellste der aufgeführten Optionen.
Die Ausführlichkeit der Ausgabe lässt sich mit den Optionen -v oder -vv (Abkürzung für very verbose, also sehr ausführlich) steuern. Beachten Sie, dass eine höhere Ausführlichkeit auch die Scanzeit verlängert.
Ein Element, das Sie wahrscheinlich für Dokumentation und Inventarisierung benötigen, ist die Betriebssystemerkennung. Nutzen Sie dazu die Option -O:
nmap -O 192.168.2.0/24
Die Option -A ermöglicht ebenfalls die Identifizierung des Betriebssystems und lässt sich mit anderen Optionen kombinieren.
In einigen Fällen reichen die obengenannten einfachen Optionen für Ihre Bedürfnisse aus. Möglicherweise benötigen Sie jedoch mehr Details oder möchten die Ausgabe zur besseren Darstellung oder zum Parsen aufbereiten. Als Nächstes befassen wir uns mit der Ausgabe von Nmap-Ergebnissen in andere Formate.
Nmap-Ergebnisse nutzen
Nachdem wir nun die Grundlagen der Verwendung von Nmap erläutert haben, geht es um die Frage, wie Sie mit den Ergebnissen weiterarbeiten können. Die Nmap-Ausgabe, insbesondere auf der Kommandozeile, ist nicht besonders benutzerfreundlich, wenn man mit vielen Hosts zu tun hat und eine leicht verständliche Dokumentation erstellen muss. Zuerst müssen Sie die Ergebnisse in eine Datei schreiben, und dann müssen Sie diese Datei weiterverwenden.
Ausgabe in XML
Nmap kann Ergebnisse in ein XML-File schreiben, ein Format, das verschiedene Programme lesen und interpretieren können. Die XML-Option lautet -oX und sieht folgendermaßen aus:
nmap 192.168.1.10 -oX scan.xml
Anschließend müssen Sie die XML-Datei in HTML umwandeln. Verwenden Sie dazu diesen Befehl:
xsltproc scan.xml -o scan.html
Sie können die HTML-Datei dann mit einem Browser Ihrer Wahl öffnen.
Etliche Programme können XML einlesen und damit arbeiten. Zum Beispiel sind Microsoft Excel und Visual Studio Code in der Lage, XML-Daten zu importieren und anzuzeigen. XML ist universell und lässt sich meist viel einfacher handhaben als für den grep-Befehl aufbereitete Ergebnisse. Da die XML-Resultate hilfreich sein können, sollten Sie sich auf der Nmap-Website weiter informieren.
Wenn Sie die grafische Nmap-Bedienoberfläche Zenmap verwenden, können Sie die Scanergebnisse als XML-Datei speichern und die Datei in einem Browser öffnen.
Für grep optimierte Dateiausgabe
Nmap bietet mehrere Optionen, um Ergebnisse in Dateien auszugeben. Die erste basiert auf der Option -oG, die Ergebnisse in einem Format liefert, das für die Arbeit mit dem grep-Befehl ausgelegt ist. Hier ein Beispiel:
nmap -oG 192.168.1.10 scan.txt
Sie können dann mit grep nach Strings wie up suchen, um die Resultate besser zu filtern.
Beachten Sie die folgenden Konventionen:
- -oG – für grep aufbereitete Ausgabe
- -oX – reine XML-Ausgabe
- -oA – Standard-, für grep optimierte und XML-Ausgabe
Ausgabe aufbereiten
Sie können die für grep optimierte Ausgabe (siehe die Option -oG weiter oben) mit zusätzlichen Tools wie awk aufbereiten. Das folgende Beispiel direkt aus der Nmap-Dokumentation zeigt, wie man die Nmap-Ausgabe formatiert, um die Ergebnisse auf einem Linux-System aufzubereiten:
nmap -p80 -Pn -oG - 10.1.1.0/24 | awk '/open/{print $2 " " $3}'
Das Ergebnis zeigt nur IP-Adressen und Fully Qualified Domain Names an.
Es ist etwas aufwendig, aber möglich, eine CSV-Datei zu erzeugen, die Sie in einem Tabellenkalkulationsprogramm wie LibreOffice Calc öffnen können. Auf GitHub lassen sich diverse Python-Programme finden, die dieselbe Aufgabe erfüllen. Oder suchen Sie nach Online-Tools zur Konvertierung von XML in CSV.
Zenmap-Diagramm verwenden
Viele IT-Administratoren bevorzugen grafische Darstellungen, und Referenzdiagramme sind für sie besonders nützlich. Die Visualisierung der Beziehungen zwischen Netzwerkgeräten kann das Troubleshooting erheblich erleichtern. Zenmap, die grafische Oberfläche für Nmap, enthält eine dynamische Mapping-Funktion, die Details und visuelle Referenzen für Nmap-Ergebnisse liefert.
In Abbildung 6 sehen Sie einen schnellen Scan eines kleinen Netzwerks in der Topologieansicht.
In der Topologieansicht können Sie das Netzwerkdiagramm in verschiedenen Bildformaten speichern. Berücksichtigen Sie dabei, dass das Bild nicht mehr dynamisch ist. Trotzdem ist dies eine hervorragende Funktion, um die Netzwerkdokumentation mit Diagrammen zu ergänzen.
Sie können auch den gesamten Scan speichern, indem Sie das Menü Scan öffnen und erst den Befehl Save und dann Save as wählen. Wenn Sie die Datei später in Nmap öffnen, ist die visuelle Topologie immer noch interaktiv.
Scans zur Inventarisierung und Erkennung für Ansible
Ansible ist im Vergleich zu Tools wie Nmap ein relativer Newcomer in diesem Bereich, aber man erkennt schnell seine Bedeutung. Ansible ist ein Tool für das Konfigurationsmanagement, das Administratoren eine umfassende Möglichkeit bietet, um gewünschte Einstellungen zu erzwingen. Allerdings muss Ansible seine Zielknoten kennen, damit es sie finden und konfigurieren kann. Nmap und Ansible bilden eine natürliche Partnerschaft – Ersteres, um Hosts zu finden, und Letzteres, um sie zu konfigurieren.
Ansible verwendet YAML-Dateien, um Konfigurationen zu verwalten. Ein Nmap-Modul und zusätzliche Anleitungen sind auf der Ansible-Webseite verfügbar.
Indem Administratoren per Nmap scannen und die Ergebnisse in Ansible nutzen, um Hosts gezielt zu erfassen, können sie sicherstellen, dass die Hosts im Netzwerk gemäß den Sicherheitsstandards konfiguriert sind. Ansible verbindet sich über Secure Shell, so dass eine der einfachsten Möglichkeiten, die beiden zu kombinieren, darin besteht, mit Nmap nach Port 22 zu scannen.
Fazit
Nmap ist wirklich ein außergewöhnliches Tool, und während viele Leute seine sicherheitsbezogene Ausrichtung betonen, wollen wir Systemadmins daran erinnern, dass es sich auch für andere IT-Aufgaben empfiehlt, etwa Dokumentation und Geräteerkennung. Es ist sogar noch leistungsfähiger, wenn man es mit Technologien wie Ansible kombiniert oder kreativ einsetzt, um Spreadsheets zu erstellen, die auch für technisch nicht versierte Manager leicht zu verstehen sind.