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.