nmap
(Network Mapper)是一个开源的网络扫描和安全审计工具,它被设计为用于发现设备在网络上运行并确定其开放的网络端口。该工具常用于网络安全实践和网络管理任务,例如检查开放的网络端口,检测网络服务及其版本,以及确定设备的操作系统类型。
常用的 nmap
选项和用法
-
基本扫描
扫描主机以查看哪些端口是开放的:nmap <target>
-
指定端口范围
扫描特定的端口或端口范围:nmap -p 20-30 <target>
-
扫描多个目标
可以扫描多个主机或整个子网:nmap 192.168.1.1,2,3 nmap 192.168.1.1-20
-
端口状态
nmap
会报告端口的几种状态:开放(open)、关闭(closed)、过滤(filtered)、未过滤(unfiltered)、开放|过滤(open|filtered)和关闭|过滤(closed|filtered)。 -
服务和版本检测
使用-sV
选项来检测运行在开放端口上的服务和版本:nmap -sV <target>
-
操作系统检测
使用-O
选项来尝试确定目标主机的操作系统类型:nmap -O <target>
-
Ping扫描
仅仅检测主机是否在线,不扫描端口:nmap -sp <target>
-
不ping
在扫描时跳过ping步骤,直接进行端口扫描:nmap -Pn <target>
-
更快速的扫描
使用-T
选项可以指定扫描的速度/时间模板。例如,-T4
表示更快速的扫描,但可能会失去一些准确性:nmap -T4 <target>
-
脚本扫描
nmap
还带有一个强大的脚本引擎,用于进一步的检查和审计。例如,使用默认的脚本进行扫描:
nmap -sC <target>
- 扫描所有的TCP端口
默认情况下,nmap
只扫描知名的1,000个TCP端口。使用-p-
扫描所有65535个端口:
nmap -p- <target>
- 输出结果
使用-o
选项可以将扫描结果保存到文件中,支持多种格式(例如-oN
为普通,-oX
为XML):
nmap -oN output.txt <target>
在 nmap
中,-T
选项后跟一个值(从0到5)用于设置扫描时的时间和超时参数。这些值提供了预设的一组参数,以便用户可以轻松地在速度与扫描准确性之间做出权衡。-T4
是其中的一个预设值。
下面是每个 -T
选项的含义:
-
-T0 (paranoid): 这是最慢的扫描选项。它在连续的两个扫描之间增加了大约5分钟的延迟,以避免被侦测。
-
-T1 (sneaky): 比
-T0
快,但还是很慢,扫描之间的延迟大约为15秒。 -
-T2 (polite): 更快速,但仍然相对温和,扫描之间的延迟大约为0.4秒。
-
-T3 (normal): 这是
nmap
的默认扫描速度。它没有特定的延迟,而是使用nmap
的内部算法来确定最佳的扫描速度。 -
-T4 (aggressive): 这是一个加快的扫描模式,减少了很多的超时和延迟。这可能导致在不稳定的网络上结果不准确。
-
-T5 (insane): 这是最快的扫描选项,但也是最有可能被侦测、被防火墙阻止或产生不准确结果的选项。
在选择 -T
选项时,通常建议从 -T3
开始,并根据需要调整。如果觉得扫描过于缓慢或结果不准确,可以尝试 -T4
或 -T5
,但要注意这可能会增加被侦测的风险。
以上只是 nmap
的一些基本和常用选项,实际上它还有许多高级功能和选项,可以参考官方文档或使用 man nmap
查看更多详细信息。
以上内容仅供学习使用!!!
注意!!!未经授权使用 nmap
扫描他人的设备是非法的。在使用此工具时,务必确保自己的行为是合法和道德的。