| 
 | 
 
一、namp简介 
Nmap(NetworkMapper)是一款网络探测和安全审核的自由软件。虽然它也能扫描单一的主机,但当初设计它的目的是为了快速扫描很大范围的网络。Nmap采用新的方法分析原始的IP包,能确定网络上有哪些可用的主机、主机提供哪些服务(应用程序名和版本号)、运行的操作系统(及其版本号)、使用的包过滤器和防火墙,以及其他一系列功能。Nmap可以在绝大多数计算机上运行,除了有命令行版本之外,还有带GUI的版本。Nmap是一款自由软件,只要遵守GNU通用公共许可证(GPL),就可以使用完整的源代码。 
     Nmap被开发用于允许系统管理员察看一个大的网络系统有哪些主机以及其上运行何种服务。它支持多种协议的扫描如UDP,TCPconnect(),TCP SYN (half open), ftp proxy (bounceattack),Reverse-ident,ICMP (ping sweep), FIN, ACK sweep,Xmas Tree,SYN sweep, 和Null扫描。你可以从SCANTYPES一节中察看相关细节。Nmap还提供一些实用功能如通过tcp/ip来甄别操作系统类型、秘密扫描、动态延迟和重发、平行扫描、通过并行的PING侦测下属的主机、欺骗扫描、端口过滤探测、直接的RPC扫描、分布扫描、灵活的目标选择以及端口的描述。 
  对非ROOT的用户来说,Nmap的正式版可以做很多重要的东西了。不幸的是部份关键的核心功能(比如rawsockets)需要root权限。所以尽量以root的身份运行Nmap。 
  运行Nmap后通常会得到一个关 于你扫描的机器的一个实用的端口列表。Nmap总是显示该服务的服务名称,端口号,状态以及协议。状态有’open’,'filtered’和’unfiltered’三种。’open’指的是目标机器将会在该端口接受你的连接请求。’filtered’指的是有防火墙、过滤装置或者其它的网络障碍物在这个端口阻挡了Nmap进一步查明端口是否开放的动作。至于’unfiltered’则只有在大多数的扫描端口都处在’filtered’状态下才会出现的。 
  根据选项的使用,Nmap还可以报告远程主机下面的特性:使用的操作系统、TCP连续性、在各端口上绑定的应用程序用户的用户名、DNS名、主机是否是个smurf地址以及一些其它功能。 
二、namp使用 
中文: 
    用法: nmap 扫描类型(多个) [选项] {目标} 
1、目标指定: 可以通过主机名,IP地址,网络等。 例如:scanme.nmap.org,microsoft.com/24      192.168.0.1;10.0.0-255.1-254 
-iL   : 输入从主机/网络列表 
-iR      : 选择随机指标 
–exclude   : 排除主机/网络 
–excludefile  :    从列表文件中排除 
2、主机发现: 
-sL:    列表扫描 – 简单扫描列表目标 
-sn:    Ping扫描 – 禁用端口扫描 
-Pn: 检测所有在线主机 — 跳过主机发现 
-PS/PA/PU/PY[端口列表]: TCP SYN/ACK, UDP 或 SCTP 发现指定的端口 
-PE/PP/PM: ICMP echo, timestamp, 和netmask request发现 
-PO[协议列表]:IP协议ping 
-n/-R: 从不DNS解析/始终解析 [默认: 有时] 
–dns-servers : 指定自定义DNS服务器 
–system-dns: 使用操作系统的DNS解析器 
–traceroute: 每个主机跟踪一跳路径 
3、扫描技术: 
-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon 扫描 
-sU: UDP扫描 
-sN/sF/sX: TCP Null, FIN, 和 Xmas 扫描 
–scanflags : 自定义TCP扫描标志-sI : 闲置扫描-sY/sZ: SCTP INIT/COOKIE-ECHO 扫描 
-sO: IP协议扫描 
-b : 使用FTP bounce扫描 
端口说明和扫描顺序: 
-p < 端口范围>: 只扫描指定的端口 
例: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9 
-F: 快速模式 – 扫描比默认的扫描的端口少 
-r: 连续扫描端口 – 不随机 
–top-ports < 数量>: 扫描< 数量>个最常见的端口 
–port-ratio < 比率>:扫描端口,较常见的 < 比率> 
服务/版本检测: 
-sV: 探索开放的端口,以确定服务/版本信息 
–version-intensity < 级别>: 设置从0(浅)到9(尝试所有探测) 
–version-light: 更快地识别最有可能的探测 (强度 2) 
–version-all: 尝试每一个探测 (强度 9) 
–version-trace: 显示详细的版本扫描活动 (用于调试) 
脚本扫描: 
-sC: 相当于–script=default 
–script=: 是用逗号分隔的目录列表,脚本文件或脚本类别 
–script-args=: 脚本提供参数 
–script-args-file=文件名:在一个NSE文件中提供脚本参数 
–script-trace: 显示所有的数据发送和接收 
–script-updatedb: 更新脚本数据库 
–script-help=: 显示有关脚本的帮助。 
是用逗号分隔的目录列表,脚本文件或脚本类别 操作系统检测: 
-O: 开启操作系统检测 
–osscan-limit: 限定操作系统检测到有希望的目标 
–osscan-guess: 猜测操作系统更快速 
时序和性能: 
使用选项是在几秒钟内或追加’MS’(毫秒)“S”(秒),“M”(分钟),或’h’(小时)的值(如30m)。 
-T<0-5>: 设置计时模板(越高速度越快) 
–min-hostgroup/max-hostgroup < 大小>: 并行主机扫描大小 
–min-parallelism/max-parallelism < 探测数量>: 探测并行 
–min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <时间>:指定探测往返时间。 
–max-retries < 尝试>: 端口扫描探测重发的上限数量。 
–host-timeout < 时间>: 扫描间隔 
–scan-delay/–max-scan-delay < 时间>: 调节延迟之间的探测 
–min-rate < 数量>: 发送数据包不超过每秒< 数量>个 
–max-rate < 数量>: 数据包发送速度超过每秒< 数量>个 
防火墙/入侵检测系统 躲避和欺骗: 
-f; –mtu : 分片包(可选 w/given MTU) 
-D < 诱饵1,诱饵2[,自己],…>: 掩蔽与诱饵扫描 
-S : 欺骗源地址 
-e < 接口>: 使用指定的接口 
-g/–source-port < 端口号>: 使用给定的端口号 
–data-length < 大小>: 附加随机数据发送的数据包 
–ip-options < 选项>: 发送指定IP选项的包 
–ttl : 设置IP生存时间 
–spoof-mac : 欺骗你的MAC地址 
–badsum: 发送一个伪造的TCP/UDP/SCTP的校验数据包 
输出: 
-oN/-oX/-oS/-oG < 文件>: 输出标准扫描, XML, s| -oA : 输出三种格式 
-v: 提高详细级别 (使用-vv或更多更好的效果) 
-d: 提高调试级别 (使用-dd或更多更好的效果) 
–reason: 显示端口的原因是在一个特定的状态 
–open: 只显示打开(或可能打开) 端口 
–packet-trace: 显示所有的数据包发送和接收 
–iflist: 显示主机接口和路由(用于调试) 
–log-errors: 正常格式输出文件 记录错误/警告 
–append-output:追加,而不是更改已经指定输出文件 
–resume < 文件名>: 恢复中止扫描 
–stylesheet < 路径/URL>: XSL样式表转换XML输出为HTML 
–webxml: 从Nmap.Org获得更便携的XML参考样式 
–no-stylesheet:防止关联的XSL样式表W / XML输出 
杂项: 
-6: 开启IPv6扫描 
-A: 启用操作系统检测,检测版本,脚本扫描,路由跟踪 
–datadir < 目录名>: 指定自定义的Nmap数据文件的位置 
–send-eth/–send-ip: 使用原始的以太网帧或IP数据包发送 
–privileged: 假设用户是完全权限 
–unprivileged: 假设用户缺乏原始套接字权限 
-V: 打印的版本号 
-h: 打印此帮助摘要页面。 
例如: 
nmap -v -A scanme.nmap.org 
nmap -v -sn 192.168.0.0/16 10.0.0.0/8 
nmap -v -iR 10000 -Pn -p 80 
更多的选择和例子,请参阅手册页(http://nmap.org/book/man.html) 
英文: 
Nmap 5.51 ( http://nmap.org ) 
Usage: nmap [Scan Type(s)] [Options] {target specification} 
TARGET SPECIFICATION: 
Can pass hostnames, IP addresses, networks, etc. 
Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1;10.0.0-255.1-254 
-iL <inputfilename>: Input from list of hosts/networks 
-iR <num hosts>: Choose random targets 
–exclude <host1[,host2][,host3],…>: Excludehosts/networks 
–excludefile <exclude_file>: Exclude list from file 
HOST DISCOVERY: 
-sL: List Scan – simply list targets to scan 
-sn: Ping Scan – disable port scan 
-Pn: Treat all hosts as online — skip host discovery 
-PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP discovery togiven ports 
-PE/PP/PM: ICMP echo, timestamp, and netmask request discoveryprobes 
-PO[protocol list]: IP Protocol Ping 
-n/-R: Never do DNS resolution/Always resolve [default:sometimes] 
–dns-servers <serv1[,serv2],…>: Specify custom DNSservers 
–system-dns: Use OS’s DNS resolver 
–traceroute: Trace hop path to each host 
SCAN TECHNIQUES: 
-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans 
-sU: UDP Scan 
-sN/sF/sX: TCP Null, FIN, and Xmas scans 
–scanflags <flags>: Customize TCP scan flags 
-sI <zombie host[:probeport]>: Idle scan 
-sY/sZ: SCTP INIT/COOKIE-ECHO scans 
-sO: IP protocol scan 
-b <FTP relay host>: FTP bounce scan 
PORT SPECIFICATION AND SCAN ORDER: 
-p <port ranges>: Only scan specified ports 
Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9 
-F: Fast mode – Scan fewer ports than the default scan 
-r: Scan ports consecutively – don’t randomize 
–top-ports <number>: Scan <number> most commonports 
–port-ratio <ratio>: Scan ports more common than<ratio> 
SERVICE/VERSION DETECTION: 
-sV: Probe open ports to determine service/version info 
–version-intensity <level>: Set from 0 (light) to 9 (tryall probes) 
–version-light: Limit to most likely probes (intensity 2) 
–version-all: Try every single probe (intensity 9) 
–version-trace: Show detailed version scan activity (fordebugging) 
SCRIPT SCAN: 
-sC: equivalent to –script=default 
–script=<Lua scripts>: <Lua scripts> is a commaseparated list of 
directories, script-files or script-categories 
–script-args=<n1=v1,[n2=v2,...]>: provide arguments toscripts 
–script-trace: Show all data sent and received 
–script-updatedb: Update the script database. 
OS DETECTION: 
-O: Enable OS detection 
–osscan-limit: Limit OS detection to promising targets 
–osscan-guess: Guess OS more aggressively 
TIMING AND PERFORMANCE: 
Options which take <time> are in seconds, or append ‘ms’(milliseconds), 
‘s’ (seconds), ‘m’ (minutes), or ‘h’ (hours) to the value (e.g.30m). 
-T<0-5>: Set timing template (higher is faster) 
–min-hostgroup/max-hostgroup <size>: Parallel host scangroup sizes 
–min-parallelism/max-parallelism <numprobes>: Probeparallelization 
–min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout<time>: Specifies 
probe round trip time. 
–max-retries <tries>: Caps number of port scan proberetransmissions. 
–host-timeout <time>: Give up on target after thislong 
–scan-delay/–max-scan-delay <time>: Adjust delay betweenprobes 
–min-rate <number>: Send packets no slower than<number> per second 
–max-rate <number>: Send packets no faster than<number> per second 
FIREWALL/IDS EVASION AND SPOOFING: 
-f; –mtu <val>: fragment packets (optionally w/givenMTU) 
-D <decoy1,decoy2[,ME],…>: Cloak a scan with decoys 
-S <IP_Address>: Spoof source address 
-e <iface>: Use specified interface 
-g/–source-port <portnum>: Use given port number 
–data-length <num>: Append random data to sent packets 
–ip-options <options>: Send packets with specified ipoptions 
–ttl <val>: Set IP time-to-live field 
–spoof-mac <mac address/prefix/vendor name>: Spoof yourMAC address 
–badsum: Send packets with a bogus TCP/UDP/SCTP checksum 
OUTPUT: 
-oN/-oX/-oS/-oG <file>: Output scan in normal, XML,s|<rIpt kIddi3, 
and Grepable format, respectively, to the given filename. 
-oA <basename>: Output in the three major formats atonce 
-v: Increase verbosity level (use -vv or more for greatereffect) 
-d: Increase debugging level (use -dd or more for greatereffect) 
–reason: Display the reason a port is in a particular state 
–open: Only show open (or possibly open) ports 
–packet-trace: Show all packets sent and received 
–iflist: Print host interfaces and routes (for debugging) 
–log-errors: Log errors/warnings to the normal-format outputfile 
–append-output: Append to rather than clobber specified outputfiles 
–resume <filename>: Resume an aborted scan 
–stylesheet <path/URL>: XSL stylesheet to transform XMLoutput to HTML 
–webxml: Reference stylesheet from Nmap.Org for more portableXML 
–no-stylesheet: Prevent associating of XSL stylesheet w/XMLoutput 
MISC: 
-6: Enable IPv6 scanning 
-A: Enable OS detection, version detection, script scanning, andtraceroute 
–datadir <dirname>: Specify custom Nmap data filelocation 
–send-eth/–send-ip: Send using raw ethernet frames or IPpackets 
–privileged: Assume that the user is fully privileged 
–unprivileged: Assume the user lacks raw socket privileges 
-V: Print version number 
-h: Print this help summary page. 
EXAMPLES: 
nmap -v -A scanme.nmap.org 
nmap -v -sn 192.168.0.0/16 10.0.0.0/8 
nmap -v -iR 10000 -Pn -p 80 
SEE THE MAN PAGE (http://nmap.org/book/man.html) FOR MOREOPTIONS AND EXAMPLES |   
 
 
 
 |