4 ashunt is an Autonomous System (AS) trace route utility. The idea behind
5 ashunt 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 ashunt. We're doing an AS trace
10 route to baidu.com (note: hop 1 till 6 have been removed):
12 # ashunt -i eth0 -N -E -S -H baidu.com
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
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),
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
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
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
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
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
56 In our case, on default, ashunt tries to perform a TCP SYN connection
57 establishment with a TTL number that corresponds to the wanted hop. If ashunt
58 does not receive a ICMP type 11 reply ('time to live exceeded in transit',
59 RFC792) after 3 tries (default), then it falls back to an ICMP echo request
60 with a specified TTL value for this hop. This behaviour can, for instance,
61 be observed in hop 8 and 10.
63 ashunt prints out the following information in this example:
64 - Reverse DNS name of hop
70 - Approximate latitude and longitude values of hop
71 - Network prefix of AS
76 Note that ashunt does not stop automatically if the last hop has been reached
77 since there is no generic possibility to determine this with an arbitrarily
78 assembled TCP packet that does not necessarily have the SYN flag set.
80 With ashunt, you can also specify a bunch of other information that shall be
81 encoded into the probe packet. Next to IP and TCP fields, you can also tell
82 ashunt to encode an ASCII string into the packets payload. This can be done
83 with the command line option --payload <string>. Thus, if you enable
84 --show-packet which prints out the returned packet, you can possibly determine
85 if the AS/ISP tries to censor certain packet probes with 'critical' words in it.