nmap参数(三)

定时选项

--------*

虽然nmap在一般情况下都能够很好地在运行时间里尽可能迅速地完成扫描任务,但偶尔还是会有一些主机/端口无法侦测,这可能是nmap默认的时间策略和你的目标不太一致(相当于timeout的设定),下面就是一些选项能对扫描的时间进行控制:

-T

这是一个可以用来便利地表达nmap时间策略优先权的参数设置。Paranoid模式用极慢的速度来扫描以避免被数字记录系统记录。它使扫描连续而不是并发而且通常等待至少五分钟才发送一个信息包。Sneaky也是类似的,只是它是每15秒发送一个信息包。Polite模式是用来减轻网络负载以减少当机的可能性,它是连续发送探针并在两个包的间隙等待0.4秒。Normal是nmap的常规用法,是尽其所能地快速扫描——除非主机或端口连接丢失。Aggressive模式是对每台主机设定了五分钟的timeout,并且等待每个探针应答不超过1.25秒。Insane模式是适应非常快的网络或者你不在乎丢失一些信息——因为太快!它的timeout设定于75秒并且只等待回应0.3秒,它允许对一个很快的网络系统进行“扫荡”:),你也可以用数字(0-5)来代表参数,比如‘-t 0‘表示Paranoid而‘-t 5‘代表Insane模式。注意,这些时间设定无法在底层的控制中联合使用。(NOT be used in combination with the lower level controls given below.)

 

--host_timeout

具体指定nmap对某个IP的扫描时间总量,超过则作不通处理,默认是不做设定。

 

--max_rtt_timeout

指定nmap对一个探针从远程端返回回应的最大时间,默认是9000。

 

--initial_rtt_timeout

指定最初探针的timeout时间,这通常在用-P0扫描有防火墙保护的主机时很有效,nmap会通过ping得到一个好的RTT评估以及最初少数的探针。默认值为6000。

 

--max_parallelism

指定nmap允许的最大并行扫描数目,设定为1表明nmap每次只扫描个端口,它同样会对其它扫描如pingsweep, RPC scan等产生影响。

 

--scan_delay

指定nmap必须等待的两个探针间的最小的时间。这是减少网络负载及使扫描在综合数据存储的记录下不那么显眼的办法。

 

目标说明

--------*

所有不带参数的选项都会被视为是nmap的目标主机描述。最简单的实例是仅仅在命令行列出单一的主机名或IP地址。如果你希望扫描一个IP地址的子网,你可以在主机名和IP地址中加入‘/mask‘。mask必需是在0(扫描整个网络)和32(特定的单一主机)。用/24则表明扫找一个C类地址,而/16则是扫描B类……map还有一些更有用的符号说明方式可以让你用list/ranges来为每个元素指定IP地址。比如你要扫描B类网址128.210.*.*,则可以用‘128.210.*.*‘或‘128.210.0-255.0-255‘或者甚至是‘128.210.1-50,51-255.1,2,3,4,5-255‘来表示。当然你也可以用上面提过的mask来表示:‘128.210.0.0/16‘。所有这些都是等价的,当你用‘*‘的时候记住多数的shell都要求用定界符比如引号将其标注。另一个有趣的是你可以用其它方法将整个网络“分割”,比如你可以用‘*.*.5.6-7‘来扫描所有以.5.6或.5.7结束的IP地址。要得到更多信息,你可以看看示例节。

 

扫描范例

--------*

这里是一些运用nmap的扫描范例,从最简单普通的到有一些复杂的例子都有。注意这里有真实的数字以及一些真实的域名——这样可以让扫描行为看起来更具体。在这里你可以用自己的网络里的名称代替其中的addresses/names。虽然端口扫描的结果分析可能会使某些人容易攻击,但我不认为它是不

合法的,我曾经扫描过成百上千的机器但只收到一次抱怨。但我不是律师而一些(anal)人们对nmap探测觉得烦恼,所以最好在取得允许后扫描或者——冒险,后果由你自己承担。

 

map -vtarget.example.com

这样对target.example.com上所有的保留TCP端口做了一次扫描,-v表示用详细模式。

 

map -sS -Otarget.example.com/24

这将开始一次SYN的半开扫描,针对的目标是target.example.com所在的C类子网,它还试图确定在其上运行的是什么系统。这需要root权限,因为用到了半开扫描以及系统侦测。

 

map -sX -p22,53,110,143,4564 128.210.*.1-127

发送一个Xmastree扫描到B类128.210所在子网的一半范围内,我们将检测系统是否运行sshd, DNS, pop3d,imapd,或者端口4564。要注意由于微软TCP堆栈的不完善,Xmas扫描将不能在其平台上运行成功,同样的问题可能存在于CISCO,IRIX, HP/UX,和BSDI。

 

map -v -p80 ‘*.*.2.3-5‘

这是定位一个网域(将整个网络分隔成许多小部份)再进行扫描的方式,这里扫描的是所有以.2.3,.2.4,或.2.5结束的IP地址。如果你是ROOT的话也可以用-sS。同样的你可以从127开始搜寻更多有趣的机器,你可以用‘127-222‘替代前面的星号——恕我直言,那个区域有着大量有趣的机器。

host -lcompany.com | cut ‘-d ‘ -f 4 | ./nmap -v -i -

做一个DNS zonetransfer来寻找在company.com进而的主机并且将IP地址送至nmap(feed the IP

addressesto nmap)。这个命令是在我的GNU/Linux平台下运行的,你可能需要用不同的选项参数或者不同的操作系统。


Pastedfrom <http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=1143176

### Nmap 参数详解及使用方法 Nmap是一款功能强大的开源网络扫描工具,能够帮助用户完成多种任务,例如端口扫描、服务检测、操作系统识别等。以下是关于其参数的详细解析: #### 基本语法结构 Nmap 的基本命令格式如下: ```plaintext nmap [Scan Type(s)] [Options] {target specification} ``` 其中 `[Scan Type(s)]` 表示扫描类型,`[Options]` 是各种选项配置,而 `{target specification}` 则为目标地址或范围。 --- #### 扫描类型 (Scan Types) 1. **TCP SYN Scan (-sS)** 这是最常见的隐秘扫描方式之一,通过发送 TCP 半连接请求来判断目标端口的状态。 ```bash nmap -sS target_ip_address ``` 2. **TCP Connect Scan (-sT)** 使用完整的 TCP 握手过程来进行扫描,适合无特殊权限的情况。 ```bash nmap -sT target_ip_address ``` 3. **UDP Scan (-sU)** 针对 UDP 端口进行扫描,适用于发现基于 UDP 的服务。 ```bash nmap -sU target_ip_address ``` 4. **Ping Scan (-sn)** 不执行端口扫描,仅确认目标主机是否在线。 ```bash nmap -sn target_ip_address ``` 5. **OS Detection (-O)** 尝试推断远程操作系统的类型和版本。 ```bash nmap -O target_ip_address ``` 6. **Service Version Detection (-sV)** 探测并显示正在运行的服务及其版本号。 ```bash nmap -sV target_ip_address ``` 7. **Script Scanning (--script)** 调用内置脚本来扩展功能性,如漏洞评估或枚举 HTTP 方法。 ```bash nmap --script http-methods -p80,443 scanme.nmap.org ``` --- #### 通用选项 (Common Options) | 参数 | 功能描述 | |--------------|------------------------------------------------------------------------| | `-v` | 提高输出的详细程度,多次叠加(如 `-vv`)可以进一步增加细节[^4]. | | `-Pn` | 默认情况下会尝试 ping 主机以验证活动状态;此选项跳过该阶段[^3]. | | `--open` | 只报告开放的端口,忽略关闭或过滤掉的结果[^1]. | | `-oN filename`| 将标准输出保存到指定文件中. | --- #### 实际案例分析 假设需要全面了解某台服务器的安全状况,则可组合多个参数实现更深入的探测: ```bash nmap -A -T4 target_ip_address ``` 上述指令中的 `-A` 启用了激进模式,自动包含了 OS 检测、版本侦测等功能;而 `-T4` 设置了一个较快的时间模板,在性能允许的前提下加速扫描进程. 对于特定场景下的需求,比如测试 Web 应用程序支持哪些 HTTP 请求方法时,可以采用以下形式: ```bash nmap -p80,443 --script http-methods scanme.nmap.org ``` --- #### 输出解读 一次典型的 Nmap 执行可能返回下列几种端口状态信息: - **Open**: 此端口接受外部连接。 - **Closed**: 存在监听行为但拒绝访问。 - **Filtered**: 数据包被防火墙或其他机制拦截。 - **Unfiltered**: 已知未受阻拦却无法判定确切情况。 - **Open|Filtered**: 结果模棱两可,可能是其中之一. 此外还会有额外字段揭示更多背景资料,像所运用的具体协议名称或者软件发行版编号等等。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值