一、namp简介
Nmap(Network Mapper)是一款网络探测和安全审核的自由软件。虽然它也能扫描单一的主机,但当初设计它的目的是为了快速扫描很大范围的网络。Nmap采用新的方法分析原始的IP包,能确定网络上有哪些可用的主机、主机提供哪些服务(应用程序名和版本号)、运行的操作系统(及其版本号)、使用的包过滤器和防火墙,以及其他一系列功能。Nmap可以在绝大多数计算机上运行,除了有命令行版本之外,还有带GUI的版本。Nmap是一款自由软件,只要遵守GNU 通用公共许可证(GPL),就可以使用完整的源代码。
Nmap被开发用于允许系统管理员察看一个大的网络系统有哪些主机以及其上运行何种服务。它支持多种协议的扫描如UDP,TCP connect(),TCP SYN (half open), ftp proxy (bounce attack),Reverse-ident,ICMP (ping sweep), FIN, ACK sweep,Xmas Tree, SYN sweep, 和Null扫描。你可以从SCAN TYPES一节中察看相关细节。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 扫描类型(多个) [选项] {目标}
-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
-iR
?exclude
?excludefile
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 to given ports
-PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes
-PO[protocol list]: IP Protocol Ping
-n/-R: Never do DNS resolution/Always resolve [default: sometimes]
?dns-servers
?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
-sI
-sY/sZ: SCTP INIT/COOKIE-ECHO scans
-sO: IP protocol scan
-b
PORT SPECIFICATION AND SCAN ORDER:
-p
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
?port-ratio
SERVICE/VERSION DETECTION:
-sV: Probe open ports to determine service/version info
?version-intensity
?version-light: Limit to most likely probes (intensity 2)
?version-all: Try every single probe (intensity 9)
?version-trace: Show detailed version scan activity (for debugging)
SCRIPT SCAN:
-sC: equivalent to ?script=default
?script=
directories, script-files or script-categories
?script-args=
?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
‘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
?min-parallelism/max-parallelism
?min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout
probe round trip time.
?max-retries
?host-timeout
?scan-delay/?max-scan-delay
?min-rate
?max-rate
FIREWALL/IDS EVASION AND SPOOFING:
-f; ?mtu
-D
-S
-e
-g/?source-port
?data-length
?ip-options
?ttl
?spoof-mac
?badsum: Send packets with a bogus TCP/UDP/SCTP checksum
OUTPUT:
-oN/-oX/-oS/-oG
and Grepable format, respectively, to the given filename.
-oA
-v: Increase verbosity level (use -vv or more for greater
effect)
-d: Increase debugging level (use -dd or more for greater
effect)
?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 output
file
?append-output: Append to rather than clobber specified output
files
?resume
?stylesheet
?webxml: Reference stylesheet from Nmap.Org for more portable
XML
?no-stylesheet: Prevent associating of XSL stylesheet w/XML
output
MISC:
-6: Enable IPv6 scanning
-A: Enable OS detection, version detection, script scanning, and
traceroute
?datadir
?send-eth/?send-ip: Send using raw ethernet frames or IP
packets
?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 MORE
OPTIONS AND EXAMPLES