Nmap扫描工具是一款网络探测以及审核工具,该软件不仅可以快速扫描大型网络,还提供了各种实用功能。让用户们可以轻松地扫描出那些服务器在运行,又是链接在哪些端口等,从而让用户们可以轻松推断出这些计算机运行哪个操作系统等。
软件功能主机发现(Host Discovery)
用于发现目标主机是否处于活动状态(Active)。
Nmap提供了多种检测机制,可以更有效地辨识主机。例如可用来列举目标网络中哪些主机已经开启,类似于Ping命令的功能。
端口扫描(Port Scanning)
用于扫描主机上的端口状态。
Nmap可以将端口识别为开放(Open)、关闭(Closed)、过滤(Filtered)、未过滤(Unfiltered)、开放|过滤(Open|Filtered)、关闭|过滤(Closed|Filtered)。默认情况下,Nmap会扫描1000个常用的端口,可以覆盖大多数基本应用情况。
版本侦测(Version Detection)
用于识别端口上运行的应用程序与程序版本。
Nmap目前可以识别数千种应用的签名(Signatures),检测数百种应用协议。而对于不识别的应用,Nmap默认会将应用的指纹(Fingerprint)打印出来,如果用户确知该应用程序,那么用户可以将信息提交到社区,为社区做贡献。
操作系统侦测(OS detection)
用于识别目标机的操作系统类型、版本编号及设备类型。
Nmap目前提供了上千种操作系统或设备的指纹数据库,可以识别通用PC系统、路由器、交换机等设备类型。
防火墙/IDS规避(Firewall/IDS evasion)
Nmap提供多种机制来规避防火墙、IDS的的屏蔽和检查,便于秘密地探查目标机的状况。
基本的规避方式包括:分片(Fragment)/IP诱骗(IP decoys)/IP伪装(IP spoofing)/MAC地址伪装(MAC spoofing)等等。
NSE脚本引擎(Nmap Scripting Engine)
NSE是Nmap最强大最灵活的特性之一,可以用于增强主机发现、端口扫描、版本侦测、操作系统侦测等功能,还可以用来扩展高级的功能如web扫描、漏洞发现、漏洞利用等等。Nmap使用Lua语言来作为NSE脚本语言,目前的Nmap脚本库已经支持350多个脚本。
操作说明常用扫描类型
解开Nmap中文版命令行版的压缩包之后,进入Windows的命令控制台,再转到安装Nmap的目录(如果经常要用Nmap,最好把它的路径加入到PATH环境变量)。不带任何命令行参数
。GUI版的功能基本上和命令行版本一样,鉴于许多人更喜欢用命令行版本,本文后面的说明就以命令行版本为主。 下面是Nmap中文版支持的四种最基本的扫描方式:
⑴ TCP connect() 端口扫描(-sT参数)。
⑵ TCP同步(SYN)端口扫描(-sS参数)。
⑶ UDP 端口扫描(-sU参数)。
⑷ Ping扫描(-sP参数)。
扫描tcp端口
前期准备
B机器使用nmap去扫描A机器,扫描之前,A机器先查看自己上面有哪些端口在被占用,A机器上查看本地ipv4的监听端口。
扫描tcp端口:B机器上使用nmap扫描A机器所有端口
nmap 10.0.1.161 -p1-65535表示扫描A机器的1到65535所有在监听的tcp端口。
指定端口范围使用-p参数,如果不指定要扫描的端口,Nmap默认扫描从1到1024再加上nmap-services列出的端口
nmap-services是一个包含大约2200个著名的服务的数据库,Nmap通过查询该数据库可以报告那些端口可能对应于什么服务器,但不一定正确。
所以正确扫描一个机器开放端口的方法是上面命令。-p1-65535
注意,nmap有自己的库,存放一些已知的服务和对应端口号,假如有的服务不在nmap-services,可能nmap就不会去扫描,这就是明明一些端口已经是处于监听状态,nmap默认没扫描出来的原因,需要加入-p参数让其扫描所有端口。
虽然直接使用nmap 10.0.1.161也可以扫描出开放的端口,但是使用-p1-65535 能显示出最多的端口
区别在于不加-p 时,显示的都是已知协议的端口,对于未知协议的端口没显示
如果不加-p1-65535,对于未知服务的端口(A机器的13306端口)就没法扫描到
更新日志1.修复已知bug
2.优化操作体验
同类软件精选