TCPTraceroute is a traceroute implementation that uses TCP packets
instead of UDP or ICMP packets to send its probes. TCPtraceroute can
be used in situations where a firewall blocks ICMP and UDP traffic. It
is based on the "half-open scanning" technique that is used by NMAP, sending a TCP with the
SYN flag set and waiting for a SYN/ACK (which indicates that something
is listening on this port for connections). When it receives a
response, the tcptraceroute program sends a packet with a RST flag to
close the connection.