OWASP NINJA PingU – Not Just A Ping Utility

P { margin-bottom: 0.08in; }H2 { margin-bottom: 0.08in; }H2.western { font-family: “Liberation Sans”,sans-serif; font-size: 14pt; font-style: italic; }H2.cjk { font-family: “Droid Sans”; font-size: 14pt; font-style: italic; }H2.ctl { font-family: “FreeSans”; font-size: 14pt; font-style: italic; }

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
spot backdoors.


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 V1.0 is available here.  


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

note: root is required to create raw socket descriptors.

Getting Started

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

The Makefile will build the binary bin/npingu and the
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.
$ ./npingu.sh

Basic Usage

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.
  -h Show this help.

Below it is shown some examples.

# ./bin/npingu -t 3 -p 20-80 -d 10 -m Service
  -Targeted Hosts []
  -Targeted Port Range [20-80]
  -Threads [3]
  -Delay 10 usec
  -Use the [Service] discoverage Plugin

# ./bin/npingu -t 5 -p 80 -s #scan google
  -Targeted Hosts []
  -Targeted Port [80]
  -Threads [5]
  -synOnly scan (without plugins)

You can run ninja pingu with the -h flag to get the help.


Ehacking Staff
With more than 50 global partners, we are proud to count the world’s leading cybersecurity training provider. EH Academy is the brainchild of Ehacking, which has been involved in the field of training since the past Five years and continues to help in creating professional IT experts.

Most Popular

How To Create A Virtual Penetration Testing Lab At Home

In this article, I will demonstrate how to create your own virtual penetration testing lab at home. Creating a pentesting lab is must for...

The Importance of Cyber Security in The Medical Device Industry

Medical devices are a revolutionary aspect of healthcare - they connect doctors and patients, help diagnose and treat diseases. Some - like ECMO machines...

Top 5 Techniques Hackers Use to hack Social Media Accounts

These days, Social Media have become a significant need in our everyday life. It encourages us to associate and connect with anyone over the...

5 Top Programming Languages for Hacking

We live in the 21st century, which is very fast-changing. This is a century of competition for information and computing resources. Every year the...