Calendar
数据载入中,请稍候......
Placard
数据载入中,请稍候......
Category
数据载入中,请稍候......
Latest Entries
数据载入中,请稍候......
Latest Comments
数据载入中,请稍候......
Last Messages
数据载入中,请稍候......
User Login
数据载入中,请稍候......
Links
Information
数据载入中,请稍候......
Search
Other


Welcome to my blog!
  nmap使用手册
 

[root@hahazhu bin]# ./nmap -help
Nmap 3.70 Usage: nmap [Scan Type(s)] [Options] <host or net list>
Some Common Scan Types ('*' options require root privileges)
* -sS TCP SYN stealth port scan (default if privileged (root))
  TCP同步扫描(TCP SYN):因为不必全部打开一个TCP连接,所以这项技术通常称为半

开扫描(half-open)。你可以发出一个TCP同步包(SYN),然后等待回应。如果对方返回

SYN|ACK(响应)包就表示目标端口正在监听;如果返回RST数据包,就表示目标端口没有

监听程序;如果收到一个SYN|ACK包,源主机就会马上发出一个RST(复位)数据包断开和

目标主机的连接,这实际上有我们的操作系统内核自动完成的。这项技术最大的好处是

,很少有系统能够把这记入系统日志。不过,你需要root权限来定制SYN数据包。
  -sT TCP connect() port scan (default for unprivileged users)
   TCP connect()扫描:这是最基本的TCP扫描方式。connect()是一种系统调用,由操

作系统提供,用来打开一个连接。如果目标端口有程序监听,connect()就会成功返回

,否则这个端口是不可达的。这项技术最大的优点是,你勿需root权限。任何UNIX用户

都可以自由使用这个系统调用。这种扫描很容易被检测到,在目标主机的日志中会记录

大批的连接请求以及错误信息。
* -sU UDP port scan
  UDP扫描:如果你想知道在某台主机上提供哪些UDP(用户数据报协议,RFC76服务,可

以使用这种扫描方法。nmap首先向目标主机的每个端口发出一个0字节的UDP包,如果我

们收到端口不可达的ICMP消息,端口就是关闭的,否则我们就假设它是打开的。

  有些人可能会想UDP扫描是没有什么意思的。但是,我经常会想到最近出现的

solaris rpcbind缺陷。rpcbind隐藏在一个未公开的UDP端口上,这个端口号大于32770

。所以即使端口111(portmap的众所周知端口号)被防火墙阻塞有关系。但是你能发现大

于30000的哪个端口上有程序正在监听吗?使用UDP扫描就能!cDc Back Orifice的后门

程序就隐藏在Windows主机的一个可配置的UDP端口中。不考虑一些通常的安全缺陷,一

些服务例如:snmp、tftp、NFS使用UDP协议。不幸的是,UDP扫描有时非常缓慢,因为大

多数主机限制ICMP错误信息的比例(在RFC1812中的建议)。例如,在Linux内核中(在

net/ipv4/icmp.h文件中)限制每4秒钟只能出现80条目标不可达的ICMP消息,如果超过

这个比例,就会给1/4秒钟的处罚。solaris的限制更加严格,每秒钟只允许出现大约2

条ICMP不可达消息,这样,使扫描更加缓慢。nmap会检测这个限制的比例,减缓发送速

度,而不是发送大量的将被目标主机丢弃的无用数据包。

  不过Micro$oft忽略了RFC1812的这个建议,不对这个比例做任何的限制。所以我们

可以能够快速扫描运行Win95/NT的主机上的所有65K个端口。
  -sP ping scan (Find any reachable machines)
ping扫描:有时你只是想知道此时网络上哪些主机正在运行。通过向你指定的网络内的

每个IP地址发送ICMP echo请求数据包,nmap就可以完成这项任务。如果主机正在运行

就会作出响应。不幸的是,一些站点例如:microsoft.com阻塞ICMP echo请求数据包。

然而,在默认的情况下nmap也能够向80端口发送TCP ack包,如果你收到一个RST包,就

表示主机正在运行。nmap使用的第三种技术是:发送一个SYN包,然后等待一个RST或者

SYN/ACK包。对于非root用户,nmap使用connect()方法。

  在默认的情况下(root用户),nmap并行使用ICMP和ACK技术。

  注意,nmap在任何情况下都会进行ping扫描,只有目标主机处于运行状态,才会进

行后续的扫描。如果你只是想知道目标主机是否运行,而不想进行其它扫描,才会用到

这个选项。

* -sF,-sX,-sN Stealth FIN, Xmas, or Null scan (experts only)
   秘密FIN数据包扫描、圣诞树(Xmas Tree)、空(Null)扫描模式:即使SYN扫描都无法

确定的情况下使用。一些防火墙和包过滤软件能够对发送到被限制端口的SYN数据包进

行监视,而且有些程序比如synlogger和courtney能够检测那些扫描。这些高级的扫描

方式可以逃过这些干扰。这些扫描方式的理论依据是:关闭的端口需要对你的探测包回

应RST包,而打开的端口必需忽略有问题的包(参考RFC 793第64页)。FIN扫描使用暴露

的FIN数据包来探测,而圣诞树扫描打开数据包的FIN、URG和PUSH标志。不幸的是,微

软决定完全忽略这个标准,另起炉灶。所以这种扫描方式对Windows95/NT无效。不过,

从另外的角度讲,可以使用这种方式来分别两种不同的平台。如果使用这种扫描方式可

以发现打开的端口,你就可以确定目标注意运行的不是Windows系统。如果使用-sF、-

sX或者-sN扫描显示所有的端口都是关闭的,而使用SYN扫描显示有打开的端口,你可以

确定目标主机可能运行的是Windwos系统。现在这种方式没有什么太大的用处,因为

nmap有内嵌的操作系统检测功能。还有其它几个系统使用和windows同样的处理方式,

包括Cisco、BSDI、HP/UX、MYS、IRIX。在应该抛弃数据包时,以上这些系统都会从打

开的端口发出复位数据包。 

  -sV Version scan probes open ports determining service & app

names/versions
  探测应用程序服务名称和端口号 
 -sR RPC scan (use with other scan types)
 RPC扫描。这种方法和nmap的其它不同的端口扫描方法结合使用。选择所有处于打开

状态的端口向它们发出SunRPC程序的NULL命令,以确定它们是否是RPC端口,如果是,

就确定是哪种软件及其版本号。因此你能够获得防火墙的一些信息。诱饵扫描现在还不

能和RPC扫描结合使用。
Some Common Options (none are required, most can be combined):
* -O Use TCP/IP fingerprinting to guess remote operating system
   这个选项激活对TCP/IP指纹特征(fingerprinting)的扫描,获得远程主机的标志。

换句话说,nmap使用一些技术检测目标主机操作系统网络协议栈的特征。nmap使用这些

信息建立远程主机的指纹特征,把它和已知的操作系统指纹特征数据库做比较,就可以

知道目标主机操作系统的类型。
  -p <range> ports to scan.  Example range: 1-1024,1080,6666,31337
  这个选项让你选择要进行扫描的端口号的范围。例如,-p 23表示:只扫描目标主机

的23号端口。-p 20-30,139,60000-表示:扫描20到30号端口,139号端口以及所有大于

60000的端口。在默认情况下,nmap扫描从1到1024号以及nmap-services文件(如果使用

RPM软件包,一般在/usr/share/nmap/目录中)中定义的端口列表。 

  -F Only scans ports listed in nmap-services
快速扫描模式,只扫描在nmap-services文件中列出的端口。显然比扫描所有65535个端

口要快
  -v Verbose. Its use is recommended.  Use twice for greater effect.
冗余模式。强烈推荐使用这个选项,它会给出扫描过程中的详细信息。使用这个选项,

你可以得到事半功倍的效果。使用-d选项可以得到更加详细的信息。
  -P0 Don't ping hosts (needed to scan www.microsoft.com and others)
在扫描之前,不必ping主机。有些网络的防火墙不允许ICMP echo请求穿过,使用这个

选项可以对这些网络进行扫描。microsoft.com就是一个例子,因此在扫描这个站点时

,你应该一直使用-P0或者-PT80选项(没有空格)。 
* -Ddecoy_host1,decoy2[,...] Hide scan using many decoys
  -6 scans via IPv6 rather than IPv4
  -T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane> General timing policy
  -n/-R Never do DNS resolution/Always resolve [default: sometimes resolve]
  -oN/-oX/-oG <logfile> Output normal/XML/grepable scan logs to <logfile>
  把扫描结果重定向到一个可读的文件logfilename中。
  -iL <inputfile> Get targets from file; Use '-' for stdin
 从inputfilename文件中读取扫描的目标。在这个文件中要有一个主机或者网络的列

表,由空格键、制表键或者回车键作为分割符。如果使用-iL -,nmap就会从标准输入

stdin读取主机名字。你可以从指定目标一节得到更加详细的信息。 
* -S <your_IP>/-e <devicename> Specify source address or network interface
  --interactive Go into interactive mode (then press h for help)
Example: nmap -v -sS -O www.my.com 192.168.0.0/16 '192.88-90.*.*'
SEE THE MAN PAGE FOR MANY MORE OPTIONS, DESCRIPTIONS, AND EXAMPLES

[ 阅读全文 | 回复(0) | 引用通告 | 编辑

  Post  by  badboy 发表于 2007-2-3 16:53:00
发表评论:
数据载入中,请稍候......
数据载入中,请稍候......