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