Masscan: scan the entire Internet in under 6 minutes, 10 million packets/second
github.com
github.com
It's the same thing if you stop coding in javascript
And the recent HN discussion on ZMap: https://news.ycombinator.com/item?id=6226105
To actually scan the entirety of ipv6 address space in under 6 minutes you would need to send 1 billion billion billion billion packets a second [2], or 100 octillion times faster than 10 million packets a second. [3]
[1] http://www.wolframalpha.com/input/?i=2%5E128%2F10%5E7+second...
tl;dr: We won't be scanning the IPv6 address space any time soon. And hopefully not on Earth.
[1] http://www.wolframalpha.com/input/?i=2%5E128%2F360+*+%2820+w...
[2] http://www.wolframalpha.com/input/?i=2%5E128%2F360+*+%2820+w...
[3] http://www.wolframalpha.com/input/?i=%282%5E128%2F360+*+%282...
[4] http://www.wolframalpha.com/input/?i=%282%5E128%2F360+*+%282...
The canonical reference is Granlund and Montgomery [1]. Luckily, there are ready-made libraries for this, like libdivide [2], which would probably lower the reported 90 cycles into something more palatable (and pipelineable).
In other words, is that a feature, or is it just a performance metric?
Sometimes, though, if you are building a directory, or if you just want a really fantastically beautiful map, you scan the whole shebang.
Doing it all in a few minutes is a little unncessary, though, even if it is neat how much better scanners have been getting lately. A scan that merely takes a few days is plenty fast.
> The problem is that I don't have a 10-gbps network to test on. My ISP let's me go out to 100,000 packets/second as long as I deal with the abuse complaints, but that's around 44-mbps.