class Nmap::Task
## Nmap
options:
### Target Specifications:
-
`-iL` - `nmap.target_file`
-
`-iR` - `nmap.random_targets`
-
`–exclude` - `nmap.exclude`
-
`–excludefile` - `nmap.exclude_file`
### Host
Discovery:
-
`-sL` - `nmap.list`
-
`-sn` - `nmap.ping`
-
`-Pn` - `nmap.skip_discovery`
-
`-PS` - `nmap.syn_discovery`
-
`-PA` - `nmap.ack_discovery`
-
`-PU` - `nmap.udp_discovery`
-
'-PY' - `nmap.sctp_init_ping`
-
`-PE` - `nmap.icmp_echo_discovery`
-
`-PP` - `nmap.icmp_timestamp_discovery`
-
`-PM` - `nmap.icmp_netmask_discovery`
-
`-PO` - `nmap.ip_ping`
-
`-PR` - `nmap.arp_ping`
-
`–traceroute` - `nmap.traceroute`
-
`-n` - `nmap.disable_dns`
-
`-R` - `nmap.enable_dns`
-
`–systems-dns` - `nmap.systems_dns`
-
`–dns-servers` - `nmap.dns_servers`
### Port
Scanning Techniques:
-
`-sS` - `nmap.syn_scan`
-
`-sT` - `nmap.connect_scan`
-
`-sU` - `nmap.udp_scan`
-
`-sY` - `nmap.sctp_init_scan`
-
`-sN` - `nmap.null_scan`
-
`-sF` - `nmap.fin_scan`
-
`-sX` - `nmap.xmas_scan`
-
`-sA` - `nmap.ack_scan`
-
`-sW` - `nmap.window_scan`
-
`-sM` - `nmap.maimon_scan`
-
`–scanflags` - `nmap.tcp_scan_flags`
-
`-sZ` - `nmap.sctp_cookie_echo_scan`
-
`-sI` - `nmap.idle_scan`
-
`-sO` - `nmap.ip_scan`
-
`-b` - `nmap.ftp_bounce_scan`
### Port
Specification and Scan
Order:
-
`-p` - `nmap.ports`
-
`-F` - `nmap.fast`
-
`-r` - `nmap.consecutively`
-
`–top-ports` - `nmap.top_ports`
-
`–port-ratio` - `nmap.port_ratio`
### Service/Version Detection:
-
`-sV` - `nmap.service_scan`
-
`–allports` - `nmap.all_ports`
-
`–version-intensity` - `nmap.version_intensity`
-
`–version-light` - `nmap.version_light`
-
`–version-all` - `nmap.version_all`
-
`–version-trace` - `nmap.version_trace`
-
`-sR` - `nmap.rpc_scan`
### Script Scan:
-
`-sC` - `nmap.default_script`
-
`–script` - `nmap.script`
-
`–script-args` - `nmap.script_params`
-
`–script-trace` - `nmap.script_trace`
-
`–script-updatedb` - `nmap.update_scriptdb`
### OS
Detection:
-
`-O` - `nmap.os_fingerprint`
-
`–osscan-limit` - `nmap.limit_os_scan`
-
`–osscan-guess` - `nmap.max_os_scan`
### Timing and Performance:
-
`–min-hostgroup` - `nmap.min_host_group`
-
`–max-hostgroup` - `nmap.max_host_group`
-
`–min-parallelism` - `nmap.min_parallelism`
-
`–max-parallelism` - `nmap.max_parallelism`
-
`–min-rtt-timeout` - `nmap.min_rtt_timeout`
-
`–max-rtt-timeout` - `nmap.max_rtt_timeout`
-
`–max-retries` - `nmap.max_retries`
-
`–host-timeout` - `nmap.host_timeout`
-
`–scan-delay` - `nmap.scan_delay`
-
`–max-scan-delay` - `nmap.max_scan_delay`
-
`–min-rate` - `nmap.min_rate`
-
`–max-rate` - `nmap.max_rate`
-
`–defeat-rst-ratelimit` - `nmap.defeat_rst_ratelimit`
-
`–defeat-icmp-ratelimit` - `nmap.defeat_icmp_ratelimit`
-
`–nsock-engine` - `nmap.nsock_engine`
-
`-T` - `nmap.timing_template`
-
`-T0` - `nmap.paranoid_timing`
-
`-T1` - `nmap.sneaky_timing`
-
`-T2` - `nmap.polite_timing`
-
`-T3` - `nmap.normal_timing`
-
`-T4` - `nmap.aggressive_timing`
-
`-T5` - `nmap.insane_timing`
### Firewall/IDS Evasion and Spoofing:
-
`-f` - `nmap.packet_fragments`
-
`–mtu` - `nmap.mtu`
-
`-D` - `nmap.decoys`
-
`-S` - `nmap.spoof`
-
`-e` - `nmap.interface`
-
`-g` - `nmap.source_port`
-
`–data-length` - `nmap.data_length`
-
`–ip-options` - `nmap.ip_options`
-
`–ttl` - `nmap.ttl`
-
`–randomize-hosts` - `nmap.randomize_hosts`
-
`–spoof-mac` - `nmap.spoof_mac`
-
`–badsum` - `nmap.bad_checksum`
-
`–adler32` - `nmap.sctp_adler32`
### Output:
-
`-oN` - `nmap.save`
-
`-oX` - `nmap.xml`
-
`-oS` - `nmap.skiddie`
-
`-oG` - `nmap.grepable`
-
`-oA` - `nmap.output_all`
### Verbosity and Debugging:
-
`-v` - `nmap.verbose`
-
`-v0` - `nmap.quiet`
-
`-d` - `nmap.debug`
-
`–reason` - `nmap.show_reason`
-
`–stats-every` - `nmap.stats_every`
-
`–packet-trace` - `nmap.show_packets`
-
`–open` - `nmap.show_open_ports`
-
`–iflist` - `nmap.show_interfaces`
-
`–log-errors` - `nmap.show_log_errors`
### Miscellaneous Output:
-
`–append-output` - `nmap.append`
-
`–resume` - `nmap.resume`
-
`–stylesheet` - `nmap.stylesheet`
-
`–webxml` - `nmap.nmap_stylesheet`
-
`–no-stylesheet` - `nmap.disable_stylesheet`
### Misc:
-
`-6` - `nmap.ipv6`
-
`-A` - `nmap.all`
-
`–datadir` - `nmap.nmap_datadir`
-
`–servicedb` - `nmap.servicedb`
-
`–versiondb` - `nmap.versiondb`
-
`–send-eth` - `nmap.raw_ethernet`
-
`–send-ip` - `nmap.raw_ip`
-
`–privileged` - `nmap.privileged`
-
`–unprivileged` - `nmap.unprivileged`
-
`–release-memory` - `nmap.release_memory`
-
`–interactive` - `nmap.interactive`
-
`-V` - `nmap.version`
-
`-h` - `nmap.help`
-
`target specification` - `nmap.targets`
Private Class Methods
Fomats a port list.
@param [Array<Integer,Range>] ports
The port ranges.
@return [String]
Comma separated string.
# File lib/nmap/task.rb, line 354 def self.format_port_list(ports) ports.map { |port| case port when Range "#{port.first}-#{port.last}" else port.to_s end }.join(',') end
Formats a protocol list.
@param [Array<Integer,Range>] protocols
The IP protocol numbers.
@return [String]
Comma separated string.
# File lib/nmap/task.rb, line 374 def self.format_protocol_list(protocols) # NOTE: the man page says the protocol list is similar to the format of # a port range. format_port_list(protocols) end