ZMap is an open-source network scanner that enables researchers to easily perform Internet-wide network studies. With a single machine and a well provisioned network uplink, ZMap is capable of performing a complete scan of the IPv4 address space in under 5 minutes, approaching the theoretical limit of ten gigabit Ethernet.
ZMap is proficient of scanning the IPv4 public address space over 1300 times faster than the Nmap.
It has been designed to achieve parallelism and performance. ZMap is completely stateless, which means that it does not maintain status per connection. In place of maintaining a big list of probes it’s sent, and the time they’ve been out there, and how much longer it should wait for each one, and thoroughly updating the list with every acknowledged response.
ZMap sends in parallel as many probes as the network bandwidth permits, in order to attain the maximum rate possible. Normally all the probes are sent in a pseudo-random order, so that’s if lot of people do scan together there is no DDOS attack, this way the probability to overload a single network is greatly reduced. Although each successive probe follows a strict algorithmic sequence, the IP numbers randomly bounce around the IPv4 address space. Thus, we don’t get thousands of probes delivered in on a single subnet at the same time.
For example using python and zmap you can build your own tool for scanning of multiple ports, make additional threading and storing results not only in files but also in database.
Example of how to run it:
$Â ZMap -p 8080 -o results.csv 10.0.0.0/8 192.168.0.0/16
Possible issues during ZMap installation
If you have problems with CMake and was need to install new one, you possibly running it like “/usr/local/bin/cmake” and here comes the problem with correct project directory detecting (maybe also actual for usual installation when cmake binary runs from /usr/bin/cmake).
Was need to edit “InstallConfFiles.cmake” in ZMap sources directory, fix line 2 and 6 for actual path.
When you in the zmap source directory, just type “pwd” and copy this route, than you will need to add it in “InstallConfFiles.cmake”.
Change variable ${PROJECT_SOURCE_DIR} in both lines and all should work fine.
Also, if you have some more problems with ‘libjson’ – if happens that you meeting errors while trying to make & install zmap, you need to go here: https://github.com/json-c/json-c
Need to install “json-c” , make all like written in the instruction including required dependencies.
Download  zmap you can here
Thanks for the info, as for me zmap is a very good solution for extensive network scans.
Comments are closed.