{"id":50099917,"url":"https://github.com/hackertarget/nmap-did-what","last_synced_at":"2026-06-08T22:00:37.432Z","repository":{"id":240599640,"uuid":"803060587","full_name":"hackertarget/nmap-did-what","owner":"hackertarget","description":"Nmap Dashboard Mini Project","archived":false,"fork":false,"pushed_at":"2024-06-12T23:36:38.000Z","size":21,"stargazers_count":166,"open_issues_count":1,"forks_count":30,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-06-13T04:38:55.215Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hackertarget.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":"2024-05-20T01:40:02.000Z","updated_at":"2024-06-12T23:36:41.000Z","dependencies_parsed_at":"2024-05-20T03:25:15.838Z","dependency_job_id":"20f7fc17-ae71-4360-9b7f-c51510dff097","html_url":"https://github.com/hackertarget/nmap-did-what","commit_stats":null,"previous_names":["hackertarget/nmap-did-what"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hackertarget/nmap-did-what","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackertarget%2Fnmap-did-what","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackertarget%2Fnmap-did-what/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackertarget%2Fnmap-did-what/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackertarget%2Fnmap-did-what/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hackertarget","download_url":"https://codeload.github.com/hackertarget/nmap-did-what/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackertarget%2Fnmap-did-what/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34082130,"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-08T02:00:07.615Z","response_time":111,"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":"2026-05-23T07:00:33.067Z","updated_at":"2026-06-08T22:00:37.426Z","avatar_url":"https://github.com/hackertarget.png","language":"Python","funding_links":[],"categories":["📊 Dashboard \u0026 Visualization"],"sub_categories":["Nmap DID WHAT? — Nmap → Grafana Dashboard"],"readme":"# nmap-did-what\n\n**nmap-did-what** is a Grafana docker container and a Python script to parse Nmap XML output to an SQLite database. The SQLite database is used as a datasource within Grafana to view the Nmap scan details in a dashboard.\n\nFull Tutorial is available here - [Nmap Dashboard using Grafana](https://hackertarget.com/nmap-dashboard-with-grafana/)\n\n![Grafana Dashboard](https://hackertarget.com/images/nmap-grafana-dashboard.webp)\n\n## Overview\n\nThe project consists of two main components:\n\n1. A Python script that parses Nmap XML output and stores the data in an SQLite database.\n2. A Grafana Docker container with a pre-configured dashboard for visualizing the Nmap scan data.\n\n### File Structure\n\n- **nmap-to-sqlite.py**: A Python script that parses Nmap XML output and stores the data in an SQLite database.\n- **Dockerfile**: Creates a Docker container based on the official Grafana image, including the necessary configurations for the SQLite data source and dashboard.\n- **docker-compose.yml**: A Docker Compose file that sets up the Grafana container, configuring it to use the SQLite database and including volumes for persistent storage and configuration.\n- **dashboard.yml**: A configuration file that specifies the dashboard provider settings for Grafana.\n- **datasource.yml**: Configures Grafana to use the SQLite database containing the Nmap scan data as the data source.\n- **/data/nmap_results.db**: location in container for the SQLite DB.\n\n\n## Usage\n\nTo get started with nmap-did-what, ensure you have Docker and Docker Compose installed on your system.\n\nFollow these steps to deploy the environment:\n\n1. **Clone the repository**\n\n```\ngit clone https://github.com/hackertarget/nmap-did-what.git\n```\n\n2. **Parse Nmap XML output**\n\nRun the `nmap-to-sqlite.py` script to parse your Nmap XML output and store the data in an SQLite database:\n\n```\ncd nmap-did-what/data/\npython nmap-to-sqlite.py nmap_output.xml\n```\n\n3. **Start the Grafana Container**\n\nUse Docker Compose to start the Grafana container:\n\n```\ncd nmap-did-what\ndocker-compose up -d\n```\n\n4. **Access Grafana**\n\nOnce the container is up and running, access the Grafana dashboard through your web browser:\n\n```\nhttp://localhost:3000\n```\n\nUse the default Grafana credentials (admin/admin) unless changed in the configuration. The Nmap dashboard should be loaded with the data from your Nmap scans.\n\nMultiple scans can be reviewed within the DB and the Nmap Dashboard time filters can be used to the view the scan information based on the time stamps from the scans.\n\n## Customization\n\n- Modify the `nmap-to-sqlite.py` script to extract additional information from the Nmap XML output or to change the structure of the SQLite database.\n- Custom Dashboard are easy to implement, simply adjust the Grafana dashboard to your requirements. Export the JSON of the Dashboard and replace the default Dashboard or create additional dashboard. The ability to spin up a Grafana Docker container with a prebuilt Dashboard is a nice feature.\n- Automation is possible, as you can simply run **nmap** with a cron job, parse the XML with **nmap-to-sqlite.py** and the updated DB will have the newly acquired scan information.\n\n## Credits\n\nThanks to the Nmap and Grafana projects for providing powerful open-source tools for network scanning and data visualization.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackertarget%2Fnmap-did-what","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhackertarget%2Fnmap-did-what","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackertarget%2Fnmap-did-what/lists"}