Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Service fingerprinting, OS detection, NSE script execution, and vulnerability scanning using nmap MCP. Use when identifying services on open ports, fingerprinting OS versions, running NSE scripts for SSL or SMB checks, or scanning for known CVEs and vulnerabilities
.claude/skills/automateyournetwork-nmap-service-detection/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-09 | ✗→✓ | ▲ Improved | 19% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 18% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 54% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 55% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 70% | 0% |
bashpython3 $MCP_CALL "python3 -u $NMAP_MCP_SCRIPT" TOOL_NAME '{"param":"value"}'
| Tool | Purpose | Privileges | |------|---------|-----------| | nmap_service_detection | Service name + version on open ports (-sV) | none | | nmap_os_detection | OS fingerprinting (-O) | cap_net_raw | | nmap_script_scan | Run specific NSE scripts | none | | nmap_vuln_scan | Run the "vuln" NSE script category | none | | nmap_full_recon | SYN + service + OS + default scripts all-in-one | cap_net_raw |
When asked "what's running on this host?" or "identify the services":
bashpython3 $MCP_CALL "python3 -u $NMAP_MCP_SCRIPT" nmap_service_detection '{"target":"192.168.1.1","ports":"common","intensity":7}'
Returns per-port: service name, product, version, CPE identifier.
bashpython3 $MCP_CALL "python3 -u $NMAP_MCP_SCRIPT" nmap_os_detection '{"target":"192.168.1.1"}'
Works best when the target has at least one open and one closed port.
When asked "check this host for vulnerabilities" or "security scan":
Run the all-in-one audit sweep:
bashpython3 $MCP_CALL "python3 -u $NMAP_MCP_SCRIPT" nmap_full_recon '{"target":"192.168.1.1","ports":"common"}'
This combines SYN scan + service detection + OS fingerprinting + default NSE scripts.
Run the vuln NSE category for known CVEs:
bashpython3 $MCP_CALL "python3 -u $NMAP_MCP_SCRIPT" nmap_vuln_scan '{"target":"192.168.1.1","ports":"common"}'
This is slow — use on specific targets, not wide ranges.
Run specific NSE scripts for focused checks:
bash# SSL certificate inspection python3 $MCP_CALL "python3 -u $NMAP_MCP_SCRIPT" nmap_script_scan '{"target":"192.168.1.1","scripts":"ssl-cert,ssl-enum-ciphers","ports":"443"}' # HTTP title + headers python3 $MCP_CALL "python3 -u $NMAP_MCP_SCRIPT" nmap_script_scan '{"target":"192.168.1.1","scripts":"http-title,http-headers","ports":"80,443,8080"}' # Banner grabbing python3 $MCP_CALL "python3 -u $NMAP_MCP_SCRIPT" nmap_script_scan '{"target":"192.168.1.1","scripts":"banner","ports":"1-1024"}' # SMB enumeration python3 $MCP_CALL "python3 -u $NMAP_MCP_SCRIPT" nmap_script_scan '{"target":"192.168.1.1","scripts":"smb-enum-shares,smb-os-discovery","ports":"445"}'
target (required): IP, hostname, or CIDR rangeports (optional): Port range or "common" for top 1000 (default: "common")intensity (optional): Version detection aggressiveness 0-9 (default: 7)target (required): Single IP or hostname (ranges don't work well)target (required): IP, hostname, or CIDR rangescripts (required): NSE script name(s), e.g. "ssl-cert", "http-title,http-headers", "banner"ports (optional): Port range or "common" (default: "common")target (required): IP or hostname (keep scope tight)ports (optional): Port range or "common" (default: "common")target (required): IP, hostname, or small CIDR range (/28 or smaller)ports (optional): Port range or "common" (default: "common")| Script | Purpose | |--------|---------| | ssl-cert | Display SSL certificate details | | ssl-enum-ciphers | List supported SSL/TLS ciphers | | http-title | Grab HTML page title | | http-headers | Dump HTTP response headers | | http-methods | Check supported HTTP methods | | banner | Grab service banners | | smb-enum-shares | Enumerate SMB shares | | smb-os-discovery | Discover OS via SMB | | ssh-hostkey | Show SSH host keys | | dns-brute | DNS subdomain brute force | | ftp-anon | Check for anonymous FTP |
All tools return structured JSON:
scan_id — for retrieving results laterper_host — per-host breakdown with open ports, services, versionsos_detection — OS match name, accuracy, device typeresults / vulnerability_findings — script output organized by portnmap_list_scans / nmap_get_scanOther measured skills in the registry, with their headline benchmark lift.