{"id":21814307,"url":"https://github.com/snawoot/winping","last_synced_at":"2025-07-06T10:40:03.567Z","repository":{"id":57477746,"uuid":"176594949","full_name":"Snawoot/winping","owner":"Snawoot","description":"Ping implementation which utilizes Windows ICMP API","archived":false,"fork":false,"pushed_at":"2020-08-09T23:41:44.000Z","size":23,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-27T13:51:23.635Z","etag":null,"topics":["echo","echo-client","echo-request","icmp","ping","ping-client","windows"],"latest_commit_sha":null,"homepage":"","language":"Python","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/Snawoot.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}},"created_at":"2019-03-19T20:41:08.000Z","updated_at":"2023-10-05T18:48:54.000Z","dependencies_parsed_at":"2022-09-10T04:23:35.122Z","dependency_job_id":null,"html_url":"https://github.com/Snawoot/winping","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snawoot%2Fwinping","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snawoot%2Fwinping/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snawoot%2Fwinping/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snawoot%2Fwinping/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Snawoot","download_url":"https://codeload.github.com/Snawoot/winping/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248799697,"owners_count":21163398,"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":["echo","echo-client","echo-request","icmp","ping","ping-client","windows"],"created_at":"2024-11-27T14:37:34.806Z","updated_at":"2025-04-13T23:46:42.212Z","avatar_url":"https://github.com/Snawoot.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"winping\n=======\n\nPing implementation which utilizes Windows ICMP API\n\n---\n\n:heart: :heart: :heart:\n\nYou can say thanks to the author by donations to these wallets:\n\n- ETH: `0xB71250010e8beC90C5f9ddF408251eBA9dD7320e`\n- BTC:\n  - Legacy: `1N89PRvG1CSsUk9sxKwBwudN6TjTPQ1N8a`\n  - Segwit: `bc1qc0hcyxc000qf0ketv4r44ld7dlgmmu73rtlntw`\n\n---\n\n## Installation\n\nStandard Python package installation.\n\n## Usage\n\n### Utility\n\n#### Synopsis\n\n```\nC:\\\u003ewinping --help\nusage: winping [-h] [-w TIMEOUT] [-l SIZE] [-t | -n COUNT] [-4 | -6] address\n\nPing implementation which utilizes Windows ICMP API\n\npositional arguments:\n  address     specifies the host name or IP address of the destination\n\noptional arguments:\n  -h, --help  show this help message and exit\n  -w TIMEOUT  timeout in milliseconds to wait for each reply (default: 1000)\n  -l SIZE     number of data bytes to be sent (default: 32)\n  -t          ping the specified host until stopped (default: False)\n  -n COUNT    number of echo requests to send (default: 4)\n  -4          force using IPv4 (default: False)\n  -6          force using IPv6 (default: False)\n\n```\n\n#### Example\n\n```\nC:\\\u003ewinping google.com\n\nPinging google.com [172.217.20.206] with 32 bytes of data:\nReply from 172.217.20.206: bytes=32 time=29ms TTL=57\nReply from 172.217.20.206: bytes=32 time=25ms TTL=57\nReply from 172.217.20.206: bytes=32 time=24ms TTL=57\nReply from 172.217.20.206: bytes=32 time=25ms TTL=57\n\nPing statistics for 172.217.20.206:\n    Packets: Sent = 4, Received = 4, Lost = 0 (0.00% loss),\nApproximate round trip times in milli-seconds:\n    Minimum = 24ms, Maximum = 29ms, Average = 26ms\n\nC:\\\u003ewinping -6 google.com\n\nPinging google.com [2a00:1450:401b:804::200e] with 32 bytes of data:\nReply from 2a00:1450:401b:804::200e: time=79ms\nReply from 2a00:1450:401b:804::200e: time=77ms\nReply from 2a00:1450:401b:804::200e: time=76ms\nReply from 2a00:1450:401b:804::200e: time=75ms\n\nPing statistics for 2a00:1450:401b:804::200e:\n    Packets: Sent = 4, Received = 4, Lost = 0 (0.00% loss),\nApproximate round trip times in milli-seconds:\n    Minimum = 75ms, Maximum = 79ms, Average = 77ms\n\n```\n\nAlso, if python scripts are not in your system path, you may run it like this: `python -m winping`\n\n### Library\n\n```python3\nimport winping\nwith winping.IcmpHandle() as h:\n    resp = winping.ping(h, '8.8.8.8')\nprint(resp[0].RoundTripTime)\nwith winping.Icmp6Handle() as h:\n    resp = winping.ping6(h, '2a00:1450:401b:804::200e')\nprint(resp[0].RoundTripTime)\n```\n\nFor example of working ping utility see [winping/\\_\\_main\\_\\_.py](winping/__main__.py).\n\n## Limitations\n\n* Works only on Windows XP / Windows Server 2003 and newer.\n* No asyncio support at this moment, but you may run ping in thread executor.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnawoot%2Fwinping","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnawoot%2Fwinping","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnawoot%2Fwinping/lists"}