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.