Nmap是专业人士广泛使用的一款功能全面的端口扫描工具,它已经是渗透人员必备的工具。
主要功能
- 端口扫描
- 主机探测
- 服务/版本检测
- 操作系统检测
- 网络路由跟踪
- Nmap脚本引擎
基本用法扫描端口号
终端输入nmap 192.168.52.133(目标IP)
显示如下
root@kali:~# nmap 192.168.52.136
Starting Nmap 7.80 ( https://nmap.org ) at 2019-12-04 15:24 CST
Nmap scan report for 192.168.52.136
Host is up (0.0022s latency).
Not shown: 977 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
53/tcp open domain
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
512/tcp open exec
513/tcp open login
514/tcp open shell
1099/tcp open rmiregistry
1524/tcp open ingreslock
2049/tcp open nfs
2121/tcp open ccproxy-ftp
3306/tcp open mysql
5432/tcp open postgresql
5900/tcp open vnc
6000/tcp open X11
6667/tcp open irc
8009/tcp open ajp13
8180/tcp open unknown
MAC Address: 00:0C:29:E5:38:A2 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 13.12 seconds
上述操作为扫描IP:192.168.52.136的端口 并返回了开放的端口号及其功能
Nmap可以识别6种端口状态
- 开放 :端口响应了我们发送的请求数据包
- 关闭 :可以访问相关端口 但该端口上没有应用程序
- 过滤 :对方包过滤器将我们发送的探测包过滤掉了
- 未过滤 :可以访问到指定端口,但是不能确定其处于开放状态
- 打开或过滤 :介于1,3之间
- 关闭或过滤 :介于2,3之间
扫描指定目标
我们使用tcpdump程序监控Nmap发送的数据包
打开一个终端输入tcpdump -nnX tcp and host 192.168.52.135
输入的IP为运行Nmap程序的主机IP
新建一个终端输入nmap 192.168.52.0/24
左边为监控到的数据包 右边为扫描到的数据
TCP扫描选项
上述选项可在扫描时添加 右边为在命令里添加的参数 根据需求添加
UDP扫描选项
-sU
由于UDP扫描最大的问题是性能问题 解决方法有
- 并发扫描
- 优先扫描常用端口
- 防火墙后面扫描
- 启用–host-timeout选项跳过相应慢的主机
目标端口选项
nmap -sU 192.168.52.136 -p 53,161
返回以下信息
Starting Nmap 7.80 ( https://nmap.org ) at 2019-12-04 15:56 CST
Nmap scan report for 192.168.52.136
Host is up (0.00039s latency).
PORT STATE SERVICE
53/udp open domain
161/udp closed snmp
MAC Address: 00:0C:29:E5:38:A2 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 13.05 seconds
输出选项
使用-oX选项可以将返回的数据用XML文件的方式显示出来
由于XML不直观 经常将其转换为HTML文件
xsltproc 文件名.xml -o 文件名.html
强力检测选项 -A
强力检测下会进行 服务版本识别 ,操作系统识别,脚本扫描,traceroute。等功能。
Nmap基本使用就如此 有更详细的使用请另外查询资料。后续我会补充更多的功能。
本人参考kali linux一书有错误请指正谢谢