{"id":20614343,"url":"https://github.com/devincarr/xtr","last_synced_at":"2026-04-22T10:31:31.067Z","repository":{"id":71061815,"uuid":"456717960","full_name":"DevinCarr/xtr","owner":"DevinCarr","description":"Cross-Traceroute tool","archived":false,"fork":false,"pushed_at":"2022-02-07T23:49:44.000Z","size":3,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-10T01:40:03.986Z","etag":null,"topics":["icmp","icmpv6","traceroute"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DevinCarr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-07T23:48:44.000Z","updated_at":"2022-02-08T03:40:01.000Z","dependencies_parsed_at":"2023-02-24T18:00:23.845Z","dependency_job_id":null,"html_url":"https://github.com/DevinCarr/xtr","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DevinCarr/xtr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevinCarr%2Fxtr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevinCarr%2Fxtr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevinCarr%2Fxtr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevinCarr%2Fxtr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DevinCarr","download_url":"https://codeload.github.com/DevinCarr/xtr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevinCarr%2Fxtr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32132090,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T08:34:57.708Z","status":"ssl_error","status_checked_at":"2026-04-22T08:34:55.583Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["icmp","icmpv6","traceroute"],"created_at":"2024-11-16T11:12:30.611Z","updated_at":"2026-04-22T10:31:31.051Z","avatar_url":"https://github.com/DevinCarr.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"xtr\n====\n\nCross-Traceroute (xtr) runs both ICMPv4 and ICMPv6 message echo requests to the target with the intent to cross refrerence the reverse IP results and check for routers that serve both IPv4 and IPv6 traffic to the destination endpoint.\n\nExample:\n```shell\n$ ./xtr devincarr.com\nv4: 104.21.34.245\n 1: 10.0.0.1\n 2: \u003comitted for privacy\u003e\n 3: \u003comitted for privacy\u003e\n 4: be-232-rar01.santaclara.ca.sfba.comcast.net. (162.151.78.253)\n 5: be-39911-cs01.sunnyvale.ca.ibone.comcast.net. (96.110.41.113)\n 6: be-1112-cr12.sunnyvale.ca.ibone.comcast.net. (96.110.46.6)\n 7: be-302-cr12.9greatoaks.ca.ibone.comcast.net. (96.110.37.174)\n 8: be-1412-cs04.9greatoaks.ca.ibone.comcast.net. (68.86.166.169)\n 9: be-1411-cr11.9greatoaks.ca.ibone.comcast.net. (68.86.166.166)\n10: be-303-cr11.losangeles.ca.ibone.comcast.net. (96.110.36.153)\n11: be-1211-cs02.losangeles.ca.ibone.comcast.net. (96.110.45.169)\n12: be-3211-pe11.600wseventh.ca.ibone.comcast.net. (96.110.33.54)\n13: 50.242.151.226\n14: 172.70.212.2\n15: 104.21.34.245\n\nv6: 2606:4700:3030::6815:22f5\n 1: \u003comitted for privacy\u003e\n 2: \u003comitted for privacy\u003e\n 3: \u003comitted for privacy\u003e\n 4: be-1-rur01.santaclara.ca.sfba.comcast.net. (2001:558:80:402::1)\n 5: be-232-rar01.santaclara.ca.sfba.comcast.net. (2001:558:80:213::1)\n 6: *\n 7: *\n 8: *\n 9: *\n10: *\n11: 2001:559::2e6\n12: 2606:4700:3030::6815:22f5\n\nxtr: 1\nbe-232-rar01.santaclara.ca.sfba.comcast.net. (162.151.78.253) (2001:558:80:213::1)\n```\n\nIn the above example, the `be-232-rar01.santaclara.ca.sfba.comcast.net` hostname serves both A (162.151.78.253) and AAAA (2001:558:80:213::1) addresses along the route to the final destination `devincarr.com`.\n\n## Why\n\nI created this tool to answer the question: \"Does my route along the internet share any routers in both IPv4 and IPv6 routes?\"\n\nAs it turns out, to some destinations, my ISP provides a router into their network that actually provides both a A and AAAA address. There may be other routers along the route that share both addresses but they don't resolve when I search the IPs via reverse DNS lookups.\n\nIn the process I also learned a lot about the ICMP ([RFC 792](https://datatracker.ietf.org/doc/html/rfc792)) and ICMPv6 ([RFC 4443](https://datatracker.ietf.org/doc/html/rfc4443)).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevincarr%2Fxtr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevincarr%2Fxtr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevincarr%2Fxtr/lists"}