一、Nmap简介
Nmap是Network Mapper的简称。Nmap是一款免费、开源的网络发现和侦察工具。Nmap可以扫描网络中的处于活动状态的主机、开放端口、操作系统版本和服务检测以及执行隐匿方式的信息扫描。
二、Nmap扫描ip
1、扫描单台主机
nmap命令加ip地址/域名,可用于扫描单个主机,而无需传递任何参数。语法如下所示:
nmap 169.254.219.183
2、扫描多台主机
nmap 192.168.43.137 192.168.43.166 192.168.43.177
可以不输入完整的IP地址,可以使用逗号分隔结尾,如下所示
nmap 192.168.43.137,166,177
另外,可以扫描指定范围的ip地址。例如,下面的命令将主机从192.168.43.100到192.168.43.200
nmap 192.168.43.100-200
3、扫描一个子网
nmap 192.168.43.*
nmap 192.168.43.0/24
如需要优化扫描速度,仅发现子网中的活动主机,不去扫描端口信息,请使用-sn选项,如下所示:
nmap -sn 192.168.43.*
4、使用-v选项扫描详细信息
nmap -v 192.168.43.180
Starting Nmap 7.93 ( https://nmap.org ) at 2023-09-19 05:02 EDT
Initiating Parallel DNS resolution of 1 host. at 05:02
Completed Parallel DNS resolution of 1 host. at 05:02, 0.01s elapsed
Initiating SYN Stealth Scan at 05:02
Scanning 172.18.66.56 [1000 ports]
Discovered open port 22/tcp on 172.18.66.56
Completed SYN Stealth Scan at 05:02, 0.06s elapsed (1000 total ports)
Nmap scan report for 172.18.66.56
Host is up (0.0000070s latency).
Not shown: 999 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.14 seconds
Raw packets sent: 1000 (44.000KB) | Rcvd: 2001 (84.044KB)
5、扫描文件中包含的主机
可以把ip地址或域名放在文本文件里面,然后使用-iL选项将该文件作为参数传递
nmap -iL list.txt
三、启用OS扫描
Nmap还可以扫描目标主机的操作系统版本。对于OS检测使用-O选项。下面操作,会扫描192.168.43.166和180两台主机是什么系统。
nmap -O 172.18.66.56,229
四、端口扫描
nmap工具基本任务之一是扫描主机上的端口。使用-p选项后跟端口号指定要扫描的端口,如下所示:
1、单个端口扫描
nmap -p 80 192.168.43.166
2、多个端口扫描
可以使用逗号分隔多个端口,以扫描多个端口,如下所示:
nmap -p 25,80,110 192.168.0.12
3、按端口范围扫描
也可以使用下面方式扫描指定范围的端口和指定范围的ip地址
nmap -p 80-443 192.168.43.*
4、全端口扫描特殊用法
nmap -p- 192.168.43.*
nmap -p 1-65535 192.168.43.*
五、特殊扫描
1、TCP扫描 -sT
nmap -sT 192.168.43.180
2、UDP扫描 -sU
nmap -sU 192.168.43.180
3、隐蔽扫描-sS
代表"TCP SYN 扫描,由于不建立完整的连接,TCP SYN 扫描通常更快,可以更快地扫描大量主机和端口
nmap -sS 192.168.43.180
4、扫描对外开发的协议-sO
nmap -sO 114.114.114.114
5、扫描开放端口的软件版本信息-sV
nmap -sV 192.168.43.166
6、使用默认脚本扫描-sC
nmap -sC 192.168.43.166
7、不使用ping进行扫描
nmap -192.168.43.166 -Pn