目录
一、 下载地址
二、功能概括
三、基本的语法规则
四、功能分步详解
1. 主机发现
2. 端口发现
3、应用程序与版本信息侦测
4、操作系统侦测
5、规避FW/ID技术
一、 下载地址
nmap官网地址
二、功能概括
基本功能:主机发现、端口扫描、应用程序的版本和信息侦察、操作系统侦擦
其他功能:规避防火墙和入侵检测系统(即FW和IDS)、NSE定制脚本扫描。
三、基本的语法规则
nmap [空格] [选项|多选项|协议] [扫描目标说明]
如:nmap -A -T 4 192.168.10.249
nmap -p 1-1024 192.168.10.249
四、功能分步详解
1. 主机发现
主要有这几种方式来探测主机的存活情况:
有10多种的主机探测方式:ICMP ECHO \ICMP TIMESTAMP\ICMP NETMASK\TCP SYN\ TCP ACK \SCTP INIT /COKIE-ECHO等等。
主要参数:
-sP | 同一网段采用arp报文;不同网段依次发送imcp-echo、tcp-syn、tcp-ack、tcmp-timetamp | nmap -sP 192.158.1.1 --packet-trace 加入--packet-trace可以显示报文的交互过程 |
-sn | 只进行主机发现,不进行端口扫描 | nmap -sn 192.157.1.0/24 |
-Pn | 将特定的主机视作开启的,跳过主机发现过程 | nmap -Pn +IP |
-PE/PP/PM | 使用icmp-echo,timestamp,netmask请求包发现主机 | nmap -PE +IP |
-PS/PA/PU/PY | 使用tcp syn/ack或stcp init/echo方式进行发现 | nmap -PS +IP |
-PO | 使用IP协议探测目标主机是否开启 | nmap -PO +IP |
--traceroute | 追踪到每一个路由节点 | nmap -sn www.baidu.com -- traceroute |
--packet-trace | 追踪数据包,显示报文的交互信息 | nmap -sn www.baidu.com --packet-trace |
演示:(kali主机:192.168.43.103、kali自带的wireshark抓包)
nmap -sn 192.168.43.0/24 ##同网段
nmap -sP www.baidu.com --packet-trace
Starting Nmap 7.92 ( https://nmap.org ) at 2022-03-12 17:43 CST
SENT (0.1396s) ICMP [192.168.43.103 > 110.242.68.4 Echo request (type=8/code=0) id=61603 seq=0] IP [ttl=52 id=35511 iplen=28 ]
SENT (0.1398s) TCP 192.168.43.103:61561 > 110.242.68.4:443 S ttl=42 id=38911 iplen=44 seq=2218414566 win=1024 <mss 1460>
SENT (0.1399s) TCP 192.168.43.103:61561 > 110.242.68.4:80 A ttl=42 id=15720 iplen=40 seq=0 win=1024
SENT (0.1400s) ICMP [192.168.43.103 > 110.242.68.4 Timestamp request (type=13/code=0) id=56812 seq=0 orig=0 recv=0 trans=0] IP [ttl=48 id=25323 iplen=40 ]
个人感觉-PE会更加的详细。
2. 端口发现
端口的几种状态:
主要的参数:
-sT/-sS / -sA | 指定为TCP connect / TCP SYN /TCP ACK扫描 |
-sN / -sF/ -sX | 隐蔽扫描:TCP NULL/TCP FIN/TCP Xmas 扫描 |
-sU /-sU | 指定为UDP的端口扫描/指定为TCP端口扫描 |
-sW /-sM | TCP 窗口/TCP Maimom 扫描 |
-p /--exclude-port | 指定端口和端口范围扫描/排除指定端口不扫描 |
演示:
(U:UDP T:TCP -p:指定端口 sS 、sA、sT的原理如下:)
说明: -sA 扫描单口是否被 防火墙 屏蔽。
隐蔽扫描(-sF/-sN/-sX)--用于扫描liunx
Nmap向目标端口发送TCP FIN(-sF)/ NULL(-sN)/ FIN+PSH+URG(-sX)报文,对于Linux系统的目标机,如果目标机未响应,则说明目标端口处于开放状态或被防火墙屏蔽;如果目标机返回TCP RST+ACK报文,则说明目标端口处于关闭状态。对于Windows系统的目标机,无论目标端口处于开放还是关闭状态,目标机都会返回TCP RST+ACK报文。➢因此,隐蔽扫描方式适合于Linux系统的目标机端口扫描。
3、应用程序与版本信息侦测---依靠/usr/share/nmap/nmap-service-probes这个文件
目标:识别目标主机开放的TCP/UDP端口上运行的服务及版本信息
-sV 版本探测
--allports全端口版本探测
--version-intensity设置版本扫描强度
--version-light轻量级扫描(相当于--version-intensity2)
--version-all重量级扫描(相当于--version-intensity9)
--version-trace跟踪版本扫描活动
4、操作系统侦测
(1)TTL --不同系统的ttl的值不同。
Windows=128 digital=60 liunx=64 cisco/huawei/h3c=255
(2) DF 位
(3)Windows size TCP的滑动窗口大小
(4)ACK序列
(5)FIN包响应
(6)主机使用的端口号: 例如:widows 的137、139
-O 执行操作系统侦测
-A 执行攻击性检测!!
--osscan-limit 对指定的目标进行操作系统侦测
5、规避FW/ID技术
-T (0-5) :控制扫描的速断(0=最慢、5=最快)。 nmap -T 3 192.168.10.249
-D : 源IP地址(使用任意假IP) 欺骗。 nmap -D RND:3 192.168.10.249 随机三个假IP去扫描
-sI: 选个同网段空闲的IP做源IP去扫描--源IP欺骗。 nmap -sI 192.168.10.22 192.168.10.249
--source-port 源端口欺骗
--spoof-mac 源mac欺骗 nmap --spoof-mac 0 192.168.10.249 0表示使用随机MAC地址去扫描
nmap --spoof-mac aa:bb:cc:dd:ff:ee 192.168.10.249 指定MAC扫描
nmap调用NSE脚本应用---脚本存放目录:/usr/share/nmap/scripts/ ---参数:--script
--script vuln 扫描是否存在常规漏洞 nmap --script vuln 192.168.10.249
--script brute对数据库、smb、snmp简单的暴力破解 nmap --script brute 192.168.10.249
扫描结果的输出---可以做为其他工具(例如:metasploit的输入)
三种格式的输出:normal(选项-oN) 、XML(选项-oX) 、grep(选项-oG) -oA三种格式一次保存
nmap -oN /var/a.txt 192.168.10.249 输出结果保存在a.txt这个指定的文件中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)