Is Not Just a Ping Utility is a free open-source high performance
network scanner tool for large scale analysis. It has been designed
with performance as its primary goal and developed as a framework to
allow easy plugin creation. It comes out of the box with a set of
plugins for services analysis embedded devices identification and to
How NINJA PingU
PingU takes advantage of raw sockets to reduce the three-way TCP
handshake latency and it’s state. Directly sending IP packets also
avoids the TCP stack overhead.
also implements non-blocking networking I/O in the plugin’s interface
by means of epoll. Each component is multithreaded and they have
built-in caches to minimize synchronization points. In addition, the
results persistment operations are buffered to reduce disk writes.
Why NINJA PingU?
has been developed to easily allow developers build their custom
plugins. Samples of those can be found in its codebase. NINJA PingU
also integrates gnuplot to automatically plot the analysis results.
In addition, a custom terminator has been embedded for enhanced data
NINJA PingU comes with all the necessesary dependencies out of the box. The following platform is requiered, though.
- gcc - Linux box. Will not work neither on *BSD or Windows OS. - Root Privileges
NINJA-PingU currently, only works under Linux and the gcc compiler is required. To get pingu, you can run:
$ cd /tmp; wget https://github.com/OWASP/NINJA-PingU/archive/v1.0.1.tar.gz; tar -xvf v1.0.1.tar.gz; cd NINJA-PingU-1.0.1/; ./npingu.sh
ninja-pingu plugins located at src/plugin. On the other hand, you can
run the npingu.sh script, which automatically compiles NINJA PingU,
tunes the operating system for enhanced network performance, and
launches a custom terminator terminal for improved user experience.
The following is the NINJA PingU basic usage.
# sudo ./bin/npingu [OPTIONS] targets -t Number of sender threads. -p Port scan range. For instance, 80 or 20-80. -d Delay between packages sent (in usecs). -s No service discoverage (less bandwith load, more hosts/time). -m Module to run. For instance, Service. [targets] Can be a single ip or a range (i.e. 0.0.0.0-255.0.0.0). -h Show this help.
Below it is shown some examples.
# ./bin/npingu -t 3 -p 20-80 188.8.131.52-184.108.40.206 -d 10 -m Service -Targeted Hosts [220.127.116.11-18.104.22.168] -Targeted Port Range [20-80] -Threads  -Delay 10 usec -Use the [Service] discoverage Plugin
# ./bin/npingu -t 5 -p 80 -s 22.214.171.124-126.96.36.199 #scan google -Targeted Hosts [188.8.131.52-184.108.40.206] -Targeted Port  -Threads  -synOnly scan (without plugins)
You can run ninja pingu with the -h flag to get the help.