【Nmap】常用功能合集+原理

官网:https://nmap.org/

基本功能

主机发现、端口扫描、应用程序版本信息侦测、操作系统侦测。
附加功能:规避 FW/IDS 、NSE 脚本定制。

常用命令选项

主机发现

-A          #进攻型扫描 (显示更详细)
-iL          #从文件中列表中获取 IP 地址
-vv          #简单进行扫描,并对返回的结果详细描述输出。扫描的过程比较长。

-sn          #Ping扫描,禁用端口扫描(发送 SYN包和 Ping 包,只进行主机发现)
-sU          #UDP 扫描
-sS / sT / sA        #使用 TCP SYN / TCP连接 / ACK 技术扫描

示例:

nmap 192.168.66.138 
nmap -sn 192.168.10.0/24        //扫描指定网段
nmap -vv 192.168.10.1 192.168.10.5 192.1686.10.82        //指定几个目标单独扫描
nmap -sU 192.168.10.2-100

端口发现

端口的六个状态:
open:端口是开放的(应用程序在该端口可以接收 TCP 连接或者 UDP 报文)
closed:端口是关闭的(关闭的端口对于nmap也是可访问的,它接收nmap探测报文并作出响应。但没有应用程序在其上监听)
filtered:端口被防火墙或IDS / IPS等过滤,无法确定其状态。
unfiltered:端口没有被屏蔽,但还不确定是否开放。只有用于映射防火墙规则集的 ACK 扫描才会把端口分类到这个状态。
open | filtered:无法确定端口是开放的或被过滤。开放的端口不响应就是一个例子;没有响应也可能意味着报文过滤器丢弃了探测报文或者它引发的任何反应;UDP,IP协议,FIN, Null 等扫描会引起。
closed | filtered:无法确定端口是关闭的或被过滤。

-p          #指定端口扫描

-sF / -sN / -sX #常用于Linux目标主机的隐蔽扫描
原理:
Nmap 向目标端口发送 TCP FIN(-sF)/ NULL(-sN)/ FIN+PSH+URG(-sX)报文,对于Linux系统的目标机,如果目标机未响应,则说明目标端口处于开放状态或被防火墙屏蔽;如果目标机返回TCP RST+ACK报文,则说明目标端口处于关闭状态。

示例:

nmap 192.168.10.66 -p 443
nmap -p T:139 U:53 -sS 192.168.10.66        //T:tcp端口,U:udp端口
nmap -p 100-2000 192.168.66.138

规避 FW / IDS 技术

在这里插入图片描述

-T                  #控制扫描的时间速度(0-5)

模板名称及作用:
paranoid(0):耗时最长,用于规避IDS系统。(adj.多疑的,妄想的;n.偏执狂)
sneaky(1):用于规避IDS。(adj.鬼鬼祟祟的,暗中的)
polite(2):该模式降低了扫描的速度,以使用更少的带宽和目标主机资源。(adj.有礼貌的,客气的;有教养的)
normal(3):默认的扫描速度模式,没有做任何优化。
aggressive(4):假设用户具有合适的网络和设备,就进行加速扫描。(adj.好斗的,挑衅的;积极进取的;强烈的)
insane(5):假设拥有特别快的网络或者愿意牺牲准确性而获得速度。(adj.疯癫的,精神失常的)

-D                  #源IP地址(使用任意假IP) 欺骗
-sI                  #选个同网段空闲的IP做源IP去扫描
–spoof-mac                  #源mac欺骗

示例:

nmap -A -T 4 192.168.10.249
nmap -D RND:3 192.168.10.249    	//随机三个假IP地址去扫描目标IP地址
nmap -sI 192.168.10.22 192.168.10.249
nmap --spoof-mac 0  192.168.10.249    	//随机源MAC去扫描
nmap --spoof-mac aa:bb:cc:dd:ff:ee 192.168.10.249    	//指定源MAC扫描

应用程序与版本信息侦测

原理即依靠 /usr/share/nmap/nmap-service-probes 这个文件,达到目标:识别目标主机开放的TCP/UDP端口上运行的服务及版本信息。

-sV                     #版本探测
–allports             #全端口版本探测
–version-intensity             #设置版本扫描强度
–version-light                   #轻量级扫描(相当于–version-intensity2)
–version-all                      #重量级扫描(相当于–version-intensity9)
–version-trace                  #跟踪版本扫描活动

示例:

nmap -sV -T 5 192.168.12.156
nmap -sV  --version-all -T 5  192.168.12.156
nmap --version-light -sV -T 5 192.168.12.156
nmap -sV --version-trace 192.168.12.100

扫描结果输出(可以作为其他工具的输入)

三种格式的输出:
normal(-oN) ;XML(-oX) ;grep(-oG)

示例:

nmap -oN /var/a.txt  192.168.10.249   	//扫描结果保存在a.txt

其他功能

–host-timeout [time]                                    #设置目标主机扫描超时的时间
–min-rate / --max-rate [number]                  #发送数据包的速度不小于(–min) / 不超过(–max) 每秒 个
–packet-trace                                             #追踪数据包
–system-dns                                               #指定使用系统的DNS服务器
–traceroute                                                 #追踪每个路由节点

主机探测原理

与 ping 命令类似,发送探测包到目标主机,如果收到回复,则说明目标主机是开启的

同网段:采用arp报文
跨网段:依次发送1.icmp-echo回显 ;2.TCP SYN 包到443端口 ;3.TCP ack 80 ;4.ICMP时间撮

-sS扫描原理:

在这里插入图片描述

-sT扫描原理:

在这里插入图片描述

-sA扫描原理:

在这里插入图片描述

  • 16
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值