{"id":16571645,"url":"https://github.com/hrbrmstr/shodan","last_synced_at":"2025-10-29T01:31:09.753Z","repository":{"id":36063588,"uuid":"40362567","full_name":"hrbrmstr/shodan","owner":"hrbrmstr","description":":new_moon: R package to work with the Shodan API","archived":false,"fork":false,"pushed_at":"2018-02-14T23:31:50.000Z","size":76,"stargazers_count":17,"open_issues_count":1,"forks_count":8,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-03-12T03:03:50.005Z","etag":null,"topics":["r","r-cyber","rstats","shodan","shodan-api"],"latest_commit_sha":null,"homepage":"http://datadrivensecurity.info/blog/posts/2015/Aug/the-new-and-improved-r-shodan-package/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hrbrmstr.png","metadata":{"files":{"readme":"README.Rmd","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":"2015-08-07T13:47:34.000Z","updated_at":"2022-05-06T17:10:44.000Z","dependencies_parsed_at":"2022-08-31T22:23:27.112Z","dependency_job_id":null,"html_url":"https://github.com/hrbrmstr/shodan","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrbrmstr%2Fshodan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrbrmstr%2Fshodan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrbrmstr%2Fshodan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrbrmstr%2Fshodan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hrbrmstr","download_url":"https://codeload.github.com/hrbrmstr/shodan/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219858514,"owners_count":16556043,"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":["r","r-cyber","rstats","shodan","shodan-api"],"created_at":"2024-10-11T21:24:42.038Z","updated_at":"2025-10-29T01:31:04.439Z","avatar_url":"https://github.com/hrbrmstr.png","language":"R","funding_links":[],"categories":["R Search Automation Tools"],"sub_categories":[],"readme":"---\noutput: rmarkdown::github_document\neditor_options: \n  chunk_output_type: console\n---\n![](shodan.png)\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r, echo = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"README-\"\n)\n```\n\nshodan is an R package interface to the [Shodan API](https://developer.shodan.io/api/requirements).\n\nNOTE that the [Shodan Streaming API](https://developer.shodan.io/api/stream) function are _not_ implemented.\n\nAlso, most of the functions return `list` data structures given the nested structure of the Shodan query results. Functions like `shodan_ports()` will sanely return simple vectors and others like `shodan_protocols()` will return plain `data.frames`. I am _very_ open to collaboration to ensure the return types are as useful to callers. File an issue or e-mail/tweet me if interested.\n\nThe package expects `SHODAN_API_KEY` to be in the environment and the easiest way to do that is to stick it in your `.Renviron` file.\n\nThe following functions are implemented:\n\n- `account_profile`:\tAccount Profile\n- `api_info`:\tAPI Plan Information\n- `honeyscore` : Honeyport or not?\n- `host_count`:\tSearch Shodan without Results\n- `host_info`:\tHost Information\n- `my_ip`:\tMy IP Address\n- `query_tags`:\tList the most popular tags\n- `resolve`:\tDNS Lookup\n- `reverse`:\tReverse DNS Lookup\n- `shodan_api_key`:\tGet or set SHODAN_API_KEY value\n- `shodan_exploit_search`:\tSearch for Exploits\n- `shodan_exploit_search_count`:\tSearch for Exploits without Results\n- `shodan_ports`:\tList all ports that Shodan is crawling on the Internet.\n- `shodan_protocols`:\tList all protocols that can be used when performing on-demand Internet scans via Shodan.\n- `shodan_query_list`:\tList the saved search queries\n- `shodan_query_search`:\tSearch the directory of saved search queries.\n- `shodan_scan`:\tRequest Shodan to crawl an IP/ netblock\n- `shodan_scan_internet`:\tCrawl the Internet for a specific port and protocol using Shodan\n- `shodan_search`:\tSearch Shodan\n- `shodan_search_tokens`:\tBreak the search query into tokens\n- `shodan_services`:\tList all services that Shodan crawls\n\n## Installation\n\n```{r eval=FALSE}\ndevtools::install_github(\"hrbrmstr/shodan\")\n```\n\n```{r echo=FALSE, message=FALSE, warning=FALSE, error=FALSE}\noptions(width=120)\n```\n\n## Usage\n\n```{r fo_sho, cache=TRUE, message=FALSE, warning=FALSE}\nlibrary(shodan)\nlibrary(tibble) # for printing\n\n# current verison\npackageVersion(\"shodan\")\n\nshodan_ports()\n\nshodan_protocols()\n\nresolve(\"google.com\")\n\nreverse(\"172.217.3.110\")\n\nquery_tags()$matches\n\nshodan_query_list()$matches\n```\n\n### Code of Conduct\n\nPlease note that this project is released with a [Contributor Code of Conduct](CONDUCT.md). \nBy participating in this project you agree to abide by its terms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhrbrmstr%2Fshodan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhrbrmstr%2Fshodan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhrbrmstr%2Fshodan/lists"}