parser: trafgen: rnd, fill, number working
[netsniff-ng.git] / Documentation / Ashunt
blob174540ef88d582734339bd5f079f44ed8eafac8b
1 What is ashunt?
2 ///////////////
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
13 ashunt 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, 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
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 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.