{"id":23897725,"url":"https://github.com/tkwonn/ping","last_synced_at":"2025-11-14T01:02:13.760Z","repository":{"id":264930104,"uuid":"894683720","full_name":"tkwonn/ping","owner":"tkwonn","description":"CLI Project #1","archived":false,"fork":false,"pushed_at":"2024-11-26T21:19:41.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-04T17:17:22.762Z","etag":null,"topics":["cli","icmp","network"],"latest_commit_sha":null,"homepage":"","language":"Python","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/tkwonn.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-26T19:49:39.000Z","updated_at":"2024-12-02T11:52:59.000Z","dependencies_parsed_at":"2024-11-26T21:39:31.811Z","dependency_job_id":null,"html_url":"https://github.com/tkwonn/ping","commit_stats":null,"previous_names":["tkwonn/ping"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkwonn%2Fping","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkwonn%2Fping/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkwonn%2Fping/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkwonn%2Fping/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tkwonn","download_url":"https://codeload.github.com/tkwonn/ping/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240286509,"owners_count":19777354,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cli","icmp","network"],"created_at":"2025-01-04T17:17:27.957Z","updated_at":"2025-11-14T01:02:08.737Z","avatar_url":"https://github.com/tkwonn.png","language":"Python","readme":"# Ping\n\nWritten in Python using raw sockets, ICMP request, and reply messages.\n\n## ping.py\n\nPing is a computer network app to test whether a particular host is reachable across an IP network. It sends ICMP echo request packets to the target and listens for ICMP echo reply packets.  \nIn order to keep it simple, this program does not follow the official spec in RFC 1739. \n\n## Demo\n\n[![asciicast](https://asciinema.org/a/jl8X363T1zhI2xUc6i9NBKKLS.svg)](https://asciinema.org/a/jl8X363T1zhI2xUc6i9NBKKLS)\n\n## Instructions\n\nTo run ping.py: `sudo python3 ping.py [option] host`\n\n### Options\n\n- `-c, --count COUNT`: Number of packets to send\n- `-i, --interval INTERVAL`: Wait interval seconds between sending each packet (default is 1 second).\n- `-d, --debug`: Enable debug mode for detailed output.\n\n## Features\n\n**Raw Socket Communication**  \nUtilizes raw sockets to send and receive ICMP packets, providing low-level network access.\n\n**ICMP Packet Construction**  \nManually constructs ICMP Echo Request packets, including headers and payload.\n\n**Packet Unpacking and Verification**   \nReceives ICMP Echo Reply packets, unpacks the headers and payload, and verifies the contents to ensure data integrity.\n\n**Round-Trip Time Calculation**  \nMeasures the time taken for packets to reach the target and return, providing RTT statistics.\n\n\n## Environment\n\n```\n$ python3 --version\nPython 3.13.0\n\n$ uname\nDarwin\n```\n\n\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftkwonn%2Fping","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftkwonn%2Fping","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftkwonn%2Fping/lists"}