Firewalk is an active reconnaissance network security tool that attempts to determine what layer 4 protocols a  given IP forwarding device will pass. Firewalk  works  by sending out TCP or UDP packets with a TTL one greater than the targeted gateway.  If the gateway allows the traffic, it will forward the packets to the next hop where they will expire and elicit an ICMP_TIME_EXCEEDED  message.  If the gateway hostdoes not allow the traffic, it will likely drop the packets on  the floor and we will see no response.

To get  the  correct  IP  TTL that will result in expired packets one beyond the gateway we need  to  ramp  up  hop-counts.   We  do  this  in the same manner that traceroute works.  Once we have the gateway hopcount (at  that point the scan is said to be `bound`) we can begin our scan.

It is significant to note the fact that the ultimate destination host does not have to be reached.  It just  needs to be somewhere downstream, on the other side of the gateway, from the scanning host.

Read the original 1998 whitepaper here.

Firewalk was developed in 1998 out of research we were conducting with traceroute, specifically with contrived port designation. We wrote a static port patch for traceroute that is available here.

My book, Building Open Source Network Security Tools is the definitive reference on Firewalking and building networking security tools in general. It contains a comprehensive writeup on the firewalk technique and tool.

Firewalk was originally designed by Mike D. Schiffman and David Goldsmith and is primarily maintained by Mike D. Schiffman (mike at infonexus dot com).

Firewalk is distrubuted under the BSD license.

This is an open-source project. Donations are welcomed.

Current Tree

Latest Version: 5.0

Complete Distribution: Here.

The 5.0 tree is a complete rewrite and is smarter than previous versions. It is built on top of:

libnet 1.1.x

Page last updated: Mon Jan 27 21:24:41 PST 2003

Back to Projects