Provided by: lft_2.2-4ubuntu1_amd64 bug

NAME

       lft  —  display  the  route  packets  take  to  a  network host/socket; optionally show heuristic network
       information in transitu

SYNOPSIS

       lft [-d dport] [-s sport] [-m min] [-M max] [-a ahead] [-c scatter ms]  [-t  timeout  ms]  [-l  min  ttl]
           [-q  ISN]  [-D  device]  [-H  ttl]  [-i]  [-n]  [-E]  [-N] [-A] [-T] [-S] [-V] [-v] [<gateway> <...>]
           host:dport

DESCRIPTION

       The Internet is a large and complex aggregation of network  hardware,  connected  together  by  gateways.
       Tracking the route one's packets follow (or finding the miscreant gateway that's discarding your packets)
       can be difficult.  (from traceroute(8))

       lft  sends  various TCP SYN and FIN probes (differing from Van Jacobson's UDP-based method) utilizing the
       IP protocol `time to live' field and attempts to elicit an ICMP TIME_EXCEEDED response from each  gateway
       along  the path to some host.  lft also listens for various TCP and ICMP messages along the way to assist
       network managers in ascertaining per-protocol heuristic routing information and can  optionally  retrieve
       various information about the networks it traverses.

       The  only  mandatory  parameter is the destination host name or IP number.  Options toggle the display of
       more interesting data or change the variables of the trace itself.  The (-E) "smart" option tries several
       combinations in order to improve the chance of a successful trace.

       Other options are:

       -d dport
               Set dport as the destination TCP port of the probes LFT generates.  Default is 80.   This  option
               is  useful  to  see  if  packets follow a different route based on protocol destination, a likely
               scenario when load balancers  or  proxies  are  involved.   This  option  may  also  bypass  less
               sophisticated packet filter configurations.

       -s sport
               Set  sport  as  the  origin TCP port of the probes LFT generates.  Default is 53.  This option is
               useful to see if packets follow a different route based on protocol source. This option may  also
               bypass less sophisticated packet filter configurations.

       -m min  Set  min as the minimum number of probes to send per host.  Default is 1 unless "smart" (-E) mode
               is used.

       -M max  Set max as the maximum number of probes to send per host.  Default is 5.

       -a ahead
               Set ahead as the number of hops forward to query before waiting for a response.  Default is 5.

       -c scatter ms
               Set scatter ms as the minimum number of milliseconds to wait between sending probes.  Default  is
               20.

       -t timeout ms
               Set  timeout  ms  as  the  maximum  number  of  milliseconds  to wait before assuming a probe was
               lost/discarded.  Default is 1000.

       -l min ttl
               Set min tll as the minimum TTL (time-to-live) on outgoing probes (essentially, the first  hop  in
               the line that you want to display).  Default is 1.

       -q ISN  Set  ISN  as  the  ISN  (initial  sequence  number)  of  the  first probe.  If unset, one will be
               automatically generated.

       -D device
               Set device as the network device or IP address to be used.  (e.g., "en1")  If unset, one will  be
               automagically selected by default.

       -H ttl  Set ttl as the maximum TTL, essentially the maximum route traversal distance in hops.  Default is
               30.

       -i      Disable "stop" on ICMP other than TTL expired.

       -n      Print  addresses  numerically  rather than symbolically and numerically.  Disables use of the DNS
               resolver completely.

       -E      Enable use of the "smart" engine which tries FIN/SYN/etc  tables  to  improve  the  chance  of  a
               successful  trace.  The engine also displays other useful information such as stateful inspection
               firewalls it finds along the way.

       -N      Enable lookup and display of network names (e.g., [GNTY-NETBLK-4]).  This option queries  various
               registries of network address allocation such as ARIN.

       -A      Enable  lookup and display of of AS (autonymous system) numbers (e.g., [1]).  This option queries
               various registries of network address allocation such as ARIN.

       -T      Enable display of LFT's execution timer.  This option places timers on the trace  itself  and  on
               lookups  and  name  resolution  to  show where LFT is spending its time, waiting on resolvers, or
               processing trace packets.

       -S      Suppress display of the real-time status bar.  This option makes LFT  show  its  completed  trace
               output only, no-frills.

       -V      Verbose output.  Mostly debug garbage.  Likely too verbose for regular use.

       -v      Display version information, then exit().

       Any  hosts  listed  after  these  options and before the final host will comprise the loose source route.
       Since network operators have security concerns with regard to the use of source routing, don't expect the
       LSRR options to do much for you in most public network environments.

EXAMPLES

       A sample use and output might be:

       [edge.lax]$ lft -S 4.2.2.2

       Hop  LFT trace to vnsc-bak.sys.gtei.net (4.2.2.2):80/tcp
        1   ln-gateway.centergate.com (206.117.161.1) 0.5ms
        2   isi-acg.ln.net (130.152.136.1) 2.3ms
        3   isi-1-lngw2-atm.ln.net (130.152.180.21) 2.5ms
        4   gigabitethernet5-0.lsanca1-cr3.bbnplanet.net (4.24.4.249) 3.0ms
        5   p6-0.lsanca1-cr6.bbnplanet.net (4.24.4.2) 3.4ms
        6   p6-0.lsanca2-br1.bbnplanet.net (4.24.5.49) 3.3ms
        7   p15-0.snjpca1-br1.bbnplanet.net (4.24.5.58) 10.9ms
        8   so-3-0-0.mtvwca1-br1.bbnplanet.net (4.24.7.33) 11.1ms
        9   p7-0.mtvwca1-dc-dbe1.bbnplanet.net (4.24.9.166) 11.0ms
       10   vlan40.mtvwca1-dc1-dfa1-rc1.bbnplanet.net (128.11.193.67) 11.1ms
       **   [neglected] no reply packets received from TTLs 11 through 20
       **   [4.2-3 BSD bug] the next gateway may errantly reply with reused TTLs
       21   [target] vnsc-bak.sys.gtei.net (4.2.2.2) 11.2ms

       The (-S) option was used to suppress the real-time status bar for clean output.  LFT's "**" notifiers  in
       between  hops  10  and 21 represent additional useful information: the first is a "[neglected]" indicator
       that lets us know that none of the probes sent with the TTLs indicated elicited responses.  This could be
       for a variety of reasons, but the cause of this specific occurrence is described in the next  informative
       message  which  indicates that this is likely the result of a bug in the 4.[23] BSD network code (and its
       derivatives):  BSD 4.x (x < 3) sends an unreachable message using whatever TTL remains  in  the  original
       datagram.   Since, for gateways, the remaining TTL is zero, the ICMP "time exceeded" is guaranteed to not
       make it back to us.  LFT does its best to identify this condition rather than print lots and lots of hops
       that don't exist (trying to reach a high enough TTL).

       Now, using the smart engine option:

       [edge.lax]$ lft -E -S 4.2.2.1

       Hop  LFT trace to vnsc-pri.sys.gtei.net (4.2.2.1):80/tcp
        1   ln-gateway.centergate.com (206.117.161.1) 0.5/0.5ms
        2   isi-acg.ln.net (130.152.136.1) 2.1/2.3ms
        3   isi-1-lngw2-atm.ln.net (130.152.180.21) 2.6/7.1ms
        4   gigabitethernet5-0.lsanca1-cr3.bbnplanet.net (4.24.4.249) 6.1/3.9ms
       **   [firewall] the next gateway may statefully inspect packets
        5   p0-0-0.lsanca1-csr1.bbnplanet.net (4.24.4.10) 155.4/3.7ms
        6   [target] vnsc-pri.sys.gtei.net (4.2.2.1) 22.6/3.7/*/*/*/*/*ms

       In the scenario above, the smart engine was able to identify a stateful,  packet-inspecting  firewall  in
       the path.  Another example with more options:

       [edge.lax]$ lft -S -A -T -m 2 -d 80 -s 53 www.yahoo.com

       Hop  LFT trace to w9.scd.yahoo.com (66.218.71.88):80/tcp
        1   [AS226] ln-gateway.centergate.com (206.117.161.1)  1 ms
        2   [AS226] isi-acg.ln.net (130.152.136.1)  2 ms
        3   [AS226] isi-1-lngw2-atm.ln.net (130.152.180.21)  3 ms
        4   [AS1] gigether5-0.lsanca1-cr3.bbnplanet.net (4.24.4.249)  3 ms
        5   [AS1] p6-0.lsanca1-cr6.bbnplanet.net (4.24.4.2)  5 ms
        6   [AS1] p6-0.lsanca2-br1.bbnplanet.net (4.24.5.49)  3 ms
        7   [AS1] p1-0.lsanca2-cr2.bbnplanet.net (4.25.112.1)  3 ms
        8   [AS16852] pos4-0.core1.LosAngeles1.Level3.net (209.0.227.57)  3 ms
        9   [AS3356] so-4-0-0.mp1.LosAngeles1.Level3.net (209.247.10.193)  3 ms
       10   [AS3356] so-3-0-0.mp2.SanJose1.Level3.net (64.159.1.130)  11 ms
       11   [AS3356] gige10-0.ipcolo4.SanJose1.Level3.net (64.159.2.42)  11 ms
       12   [AS3356] cust-int.level3.net (64.152.81.62)  52 ms
       13   [AS10310] vl17.bas2.scd.yahoo.com (66.218.64.150)  53 ms
       14   [AS10310] w9.scd.yahoo.com (66.218.71.88) [target]  54 ms

       LFT's trace took 5.23 seconds.  Resolution required 3.58 seconds.

       And why not request netblock lookups?

       [edge.lax]$ lft -S -N www.microsoft.com

       Hop  LFT trace to www.us.microsoft.com (207.46.197.113):80/tcp
        1   [LOS-NETTOS-BLK4] ln-gateway.centergate.com (206.117.161.1)  2 ms
        2   [LOS-NETTOS] isi-acg.ln.net (130.152.136.1)  3 ms
        3   [LOS-NETTOS] isi-1-lngw2-pos.ln.net (130.152.80.30)  5 ms
        4   [GNTY-4-0] gigether5-0.lsanca1-cr3.bbnplanet.net (4.24.4.249)  4 ms
        5   [GNTY-4-0] p6-0.lsanca1-cr6.bbnplanet.net (4.24.4.2)  3 ms
        6   [GNTY-4-0] p6-0.lsanca2-br1.bbnplanet.net (4.24.5.49)  3 ms
        7   [GNTY-4-0] p15-0.snjpca1-br1.bbnplanet.net (4.24.5.58)  10 ms
        8   [GNTY-4-0] p9-0.snjpca1-br2.bbnplanet.net (4.24.9.130)  11 ms
        9   [GNTY-4-0] so-1-0-0.sttlwa2-br1.bbnplanet.net (4.0.3.229)  27 ms
       10   [GNTY-4-0] so-0-0-0.sttlwa1-hcr1.bbnplanet.net (4.24.11.202)  28 ms
       11   [GNTY-4-0] so-7-0-0.sttlwa1-hcr2.bbnplanet.net (4.24.10.234)  28 ms
       12   [GNTY-4-0] p1-0.sttlwa1-cr2.bbnplanet.net (4.24.10.241)  29 ms
       13   [GNTY-4-0] p2-0.msseattle.bbnplanet.net (4.25.89.6)  32 ms
       14   [MICROSOFT-GLOBAL-NET] 207.46.154.9  32 ms
       15   [MICROSOFT-GLOBAL-NET] 207.46.155.17  33 ms
       16   [MICROSOFT-GLOBAL-NET] 207.46.129.51 [prohibited]  35 ms

Running LFT as a non-root user

       As  distributed  by Debian, lft can only be run by the root user.  To allow regular users to run lft, the
       sysadmin needs to read the file /usr/share/doc/lft/HOWTO-UsersLFT.txt and follow the instructions in that
       file.

AUTHOR

       Nils McCarthy, Victor Oppleman, Ugen Antsilevitch, and other helpers around the  world.   The  source  is
       currently maintained and administered by MainNerve, Inc.

REPORTING BUGS

       To report bugs, send e-mail to <lft-bugs@mainnerve.com>

SEE ALSO

       traceroute(8), netstat(1), whois(1)

HISTORY

       The  lft  command  first  appeared  in 1998 as 'fft'.  Renamed as a result of confusion with fast fourier
       transforms, lft stands for 'layer four trace.'

LFT                                              August 17, 2002                                          LFT(8)