Provided by: netsniff-ng_0.6.4-1_amd64 bug

NAME

       astraceroute - autonomous system trace route utility

SYNOPSIS

       astraceroute [options]

DESCRIPTION

       astraceroute  is  a  small  utility  to  retrieve  path  information  in  a traceroute like way, but with
       additional geographical location information. It tracks the route of a packet from the local host to  the
       remote  host  by  successively  increasing  the  IP's  TTL  field, starting from 1, in the hope that each
       intermediate node will send an ICMP TIME_EXCEEDED notification back to the local host when the TTL  value
       is decremented to 0.

       astraceroute  supports IPv4 and IPv6 queries and will display country and city information, if available,
       the AS number the hop belongs to, and its ISP name. astraceroute also  displays  timing  information  and
       reverse DNS data.

       Due  to  astraceroute's configurability, it is also possible to gather some more useful information about
       the hop regarding what it does and does not allow to pass through. This  is  done  by  using  clear  text
       strings for probing DPIs or ``great firewalls'' to determine if they will filter out blacklisted critical
       keywords. This tool might be a good start for further in-depth analysis of such systems.

OPTIONS

   -H <host>, --host <host>
       Hostname  or  IPv4 or IPv6 address of the remote host where the AS route should be traced to. In the case
       of an IPv6 address or host, option ''-6'' must be used. IPv4 is the default.

   -p <port>, --port <port>
       TCP port for the remote host to use. If not specified, the default port used is 80.

   -i <device>, -d <device>, --dev <device>
       Networking device to start the trace route from, e.g. eth0, wlan0.

   -b <IP>, --bind <IP>
       IP address to bind to other than the network device's address. You must specify -6 for an IPv6 address.

   -f <ttl>, --init-ttl <ttl>
       Initial TTL value to be used. This option might be useful if you are not interested in the first n  hops,
       but only the following ones. The default initial TTL value is 1.

   -m <ttl>, --max-ttl <ttl>
       Maximum  TTL  value to be used. If not otherwise specified, the maximum TTL value is 30. Thus, after this
       has been reached astraceroute exits.

   -q <num>, --num-probes <num>
       Specifies the number of queries to be done on a particular hop. The default is 2 query requests.

   -x <sec>, --timeout <sec>
       Tells astraceroute the probe response timeout in seconds, in other words the  maximum  time  astraceroute
       must wait for an ICMP response from the current hop. The default is 3 seconds.

   -X <string>, --payload <string>
       Places  an ASCII cleartext string into the packet payload. Cleartext that contains whitespace must be put
       into quotes (e.g.: "censor me").

   -l <len>, --totlen <len>
       Specifies the total length of the packet. Payload that does not have a cleartext string in it  is  padded
       with random garbage.

   -4, --ipv4
       Use IPv4 only requests. This is the default.

   -6, --ipv6
       Use IPv6 only requests. This must be used when passing an IPv6 host as an argument.

   -n, --numeric
       Tells astraceroute to not perform reverse DNS lookup for hop replies. The reverse option is ''-N''.

   -u, --update
       The  built-in geo-database update mechanism will be invoked to get Maxmind's latest version. To configure
       search locations for databases, the file /etc/netsniff-ng/geoip.conf contains possible  addresses.  Thus,
       to  save bandwidth or for mirroring Maxmind's databases (to bypass their traffic limit policy), different
       hosts or IP addresses can be placed into geoip.conf, separated by a newline.

   -L, --latitude
       Also show latitude and longitude of hops.

   -N, --dns
       Tells astraceroute to perform reverse DNS lookup for hop replies. The reverse option is ''-n''.

   -S, --syn
       Use TCP's SYN flag for the request.

   -A, --ack
       Use TCP's ACK flag for the request.

   -F, --fin
       Use TCP's FIN flag for the request.

   -P, --psh
       Use TCP's PSH flag for the request.

   -U, --urg
       Use TCP's URG flag for the request.

   -R, --rst
       Use TCP's RST flag for the request.

   -E, --ecn-syn
       Use TCP's ECN flag for the request.

   -t <tos>, --tos <tos>
       Explicitly specify IP's TOS.

   -G, --nofrag
       Set IP's no fragmentation flag.

   -Z, --show-packet
       Show and dissect the returned packet.

   -v, --version
       Show version information and exit.

   -h, --help
       Show user help and exit.

USAGE EXAMPLE

   astraceroute -i eth0 -N -S -H netsniff-ng.org
       This sends out a TCP SYN probe via the ''eth0'' networking device  to  the  remote  IPv4  host  netsniff-
       ng.org.  This  request is most likely to pass. Also, tell astraceroute to perform reverse DNS lookups for
       each hop.

   astraceroute -6 -i eth0 -S -E -N -H www.6bone.net
       In this example, a TCP SYN/ECN probe for the IPv6 host www.6bone.net is being  performed.  Also  in  this
       case, the ''eth0'' device is being used as well as a reverse DNS lookup for each hop.

   astraceroute -i eth0 -N -F -H netsniff-ng.org
       Here,  we  send  out a TCP FIN probe to the remote host netsniff-ng.org. Again, on each hop a reverse DNS
       lookup is being done and the queries are transmitted from ''eth0''. IPv4 is used.

   astraceroute -i eth0 -N -FPU -H netsniff-ng.org
       As in most other examples, we perform a trace route to IPv4 host netsniff-ng.org and do a TCP Xmas  probe
       this time.

   astraceroute -i eth0 -N -H netsniff-ng.org -X censor-me -Z
       In  this  example,  we  have  a Null probe to the remote host netsniff-ng.org, port 80 (default) and this
       time, we append the cleartext string "censor-me" into the packet payload to test if  a  firewall  or  DPI
       will  let  this string pass. Such a trace could be done once without, and once with, a blacklisted string
       to gather possible information about censorship.

NOTE

       If a TCP-based probe fails after a number of retries, astraceroute will automatically fall back to  ICMP-
       based probes to pass through firewalls and routers used in load balancing for example.

       To    gather    more    information    about    astraceroute's    displayed   AS   numbers,   see   e.g.:
       http://bgp.he.net/AS<number>.

BUGS

       The geographical locations are estimated with the help of Maxmind's GeoIP database and  can  differ  from
       the  real  physical  location.  To  decrease  the  possible  errors,  update the database regularly using
       astraceroute's --update option.

       At some point in time, we need a similar approach to gather more reliable path information such as in the
       paris-traceroute tool.

       Due to the generic nature of astraceroute, it currently has a built-in mechanism to stop the trace  after
       a  fixed  number  of hops, since the configurable TCP flags can have anything included. It is possible to
       decrease this number of course.  In the future, if a SYN probe is sent out, there should be a listener so
       that we can stop the trace if we detect a handshake in progress.

LEGAL

       astraceroute is licensed under the GNU GPL version 2.0.

HISTORY

       astraceroute was originally written for the netsniff-ng toolkit  by  Daniel  Borkmann.  It  is  currently
       maintained by Tobias Klauser <tklauser@distanz.ch> and Daniel Borkmann <dborkma@tik.ee.ethz.ch>.

SEE ALSO

       netsniff-ng(8), trafgen(8), mausezahn(8), ifpps(8), bpfc(8), flowtop(8), curvetun(8)

AUTHOR

       Manpage was written by Daniel Borkmann.

COLOPHON

       This page is part of the Linux netsniff-ng toolkit project. A description of the project, and information
       about reporting bugs, can be found at http://netsniff-ng.org/.

Linux                                             03 March 2013                                  ASTRACEROUTE(8)