asroute is a CLI tool for parsing traceroute output to summarize AS's traversed.
Ever wondered how your packets get from home to Bhutan? I sometimes like to see it, not at the hop level, but the companies and their networks that carry my data. Or how much shorter the paths are if the site uses a CDN?
Uses Team Cymru's Rust crate for the ASN to AS Name lookup
$ brew install asroute
$ traceroute -a www.bhutan.gov.bt | asroute traceroute to bhutan.gov.bt (22.214.171.124), 64 hops max, 52 byte packets -> AS0 (Reserved) -> * -> BRESNAN-33588, US -> LIGHTOWER, US -> BRESNAN-33588, US -> CHARTER-20115, US -> TELIANET Telia Carrier, EU -> * -> NTT-COMMUNICATIONS-2914, US -> DRUKNET-AS DrukNet ISP, BT -> BTTELECOM-AS-AP Bhutan Telecom Ltd, BT
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
- -h with usage
- progress indicator
- mode to execute traceroute rather than parsing output
- brew install
The lft tool contains similar functionality and is a feature-rich layer 4 tracing tool (although requires sudo). If you're doing serious network analysis, that is probably more for you. This tool was more to scratch an itch for doing a Rust CLI and seeing how easy (very!) it is to distribute via homebrew.