{"id":19423347,"url":"https://github.com/simgo123/mytracert","last_synced_at":"2026-06-12T18:32:15.060Z","repository":{"id":181293300,"uuid":"489762860","full_name":"SimGo123/MyTracert","owner":"SimGo123","description":"My simple traceroute","archived":false,"fork":false,"pushed_at":"2022-05-07T19:33:51.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-17T18:25:54.396Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SimGo123.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-05-07T19:21:49.000Z","updated_at":"2022-05-07T19:28:01.000Z","dependencies_parsed_at":"2023-07-14T20:48:05.111Z","dependency_job_id":null,"html_url":"https://github.com/SimGo123/MyTracert","commit_stats":null,"previous_names":["simgo123/mytracert"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SimGo123/MyTracert","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimGo123%2FMyTracert","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimGo123%2FMyTracert/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimGo123%2FMyTracert/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimGo123%2FMyTracert/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SimGo123","download_url":"https://codeload.github.com/SimGo123/MyTracert/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimGo123%2FMyTracert/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34258366,"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-12T02:00:06.859Z","response_time":109,"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":"2024-11-10T13:38:05.997Z","updated_at":"2026-06-12T18:32:15.044Z","avatar_url":"https://github.com/SimGo123.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MyTracert\nProgram to trace a packet's way through the internet from its source to its destination.\n---\nShould work similar to traceroute (Linux) / tracert (Windows).\n\nMechanism:\nA UDP packet with a low TTL (time to live) is sent to the destination.\\\nEach hop (a server or whatever) on the way decreases the TTL.\\\nWhen the TTL has reached 0 the hop usually sends us an ICMP packet with type 'time exceeded' (11)\nand our original UDP packet inside it.\\\nSo to trace a packet's way we start by sending UDP packets in the aforementioned way and extract\nthe sender's IP address from the incoming ICMP packet.\\\nWe start with a TTL of 1 and than increment it in each iteration.\\\nThe problems are:\n- We don't know if an incoming ICMP packet was really sent from one of the hops or if it\n  is unrelated. So we check the copy of the UDP packet we originally sent which is contained in\n  the ICMP packet. But the data we sent along isn't always present, so we check if the lengths\n  of the UDP packets match.\n- Not every hop sends an ICMP packet back to us. So we try again till we can be sure we haven't\n  missed anything.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimgo123%2Fmytracert","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimgo123%2Fmytracert","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimgo123%2Fmytracert/lists"}