什么是Nmap
Nmap是一个 免费和开源的用于网络发现和安全审计的实用程序。许多系统和网络管理员还发现它对于网络清单、管理服务升级计划以及监控主机或服务正常运行时间等任务很有用。Nmap 以新颖的方式使用原始 IP 数据包来确定网络上可用的主机、这些主机提供的服务(应用程序名称和版本)、它们运行的操作系统(和操作系统版本)、数据包过滤器/防火墙的类型正在使用,以及许多其他特性。它旨在快速扫描大型网络,但对单个主机也能正常工作。Nmap 可在所有主要计算机操作系统上运行,官方二进制包可用于 Linux、Windows 和 Mac OS X。除了经典的命令行 Nmap 可执行文件外,Zenmap),一个灵活的数据传输、重定向和调试工具(Ncat),一个用于比较扫描结果的实用程序(Ndiff),以及一个数据包生成和响应分析工具(Nping)。
Nmap常用命令
ps:以kali中的nmap进行演示
直接输入nmap命令,nmap会返回使用说明
nmap -O +ip地址 (判断该主机的操作系统)
nmap -sS +ip地址 (不在服务器上留下连接痕迹,采用SYN半开扫描)
其他常用命令:
nmap -sT +ip地址 (使用tcp建立连接方式扫描)
nmap -sU +ip地址 (使用udp方式扫描)
nmap -Pn +ip地址 (目标机禁用ping,绕过ping扫描)
主机发现
nmap -sP +网段 (进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试)
nmap -sL +网段 (仅列出指定网络上的每台主机,不发送任何报文到目标主机)
端口扫描
Nmap 通过探测将端口划分为6个状态:
open:端口是开放的
closed:端口是关闭的
filtered:端口被 Firewall/IDS/IPS 屏蔽,无法确定其状态
unfiltered:端口没有被屏蔽,但是否开放需要进一步确定
open|filtered:端口是开放的或被屏蔽
closed|filtered:端口是关闭的或被屏蔽
PORT:显示端口号和对应的协议
STSTE:显示端口状态
SERVICE:显示该端口所对应的服务
示例:
nmap -p +端口号 +ip地址(扫描对应主机的对应端口)
nmap -p + 端口号-端口号 +ip地址(扫描对应主机的范围内各端口)