hping is a command-line oriented TCP/IP packet assembler/analyzer. The
interface is inspired to the ping(8) unix command, but hping isn't
only able to send ICMP echo requests. It supports TCP, UDP, ICMP and
RAW-IP protocols, has a traceroute mode, the ability to send files
between a covered channel, and many other features.

While hping was mainly used as a security tool in the past, it can
be used in many ways by people that don't care about security to test
networks and hosts. A subset of the stuff you can do using hping:
 * Firewall testing
 * Advanced port scanning
 * Network testing, using different protocols, TOS, fragmentation
 * Manual path MTU discovery
 * Advanced traceroute, under all the supported protocols
 * Remote OS fingerprinting
 * Remote uptime guessing
 * TCP/IP stacks auditing
 * hping can also be useful to students that are learning TCP/IP.
