mz: remove init.c, merge with mausezahn.c
[netsniff-ng.git] / Documentation / Astraceroute
blob0f4de2bcce7169db8727eaa42d166662aede95b6
1 What is astraceroute?
2 /////////////////////
4 astraceroute is an Autonomous System (AS) trace route utility. The idea behind
5 astraceroute was that unlike traceroute or tcptraceroute it should not only
6 display hops, but also their AS numbers they belong to as well as physical
7 locations and other useful information.
9 Have a short look at an example output of astraceroute. We're doing an AS trace
10 route to baidu.com (note: hop 1 till 6 have been removed):
12 # astraceroute -i eth0 -N -E -S -H baidu.com
13 astraceroute 0.5.6
14 AS path IPv4 TCP trace from *.*.*.* to 220.181.111.86:80 (baidu.com) with
15 len 40 Bytes, 30 max hops
16 Using flags SYN:1,ACK:0,ECN:1,FIN:0,PSH:0,RST:0,URG:0
17 <--hop 1-6 removed-->
18  7: swiIX2-10GE-3-1.switch.ch (130.59.36.250) in AS559 (CH, Switzerland,
19     N/A, 47.000000, 8.000000), 130.59.0.0/16 ripencc (1993-09-22),
20     SWITCH SWITCH, Swiss Education and Research Network
21  8: * * * i79tix-025-ten9-1.bb.ip-plus.net (193.5.122.18) in ASNA (CH,
22     Switzerland, N/A, 47.000000, 8.000000), NA ripencc (1997-05-26), NA
23  9: i79zhb-025-ten0-9-0-4.bb.ip-plus.net (138.187.129.81) in AS3303 (EU,
24     Switzerland, N/A, 47.000000, 8.000000), 138.187.128.0/18 ripencc
25     (1990-05-18), SWISSCOM Swisscom (Switzerland) Ltd
26 10: * * * i00lon-015-ten4-2.bb.ip-plus.net (138.187.129.194) in AS3303
27     (EU, Switzerland, N/A, 47.000000, 8.000000), 138.187.128.0/18 ripencc
28     (1990-05-18), SWISSCOM Swisscom (Switzerland) Ltd
29 11: 195.66.225.54 (195.66.225.54) in AS10310 (GB, United Kingdom, N/A,
30     54.000000, -2.000000), 195.66.224.0/23 ripencc (1997-12-01),
31     YAHOO-1 - Yahoo!
32 12: 202.97.52.101 (202.97.52.101) in AS4134 (CN, China, N/A, 35.000000,
33     105.000000), 202.97.32.0/19 apnic (1998-08-17), CHINANET-BACKBONE
34     No.31,Jin-rong Street
35 13: 202.97.60.6 (202.97.60.6) in AS4134 (CN, China, N/A, 35.000000,
36     105.000000), 202.97.32.0/19 apnic (1998-08-17), CHINANET-BACKBONE
37     No.31,Jin-rong Street
38 14: 202.97.53.221 (202.97.53.221) in AS4134 (CN, China, N/A, 35.000000,
39     105.000000), 202.97.32.0/19 apnic (1998-08-17), CHINANET-BACKBONE
40     No.31,Jin-rong Street
41 15: 202.97.53.33 (202.97.53.33) in AS4134 (CN, China, N/A, 35.000000,
42     105.000000), 202.97.32.0/19 apnic (1998-08-17), CHINANET-BACKBONE
43     No.31,Jin-rong Street
44 16: 220.181.0.42 (220.181.0.42) in AS23724 (CN, China, Beijing, 39.928902,
45     116.388298), 220.181.0.0/19 apnic (2002-10-30), CHINANET-IDC-BJ-AP IDC,
46     China Telecommunications Corporation
47 17: 220.181.0.66 (220.181.0.66) in AS23724 (CN, China, Beijing, 39.928902,
48     116.388298), 220.181.0.0/19 apnic (2002-10-30), CHINANET-IDC-BJ-AP IDC,
49     China Telecommunications Corporation
50 18: 220.181.17.146 (220.181.17.146) in AS23724 (CN, China, Beijing,
51     39.928902, 116.388298), 220.181.0.0/19 apnic (2002-10-30),
52     CHINANET-IDC-BJ-AP IDC, China Telecommunications Corporation
53 19: * * * * * ^C
56 In our case, on default, astraceroute tries to perform a TCP SYN connection
57 establishment with a TTL number that corresponds to the wanted hop. If
58 astraceroute does not receive a ICMP type 11 reply ('time to live exceeded
59 in transit', RFC792) after 3 tries (default), then it falls back to an ICMP
60 echo request with a specified TTL value for this hop. This behaviour can, for
61 instance, be observed in hop 8 and 10.
63 astraceroute prints out the following information in this example:
64  - Reverse DNS name of hop
65  - IP address of hop
66  - AS number
67  - Country code of hop
68  - Country name of hop
69  - City name of hop
70  - Approximate latitude and longitude values of hop
71  - Network prefix of AS
72  - Registry name of AS
73  - AS registered since
74  - Name of AS
76 Note that astraceroute does not stop automatically if the last hop has been
77 reached since there is no generic possibility to determine this with an
78 arbitrarily assembled TCP packet that does not necessarily have the SYN flag
79 set.
81 With astraceroute, you can also specify a bunch of other information that shall
82 be encoded into the probe packet. Next to IP and TCP fields, you can also tell
83 astraceroute to encode an ASCII string into the packets payload. This can be
84 done with the command line option --payload <string>. Thus, if you enable
85 --show-packet which prints out the returned packet, you can possibly determine
86 if the AS/ISP tries to censor certain packet probes with 'critical' words in it.