id = "nmap"
name = "Nmap"
homepage = "https://nmap.org"
description = "Nmap is a free and open source utility for network discovery and security auditing."
icon = "https://nmap.org/images/nmap-logo-256x256.png"
executables = ["nmap"]
[dotfiles]
paths = ["~/.nmap/"]
secret = []
[commands]
format = 1
label = "Scan hosts"
description = "Scan one or more targets. Timing, scripts, NSE and output-format options are not in the completion data and are left out."
quality = "ai-draft"
base = "fig:nmap"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/nmap.ts"
license = "MIT"
[[commands.field]]
id = "targets"
label = "Targets"
type = "string"
position = 0
multiple = true
sources = ["fig"]
[[commands.field]]
id = "ports"
label = "Ports"
description = "Port list or ranges, e.g. 22,80,443 or 1-1024."
type = "string"
option = ["-p"]
sources = ["fig"]
[[commands.field]]
id = "syn"
label = "TCP SYN scan"
type = "boolean"
option = ["-sS"]
sources = ["fig"]
[[commands.field]]
id = "connect"
label = "TCP connect scan"
type = "boolean"
option = ["-sT"]
sources = ["fig"]
[[commands.field]]
id = "udp"
label = "UDP scan"
type = "boolean"
option = ["-sU"]
sources = ["fig"]
[[commands.field]]
id = "os"
label = "OS detection"
type = "boolean"
option = ["-O"]
sources = ["fig"]
[[commands.field]]
id = "aggressive"
label = "Aggressive (OS, version, scripts)"
type = "boolean"
option = ["-A"]
sources = ["fig"]
[[commands.field]]
id = "verbose"
label = "Verbosity"
type = "count"
option = ["-v"]
sources = ["fig"]
[[commands.field]]
id = "ipv6"
label = "IPv6"
type = "boolean"
option = ["-6"]
sources = ["fig"]
[[commands.field]]
id = "input_list"
label = "Targets from file"
type = "path"
option = ["-iL"]
path = { kind = "file", role = "input" }
sources = ["fig"]
[[commands.field]]
id = "exclude"
label = "Exclude hosts"
type = "string"
option = ["--exclude"]
sources = ["fig"]
[[commands.task]]
id = "quick"
label = "Scan ports"
fields = ["targets", "ports", "syn"]
required = ["targets"]
[[commands.task]]
id = "full"
label = "Aggressive scan"
fields = ["targets", "ports"]
required = ["targets"]
set = { aggressive = [true] }
[[commands.task]]
id = "udp"
label = "UDP scan"
fields = ["targets", "ports"]
required = ["targets"]
set = { udp = [true] }
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["targets", "ports", "syn", "udp", "aggressive", "verbose"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["connect", "ipv6", "input_list", "exclude", "os"]