Wie lange würde es dauern, um verschiedene Port-Scans an allen 65536-Ports durchzuführen?

1495
rshah

Ich verwende derzeit Nmap, um lokale Netzwerke in einem Teil meines Programms abzubilden, und ich habe mich gefragt, wie lange es dauern würde, um an allen Ports unterschiedliche Port-Scans durchzuführen.

Welches Timeout und welche durchschnittliche Paketgröße wird gesendet, um zu prüfen, ob der Port geöffnet ist (wenn Pakete zur Überprüfung gesendet werden), und gibt es eine Korrelation mit der Scanzeit, die auf diesen und anderen Faktoren basiert?

Ich würde es lieben, diese in einer Grafik darstellen zu können und möglicherweise auch diese Ergebnisse zu testen.

Ich weiß, dass UDP-Port-Scans im Allgemeinen länger dauern als TCP, da sie verbindungslos sind und viel mehr Ressourcen verwendet werden.

1
Also, da Sie nmap haben und es verwenden, warum sollten Sie es nicht testen? vor 7 Jahren 0
Nun, nmap kann das alles, aber ich habe mich gefragt, ob es Gleichungen oder Proportionen gibt, die ich auch verwenden könnte, um Graphen so zu zeichnen, als würde ich nicht auch nmap verwenden vor 7 Jahren 0
Sie können die Geschwindigkeit erhöhen. Das hängt auch von der Anzahl der Hops und der Netzwerkgeschwindigkeit ab. Lesen Sie die Details zu nmap [Port-Scan-Techniken] (https://nmap.org/book/man-port-scanning-techniques.html). Biswapriyo vor 7 Jahren 0

1 Antwort auf die Frage

0
Spiff

Es können viele Faktoren beteiligt sein, darunter Verbindungsgeschwindigkeit, Duplex, minimale Paketgröße, Umlaufzeit, Latenzzeit des Zielhosts, Angabe, ob ein Intrusion Detection / Prevention-System vorhanden ist oder nicht, und wie viele Roundtrips der jeweilige Scan ausführen soll Typ erfordert, wie beschäftigt die Verbindung ist, usw.

Nehmen wir also an, der Scanner und das Zielgerät befinden sich auf demselben Gigabit-Ethernet, und wir schätzen die theoretische Mindestzeit ein, die ein Scan von 65536 Ports dauern kann. GigE ist immer Vollduplex, hat eine minimale Frame-Größe von 64 Bytes und hat nach Berechnung zwingender Lücken zwischen Frames eine maximale Frame-Rate von 1.488.000 Frames pro Sekunde. TCP-Syns, Syn-Acks, (leere) Acks, Flossen und Rsts sind alle Bilder mit minimaler Größe. Beim GigE, auf dem ich mich gerade befinde, beträgt der RTT 0,3 ms (300 µs). Nehmen wir an, der Zielhost antwortet mit Syn-Ack oder Rst innerhalb derselben 0,3 ms-Latenz auf Syns. Nehmen wir weiter an, dass es mit dem einen oder dem anderen antworten wird. dass es keine "gefilterten" Ports geben wird, für die wir nur auf ein beliebiges Timeout warten müssen.

Die Zeit, die zum Senden von TCP-Syns an alle Ports benötigt wird, beträgt also 65.536 / 1.488.000 = 44 ms

Da GigE Vollduplex ist, würden die ersten Antworten eingehen, da die späteren Syns herauskamen, aber zwischen dem letzten gesendeten Syn und der letzten Antwort mussten wir 1 RTT warten insgesamt 44,3 ms .

Selbst wenn Sie einen Scan durchführen mussten, der zwei Roundtrips durchführen musste, konnte der gesamte Netzwerkverkehr in weniger als einer Sekunde ausgeführt werden.

Wenn der Zielhost für einige Ports nicht auf Syns antwortet, müssen Sie selbst entscheiden, wie lange Ihr Timeout für "Keine Antwort" in Ihrem eigenen Algorithmus festgelegt werden soll. Aber das kann man sich wie beim RTT vorstellen. Angenommen, Sie möchten ein Timeout von 10 Sekunden verwenden. Sie können trotzdem alle Ihre Syns in 44ms senden, aber Sie müssen möglicherweise 10 Sekunden nach dem letzten gesendeten Syn warten, um festzustellen, dass Sie wahrscheinlich keine Antwort von diesem Port erhalten. Selbst bei allen 2 ^ 16-Ports, die nicht reagieren, und einem Timeout von 10 Sekunden wäre Ihre Gesamtzeit also 44 ms + 10 Sekunden = 10,044 Sekunden.

Gibt es klare Zusammenhänge in Bezug auf die Scanzeit? rshah vor 7 Jahren 0