{"id":17189575,"url":"https://github.com/walderlansena/checkso","last_synced_at":"2026-04-11T14:36:22.917Z","repository":{"id":232892126,"uuid":"96064641","full_name":"WalderlanSena/checkso","owner":"WalderlanSena","description":":mag: Descubra qual SO(Sistema Operacional) esta rodando na maquina através do Ping","archived":false,"fork":false,"pushed_at":"2017-07-05T00:54:35.000Z","size":255,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-25T04:54:39.407Z","etag":null,"topics":["linux","shell-script","sistema-operacional","so","unix","windows"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/WalderlanSena.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":"2017-07-03T02:54:43.000Z","updated_at":"2017-07-03T04:36:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"a3ac5e99-817b-4404-bc18-689682753e66","html_url":"https://github.com/WalderlanSena/checkso","commit_stats":null,"previous_names":["walderlansena/checkso"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/WalderlanSena/checkso","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WalderlanSena%2Fcheckso","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WalderlanSena%2Fcheckso/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WalderlanSena%2Fcheckso/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WalderlanSena%2Fcheckso/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WalderlanSena","download_url":"https://codeload.github.com/WalderlanSena/checkso/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WalderlanSena%2Fcheckso/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31684525,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T13:07:20.380Z","status":"ssl_error","status_checked_at":"2026-04-11T13:06:47.903Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["linux","shell-script","sistema-operacional","so","unix","windows"],"created_at":"2024-10-15T01:11:58.379Z","updated_at":"2026-04-11T14:36:22.909Z","avatar_url":"https://github.com/WalderlanSena.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eCheckSO\u003c/h1\u003e\n\u003cp align=\"center\"\u003eIdentifique o SO(Sistema Operacional) da máquina \"pingada\"\u003c/p\u003e\n\u003chr\u003e\n\u003cp align=\"center\"\u003e\n \u003ca href=\"#\"\u003e\n  \u003cimg src=\"https://github.com/WalderlanSena/checkso/blob/master/Exemplo.png\"\u003e\n \u003c/a\u003e\n\u003c/p\u003e\n\n## :exclamation: Atenção: \n\nNa maioria dos sistemas operacionais é possivel fazer uma alteração no retorno do **TTL**, que no script é ultilizado para a identificação do sistema. Todavia este script assim como o repositório como um todo é apenas um **DICA** de ultilização dessa funcionaliade. :wink:\n\n## O que é o protocolo ICMP ?\n**ICMP**, sigla para o inglês **Internet Control Message Protocol**, é um protocolo integrante do Protocolo **IP**, definido pelo \n**RFC 792**, é utilizado para fornecer relatórios de erros à fonte original. Qualquer computador que utilize IP precisa aceitar as mensagens **ICMP** e alterar o seu comportamento de acordo com o erro relatado. Os **gateways** devem estar programados para enviar mensagens **ICMP** quando receberem datagramas que provoquem algum erro. \u003cbr\u003e\n[Fonte: Wikipedia](https://pt.wikipedia.org/wiki/Internet_Control_Message_Protocol)\n\n## Sobre o Script\n\"O comando **ping** trabalha com o protocolo **ICMP** enviando mensagens. Quando uma maquina de destino recebe um **ECHO_REQUEST** ela retorna um **ECHO_REPLY**.\"\n\u003cbr/\u003e\nCom isso há utilização do programa **ping** seria: \u003cbr /\u003e\n\nRequisição para máquina: Linux\n```\nPING 192.168.2.16 (192.168.2.16) 56(84) bytes of data.\n64 bytes from 192.168.2.16: icmp_seq=1 ttl=64 time=0.082 ms\n64 bytes from 192.168.2.16: icmp_seq=2 ttl=64 time=0.076 ms\n64 bytes from 192.168.2.16: icmp_seq=3 ttl=64 time=0.065 ms\n64 bytes from 192.168.2.16: icmp_seq=4 ttl=64 time=0.082 ms\n```\n\u003cbr /\u003e\n\nRequisição para máquina: Windows\n```\nPING 192.168.2.11 (192.168.2.11) 56(84) bytes of data.\n64 bytes from 192.168.2.11: icmp_seq=1 ttl=128 time=368 ms\n64 bytes from 192.168.2.11: icmp_seq=2 ttl=128 time=113 ms\n64 bytes from 192.168.2.11: icmp_seq=3 ttl=128 time=312 ms\n64 bytes from 192.168.2.11: icmp_seq=4 ttl=128 time=127 ms\n\n```\n\u003cbr /\u003e\n\nPeceba que o TTL (Time to Live) de cada requisão exerce \"um padrão\" para cada sistema operacional demostrado acima. Com isso podemos verificar e saber qual sistema a máquina está utilizando.\u003cbr/\u003e\n\nExemplo do teste:\n```shell\nif [ $valorSO -eq 64  ]\n then\n echo \"[-] Sistema Operacional : aproximadamente - GNU/Linux\"\nfi\n```\n\n\u003cbr/\u003e\n\n### :warning: Obs:\nTambém é válido resaltar que a cada vez que um pacote passa por um roteador, o mesmo decrementa 2 no valor do TTL, Sendo assim o valor talvez tenha que ser ajustado,ou simplismente reavaliado as verificações do \"test\n\n## License\nMIT \u003chttps://opensource.org/licenses/MIT\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwalderlansena%2Fcheckso","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwalderlansena%2Fcheckso","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwalderlansena%2Fcheckso/lists"}