What's NINJA PingU?
NINJA-PingU Is Not Just a Ping Utility is a free open-source high performance network scanner tool for large scale analyses. It has been designed with performance as its primary goal and developed as a framework to allow easy plugin integration.
It comes out of the box with a set of plugins for services analysisembedded devices identification and to spot backdoors. More information about those can be found in the dev and plugins pages.
How NINJA PingU Works?
NINJA 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.
It 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?
It has been developed to easily allow developers build their custom plugins. Samples of those can be found in its codebase. In addition, more information about NINJA PingU can be found in the FAQ and dev pages. NINJA PingU also integrates gnuplot to automatically plot the analysis results. In addition, a custom terminator has been embedded for enhanced data visualization.
The previous chart corresponds to a 17 seconds analysis in a 100mbps network, where 10 million hosts were scanned and 9 thousand services identified. The analysis average speed was higher than half million hosts scanned per second.
Getting NINJA PingU
NINJA PingU V1.0 is available here.