nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。
1.场景
虚拟机:vmware
攻击主机:kali
IP:192.168.239.142
靶机:Windows10
IP:192.168.239.1
2.nmap参数
–traceroute | 扫描主机端口并跟踪路由 |
---|---|
-p | 扫描指定端口和端口范围 |
-sP | 对目标主机进行ping扫描 |
-A | 使用高级功能进行扫描 |
-sV | 探测开放的端口以确定服务/版本信息 |
-sC | 相当于加入了–script=default参数 |
-sU | 发送udp |
-Pn | 将所有主机视为在线 – 跳过主机发现 |
-sT | TCP全连接,保证扫描准确 |
–min-rate | 每秒最少发多少包,用于提高扫描速度 |
–max-rate | 每秒最多发多少包,用于降低扫描速度,绕过防火墙检测 |
3.实验
- -p端口扫描
批量端口扫描
指定端口扫描
-
-sP存活扫描
-
-A 使用高级功能进行扫描
-
-sV 探测开放的端口以确定服务/版本信息
-
-sC 相当于加入了–script=default参数
-
–min-rate 每秒最少发多少包,用于提高扫描速度。
添加—min-rate参数,10.75秒直接扫完。上图没加用时25.43秒。
4.综合运用
在实际进行扫描时,如果不确定对方开放端口需要进行全端口扫描时。应该先快速扫描获取目标端口号。然后取出这些端口号作为指定端口号加-sC -sV进行详细的扫描。以下是一个结合上面两方面的命令,
nmap -p `nmap -p- --min-rate=10000 -T4 192.168.239.1 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//` -s