{"id":34525826,"url":"https://github.com/monmohan/traceroute","last_synced_at":"2026-06-01T05:31:52.661Z","repository":{"id":251471558,"uuid":"837482476","full_name":"monmohan/traceroute","owner":"monmohan","description":"Go implementation and exploration of traceroute using TCP and ICMP","archived":false,"fork":false,"pushed_at":"2024-08-19T16:51:15.000Z","size":6187,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-25T16:45:52.446Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/monmohan.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":"2024-08-03T05:36:36.000Z","updated_at":"2025-11-30T17:48:11.000Z","dependencies_parsed_at":"2024-08-19T19:26:04.993Z","dependency_job_id":null,"html_url":"https://github.com/monmohan/traceroute","commit_stats":null,"previous_names":["monmohan/traceroute"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/monmohan/traceroute","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monmohan%2Ftraceroute","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monmohan%2Ftraceroute/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monmohan%2Ftraceroute/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monmohan%2Ftraceroute/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/monmohan","download_url":"https://codeload.github.com/monmohan/traceroute/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monmohan%2Ftraceroute/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33762215,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-12-24T05:20:38.513Z","updated_at":"2026-06-01T05:31:52.656Z","avatar_url":"https://github.com/monmohan.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# traceroute\nGo implementation and exploration of traceroute using TCP and ICMP\n\n# Running an ICMP Trace\n```go\n\n$ sudo go run tracert.go -proto icmp accounts.google.com\nInvalid number of hops, setting to default 64\nResolved IP address: 142.251.175.84\nSent ICMP probe to 142.251.175.84 with TTL 1 Time exceeded from peer  192.168.18.1\nSent ICMP probe to 142.251.175.84 with TTL 2 Time exceeded from peer  116.88.128.1\nSent ICMP probe to 142.251.175.84 with TTL 3 Time exceeded from peer  183.90.44.189\nSent ICMP probe to 142.251.175.84 with TTL 4 Time exceeded from peer  203.118.6.233\nSent ICMP probe to 142.251.175.84 with TTL 5 Time exceeded from peer  203.118.6.149\nSent ICMP probe to 142.251.175.84 with TTL 6 Time exceeded from peer  203.118.4.130\nSent ICMP probe to 142.251.175.84 with TTL 7 Time exceeded from peer  142.250.166.50\nSent ICMP probe to 142.251.175.84 with TTL 8 Time exceeded from peer  142.250.238.117\nSent ICMP probe to 142.251.175.84 with TTL 9 Time exceeded from peer  142.250.60.240\nSent ICMP probe to 142.251.175.84 with TTL 10 Failed to receive ICMP reply\nSent ICMP probe to 142.251.175.84 with TTL 11 Time exceeded from peer  142.251.231.198\nSent ICMP probe to 142.251.175.84 with TTL 12 Time exceeded from peer  142.251.247.195\nSent ICMP probe to 142.251.175.84 with TTL 13 Failed to receive ICMP reply\nSent ICMP probe to 142.251.175.84 with TTL 14 Failed to receive ICMP reply\nSent ICMP probe to 142.251.175.84 with TTL 15 Failed to receive ICMP reply\nSent ICMP probe to 142.251.175.84 with TTL 16 Failed to receive ICMP reply\nSent ICMP probe to 142.251.175.84 with TTL 17 Failed to receive ICMP reply\nSent ICMP probe to 142.251.175.84 with TTL 18 Failed to receive ICMP reply\nSent ICMP probe to 142.251.175.84 with TTL 19 Failed to receive ICMP reply\nSent ICMP probe to 142.251.175.84 with TTL 20 Failed to receive ICMP reply\nSent ICMP probe to 142.251.175.84 with TTL 21 Failed to receive ICMP reply\nSent ICMP probe to 142.251.175.84 with TTL 22 Failed to receive ICMP reply\nSent ICMP probe to 142.251.175.84 with TTL 23 Failed to receive ICMP reply\nSent ICMP probe to 142.251.175.84 with TTL 24 Echo reply from peer  142.251.175.84\nDone..\n\n```\nAs you can see the packet took 24 hops to reach its destination accounts.google.com and we are able to see the IPs of different routers (e.g. 203.118.6.233) when they send time exceeded ICMP message. Many routers didn't respond and once we get final echo reply from destination, the trace ends\n\n# Running a TCP trace\n```go\n$ sudo go run tracert.go -proto tcp accounts.google.com\nInvalid number of hops, setting to default 64\nResolved IP address: 74.125.68.84\nPacket sent with TTL : 1  ICMP Packet Received from :  192.168.18.1\nPacket sent with TTL : 2  ICMP Packet Received from :  116.88.128.1\nPacket sent with TTL : 3  ICMP Packet Received from :  183.90.44.193\nPacket sent with TTL : 4  ICMP Packet Received from :  203.118.6.237\nPacket sent with TTL : 5  ICMP Packet Received from :  203.118.6.149\nPacket sent with TTL : 6  ICMP Packet Received from :  203.118.6.149\nPacket sent with TTL : 7  ICMP Packet Received from :  203.118.4.130\nPacket sent with TTL : 8  ICMP Packet Received from :  142.250.166.50\nPacket sent with TTL : 9  ICMP Packet Received from :  142.250.238.115\nPacket sent with TTL : 10  * * * Timeout while waiting for ICMP Packet * * * \nPacket sent with TTL : 11  ICMP Packet Received from :  209.85.255.43\nPacket sent with TTL : 12  ICMP Packet Received from :  216.239.35.171\nPacket sent with TTL : 13  ICMP Packet Received from :  108.170.234.59\nPacket sent with TTL : 14  * * * Timeout while waiting for ICMP Packet * * * \nPacket sent with TTL : 15  * * * Timeout while waiting for ICMP Packet * * * \nPacket sent with TTL : 16  * * * Timeout while waiting for ICMP Packet * * * \nPacket sent with TTL : 17  * * * Timeout while waiting for ICMP Packet * * * \nPacket sent with TTL : 18  * * * Timeout while waiting for ICMP Packet * * * \nPacket sent with TTL : 19  * * * Timeout while waiting for ICMP Packet * * * \nPacket sent with TTL : 20  * * * Timeout while waiting for ICMP Packet * * * \nPacket sent with TTL : 21  * * * Timeout while waiting for ICMP Packet * * * \nPacket sent with TTL : 22  * * * Timeout while waiting for ICMP Packet * * * \nPacket sent with TTL : 23 Got TCP ACK Packet from :  74.125.68.84\nDone..\n\n```\nHere the results are pretty similar except that we are sending a TCP SYN and waiting for either an ICMP Time Exceeded or an ACK from the destination. Again, the packet took 24 hops to reach its destination accounts.google.com and we are able to see the IPs of different routers (e.g. 209.85.255.43) when they send time exceeded ICMP message. Many routers didn't respond and once we get TCP ACK from destination, the trace ends\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonmohan%2Ftraceroute","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmonmohan%2Ftraceroute","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonmohan%2Ftraceroute/lists"}