nmap命令是一款开放源代码的网络探测和安全审核工具,它的设计目标是快速地扫描大型网络。
常见使用场景
- 检测到网络中的所有主机
tenmao@ubuntu:~$ nmap -sP 192.168.1.0/24
Starting Nmap 7.80 ( https://nmap.org ) at 2022-07-29 15:09 UTC
Nmap scan report for _gateway (192.168.1.1)
Host is up (0.0027s latency).
Nmap scan report for 192.168.1.101
Host is up (0.0062s latency).
Nmap scan report for 192.168.1.102
Host is up (0.0019s latency).
Nmap scan report for 192.168.1.105
Host is up (0.0083s latency).
Nmap scan report for ubuntu (192.168.1.107)
Host is up (0.0011s latency).
Nmap done: 256 IP addresses (5 hosts up) scanned in 4.20 seconds
- 检测主机上开放的端口(端口发现或枚举)
# 扫描指定机器的指定端口,默认是1-1024
nmap -p1-3000 192.168.1.101
- 检测操作系统,硬件地址,以及软件版本
tenmao@ubuntu:~$ sudo nmap -sV 192.168.1.108
Starting Nmap 7.80 ( https://nmap.org ) at 2022-07-29 15:17 UTC
Nmap scan report for 192.168.1.108
Host is up (0.00093s latency).
Not shown: 999 filtered ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3 (Ubuntu Linux; protocol 2.0)
MAC Address: 00:1C:42:2B:37:70 (Parallels)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.92 seconds
其他常用选项
代码语言:javascript复制-O:激活操作探测;
-P0:值进行扫描,不ping主机;
-PT:是同TCP的ping;
-sV:探测服务版本信息;
-sP:ping扫描,仅发现目标主机是否存活;
-ps:发送同步(SYN)报文;
-PU:发送udp ping;
-PE:强制执行直接的ICMPping;
-PB:默认模式,可以使用ICMPping和TCPping;
-6:使用IPv6地址;
-v:得到更多选项信息;
-d:增加调试信息地输出;
-oN:以人们可阅读的格式输出;
-oX:以xml格式向指定文件输出信息;
-oM:以机器可阅读的格式输出;
-A:使用所有高级扫描选项;
--resume:继续上次执行完的扫描;
-P:指定要扫描的端口,可以是一个单独的端口,用逗号隔开多个端口,使用“-”表示端口范围;
-e:在多网络接口Linux系统中,指定扫描使用的网络接口;
-g:将指定的端口作为源端口进行扫描;
--ttl:指定发送的扫描报文的生存期;
--packet-trace:显示扫描过程中收发报文统计;
--scanflags:设置在扫描报文中的TCP标志。
--send-eth/--send-ip 使用原始以太网发送/构造指定IP发送
参考
- nmap
- nmap命令总结