Viele Netzwerkdienste werden mit dem Transmission Control Protocol oder TCP als Transportschichtprotokoll ausgeführt. Dies liegt daran, dass TCP eine verbindungsorientierte Kommunikation bietet, die es dem sendenden Gerät ermöglicht, sicher zu sein, dass der beabsichtigte Empfänger der Nachricht diese tatsächlich empfängt, da eine bidirektionale Verbindung hergestellt wird.
Nicht jede Anwendung muss jedoch über diese Art von Verbindung verfügen, insbesondere Echtzeitanwendungen, bei denen es vorzuziehen ist, dass eine Nachricht verworfen wird, anstatt auf ihre erneute Übertragung warten zu müssen, was alles andere verzögert. Für diese Anwendungen wird im Allgemeinen das User Datagram Protocol oder UDP Transport Layer Protocol verwendet.
Ein Beispiel für einen Programmtyp, der UDP verwendet, sind Online-Videospiele. Diese Spiele sind auf ständige Updates angewiesen, die vom Server und Computer gesendet werden, und jede Verzögerung, die durch die erneute Übertragung von Daten verursacht wird, ist wesentlich störender, als mit einem oder zwei verpassten Paketen fertig zu werden.
Da sich diese UDP-basierten Dienste in jedem Netzwerk befinden können, ist es wichtig, sie im Rahmen eines Penetrationstests zu überprüfen. Da UDP zum Glück ziemlich verbreitet ist, wird es im Allgemeinen von Netzwerktestsoftware unterstützt, und Nmap ist keine Ausnahme.
So scannen Sie UDP-Ports mit Nmap
Das Testen von UDP-Ports mit Nmap ist dem Testen von TCP sehr ähnlich, tatsächlich ist die Syntax im Wesentlichen identisch. Der einzige Unterschied besteht darin, dass Sie das Flag „Scantyp“ als „-sU“ anstelle von „-sT“ oder „-sS“ angeben müssen. Ein Befehl könnte beispielsweise „nmap -sU 127.0.0.1 –top-ports 100 -vv“ lauten, um die Loopback-Adresse nach den 100 häufigsten UDP-Ports zu durchsuchen und die Ergebnisse mit einer doppelt ausführlichen Ausgabe zu melden.
Stellen Sie die Argumente zusammen, die Sie verwenden möchten, und führen Sie dann den Befehl aus.
Beachten Sie bei einem UDP-Scan, dass er sehr lange dauert. Die meisten Anfragen erhalten keine Antwort, was bedeutet, dass der Scan auf das Timeout der Anfrage warten muss. Dies macht Scans viel langsamer als TCP-Scans, die normalerweise eine Art Antwort zurückgeben, selbst wenn ein Port geschlossen ist.
Es gibt vier Ergebnisse, die Sie für UDP-Ports „offen“, „offen|gefiltert“, „geschlossen“ und „gefiltert“ sehen können. „Offen“ zeigt an, dass eine Anfrage eine UDP-Antwort erhalten hat. „Offen|gefiltert“ zeigt an, dass keine Antwort empfangen wurde, was darauf hindeuten könnte, dass ein Dienst zuhört oder dass dort kein Dienst vorhanden ist. „Geschlossen“ ist eine spezifische ICMP-Fehlermeldung „Port nicht erreichbar“. „Gefiltert“ weist auf andere ICMP-Fehlermeldungen hin, die nicht erreichbar sind.