提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
Nmap,也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包
其基本功能有三个,一是探测一组主机是否在线;其次是扫描 主机端口,嗅探所提供的网络服务;还可以推断主机所用的操作系统 。Nmap可用于扫描仅有两个节点的LAN,直至500个节点以上的网络。Nmap 还允许用户定制扫描技巧。通常,一个简单的使用ICMP协议的ping操作可以满足一般需求;也可以深入探测UDP或者TCP端口,直至主机所 使用的操作系统;还可以将所有探测结果记录到各种格式的日志中, 供进一步分析操作。
一、扫描类型
主机发现
-sL 仅仅是显示,扫描的IP数目,不会进行任何扫描
-sn ping扫描,即主机发现
-Pn 不检测主机存活
-n/-R 不对IP进行域名反向解析/为所有的IP都进行域名的反响解析
扫描技巧
-sS/sT/sA/sW/sM TCP SYN/TCP connect()/ACK/TCP窗口扫描/TCP Maimon扫描
-sU UDP扫描
-sN/sF/sX TCP Null,FIN,and Xmas扫描
-sO 使用IP protocol 扫描确定目标机支持的协议类型
指定端口和扫描顺序
-p 特定的端口 -p80,443 或者 -p1-65535
-p U:PORT 扫描udp的某个端口, -p U:53
-F 快速扫描模式,比默认的扫描端口还少
-r 不随机扫描端口,默认是随机扫描的
服务版本识别
-sV 开放版本探测,可以直接使用-A同时打开操作系统探测和版本探测
–version-light 打开轻量级模式,为–version-intensity 2的别名
–version-all 尝试所有探测,为–version-intensity 9的别名
–version-trace 显示出详细的版本侦测过程信息
脚本扫描
-sC 根据端口识别的服务,调用默认脚本
–script=”Lua scripts” 调用的脚本名
–script-args=n1=v1,[n2=v2] 调用的脚本传递的参数
–script-trace 显示所有发送和接收到的数据
–script-updatedb 更新脚本的数据库
–script-help=”Lua script” 显示指定脚本的帮助
OS识别
-O 启用操作系统检测,-A来同时启用操作系统检测和版本检测
–osscan-limit 针对指定的目标进行操作系统检测(至少需确知该主机分别有一个open和closed的端口)
–osscan-guess 推测操作系统检测结果,当Nmap无法确定所检测的操作系统时,会尽可能地提供最相近的匹配,Nmap默认进行这种匹配
防火墙/IDS躲避和哄骗
-f; --mtu value 指定使用分片、指定数据包的MTU.
-D decoy1,decoy2,ME 使用诱饵隐蔽扫描
-S IP-ADDRESS 源地址欺骗
-e interface 使用指定的接口
-g/ --source-port PROTNUM 使用指定源端口
二、端口状态类型
常见类型
01.nmap ip #扫描指定IP地址
02.nmap -sT/-sS/-sA #TCP connect/TCP SYN/TCP ACK扫描
03.nmap -sU #扫描UDP端口
04.nmap 192.168.1.0/24 #扫描内网整个网段
05.nmap -sV -O #应用程序版本和操作系统侦测
06.nmap ip -p80 #指定扫描的目标端口
07.nmap -p T:1-65535,U:1-65535 -sS -sU #全端口扫描(很慢)
08.nmap -sP/-sn #Ping扫描
09.nmap 192.168.1.11 192.168.1.12 #扫描多个主机
10.nmap -f #快速模式-扫描前100的端口
11.nmap 端口号 #扫描最常用的端口
12.nmap --version-intensity #设置版本扫描强度(0-9)
13.nmap -A #启动Os检测,版本检测,脚本扫描traceroute
14.nmap -h #帮助信息
15.nmap -Pn/P0 #扫描之前不需要用ping命令,有些防火墙禁止ping命令
16.nmap -6 #扫描ipv6地址
17.nmap --dns-server <serv1[,serv2]…> #指定DNS服务器
18.nmap --script vuln #利用脚本扫描服务器的常见漏洞
演示
默认方式nmap [靶机]
全面扫描:nmap -A -T 4 -V [靶机]
nmap -sV -O [靶机IP]
nmap -p T:1-65535,U:1-65535 -sS -sU [靶机IP]
idle扫描(需要指定僵尸机IP地址,并且目标主机的IPID是递增的)
idlescan匿名扫描。
nmap -sI 192.168.153.128 192.168.153.130
nmap -p 80 -sT 192.168.153.130
用Wiresshark抓一下包
对MySQL进行暴破解
nmap --script=mysql-brute
3306/tcp open mysql
| mysql-brute:
| Accounts
| root:root - Valid credentials
实验
总结
1.nmap命令多种多样,但一般渗透测试用的很常见的一些命令,只需记住这些就行了。
2.如果你想进阶,可是试试写一些脚本来检测。
3.本文系在网上和自己总结得出,稍显不足,还望谅解。