Web-Attak系列教程第二季0x04讲——扫描器之王nmap

 

普及网络安全知识,推动信息技术发展。

为祖国的网络安全撑起一片蓝天,为网络安全爱好者构建一方家园。

欢迎来到灰帽程序员论坛,我们的网址是:

http://www.hmhacker.org

论坛以技术交流为主,非商业性质论坛。

大家好,我是小雨,QQ:798033502

今天给大家带来的教程是《Web-Attak系列教程第二季0x04讲——扫描器之王nmap

这些视频教程最终会整理成书《Web安全编程与渗透分析》

http://item.taobao.com/item.htm?spm=a1z10.1.w6130004738.5.3pGpJV&id=18995219730

nmap是一个网络探测和安全扫描程序,它支持很多扫描技术,例如:UDPTCP  connect()TCP  SYN(半开扫描)ftp代理(bounce攻击)、反向标志、ICMPFINACK扫描、圣诞树(Xmas  Tree)SYN扫描和null扫描。它还提供了一些高级的特征,例如:通过TCP/IP协议栈特征探测操作系统类型,秘密扫描,动态延时和重传计算,并行扫描,通过并行ping扫描探测关闭的主机,诱饵扫描,避开端口过滤检测,直接RPC扫描(无须端口影射),碎片扫描,以及灵活的目标和端口设定。因此称它为扫描器之王一点也不为过。

(一)下载和安装

我们可以从http://nmap.org/download.html下载相应的版本

(二)功能简介

Nmap主要包括四个方面的扫描功能,主机发现、端口扫描、应用与版本侦测、操作系统侦测。

(三)使用方法

我们先用Nmap –h 来查看帮助

其实这么多参数,我们没必要都记住,用的时候-h一下就可以了。

大体的格式是:nmap  [扫描类型]  [可选项]  [目标]

若我们要对某一主机进行完整全面的扫描一般我们用:

Nmap-A–vitbook.taobao.com

1)主机发现

  • l-sL: List Scan 列表扫描,仅将指定的目标的IP列举出来,不进行主机发现。
  • l-sn: Ping Scan 只进行主机发现,不进行端口扫描。
  • l-Pn: 将所有指定的主机视作开启的,跳过主机发现的过程。
  • l-PS/PA/PU/PY[portlist]: 使用TCPSYN/ACKSCTP  INIT/ECHO方式进行发现。
  • l-PE/PP/PM: 使用ICMP echo,  timestamp, and netmask 请求包发现主机。-PO[protocollist]: 使用IP协议包探测对方主机是否开启。
  • l-n/-R: -n表示不进行DNS解析;-R表示总是进行DNS解析。
  • l--dns-servers < serv1[,serv2],...>: 指定DNS服务器。
  • l--system-dns: 指定使用系统的DNS服务器。
  • l--traceroute: 追踪每个路由节点

实例:nmap –v –sn –PE  58.64.189.0/24

(2)端口扫描

  • l-sS/sT/sA/sW/sM:指定使用TCP  SYN/Connect()/ACK/Window/Maimon  scans的方式来对目标主机进行扫描。
  • l-sU: 指定使用UDP扫描方式确定目标主机的UDP端口状况。
  • l-sN/sF/sX: 指定使用TCP Null, FIN, and Xmas  scans秘密扫描方式来协助探测对方的TCP端口状态。
  • l--scanflags <flags>: 定制TCP包的flags
  • l-sI <zombiehost[:probeport]>: 指定使用idle  scan方式来扫描目标主机(前提需要找到合适的zombie  host
  • l-sY/sZ: 使用SCTP  INIT/COOKIE-ECHO来扫描SCTP协议端口的开放的情况。
  • l-sO: 使用IP protocol 扫描确定目标机支持的协议类型。
  • l-b <FTP relay host>: 使用FTP bounce  scan扫描方式

实例:nmap-v –sS –sUitbook.taobao.com

Nmap –T4 –sWwww.hmhacker.org

(3)版本探测

·-sV: 指定让Nmap进行版本侦测

·--version-intensity < level>: 指定版本侦测强度(0-9),默认为7。数值越高,探测出的服务越准确,但是运行时间会比较长。

·--version-light: 指定使用轻量侦测方式(intensity 2)

·--version-all: 尝试使用所有的probes进行侦测(intensity 9)

·--version-trace: 显示出详细的版本侦测过程信息。

实例:nmap –sVwww.hmhacker.org

Nmap –T4 –sVwww.hmhacker.org

(4)操作系统探测

·-O: 指定Nmap进行OS侦测。

·--osscan-limit: 限制Nmap只对确定的主机的进行OS探测(至少需确知该主机分别有一个openclosed的端口)。

·--osscan-guess: 大胆猜测对方的主机的系统类型。由此准确性会下降不少,但会尽可能多为用户提供潜在的操作系统。

实例:nmap –O  itbook.taobao.com

5)躲避防火墙/IDS

·-f; --mtu < val>: 指定使用分片、指定数据包的MTU.

·-D < decoy1,decoy2[,ME],...>: 用一组IP地址掩盖真实地址,其中ME填入自己的IP地址。

·-S < IP_Address>: 伪装成其他IP地址

·-e < iface>: 使用特定的网络接口

·-g/--source-port <portnum>: 使用指定源端口

·--data-length < num>: 填充随机数据让数据包长度达到Num

·--ip-options < options>: 使用指定的IP选项来发送数据包。

·--ttl < val>: 设置time-to-live时间。

·--spoof-mac < mac address/prefix/vendor name>: 伪装MAC地址

·--badsum: 使用错误的checksum来发送数据包(正常情况下,该类数据包被抛弃,如果收到回复,说明回复来自防火墙或IDS/IPS)。实例: nmap –D110.75.62.8,110.75.62.9,ME–A –v www.hmhacker.org(6) Nmap Scripting  Engine

·-sC: 等价于--script=default,使用默认类别的脚本进行扫描。

·--script=<Lua scripts>: <Lua  scripts>使用某个或某类脚本进行扫描,支持通配符描述

·--script-args=<n1=v1,[n2=v2,...]>: 为脚本提供默认参数

·--script-args-file=filename: 使用文件来为脚本提供参数

·--script-trace: 显示脚本执行过程中发送与接收的数据

·--script-updatedb: 更新脚本数据库

·--script-help=<Lua scripts>: 显示脚本的帮助信息,其中<Luascripts>部分可以逗号分隔的文件或脚本类别。

实例:nmap –p  80–v--script default,http* www.hmhacker.org 高清下载地址:http://www.vdisk.cn/down/index/12395933

 

posted @ 2013-02-24 07:32  MXi4oyu  阅读(344)  评论(0编辑  收藏  举报