Nmap使用

简介

Nmap是一个免费开放的网络扫描和嗅探工具包,也叫网络映射器(Network Mapper)。Nmap工具可以用来扫描电脑上开放的端口,确定哪些服务运行在哪些端口,并且推断出计算机运行的操作系统。通过使用该工具,可以评估网络系统安全。所以,Nmap是大部分用户所必要的工具之一。

-sn 断目标是否为活跃主机,不显示端口信息, 减少扫描时间

例如对 testfire.net 进行扫描
nmap testfire.net
扫描完成后,Nmap默认显示如下信息。
在这里插入图片描述
加了-sn参数后
在这里插入图片描述
大大减少扫描时间

一、通过ARP协议进行主机发现

1、-PR——向目标IP发送ARP包

优点:准确度高,任何处于同一网段的设备都无法防御(除非不遵守ARP协议,那也无法通信了)
nmap -PR testfire.net
在这里插入图片描述
在这里插入图片描述

二、通过ICMP协议进行主机发现

1、-PE——向目标IP发送ICMP echo请求的数据包

在这里插入图片描述
在这里插入图片描述

2、 -PP——向目标IP发送ICMP时间戳请求

在这里插入图片描述
在这里插入图片描述

3、-PM——通过ICMP地址掩码请求和应答进行主机发现

在这里插入图片描述在这里插入图片描述

三、通过TCP协议进行主机发现

1、TCP SYN扫描

命令语法:nmap -PS [端口号,端口号,…端口号] [Target IP ]
在这里插入图片描述
在这里插入图片描述

注:TCP扫描是Nmap扫描技术中最强大的技术之一,很多服务器会屏蔽掉ICMP echo 请求数据包,但是任何服务器都会响应SYN数据包!例:一个Web服务器的安全机制不可能拒绝发往80端口的SYN数据包。
2、TCP ACK扫描

命令语法:nmap -PA [端口号,端口号,…端口号] [Target IP ]
在这里插入图片描述

注:这种类型的扫描很少成功,容易被安全机制过滤掉,从而给出非活跃主机信息

四、通过UDP协议进行主机发现

由于UDP协议是面向非连接的,使得UDP扫描可靠性不高。
当一个UDP端口接收到一个UDP数据包时,如果是关闭的,就会发回一个ICMP端口不可达数据包;如果是开放的,就会忽略这个数据包,将之丢弃不返回任何信息。
缺点:扫描真伪难辨,因为当发出一个UDP数据包而没有收到任何应答时,可能端口是开放的,也可能是传输过程中被丢弃。
命令语法:nmap -PU [端口号,端口号,…端口号] [Target IP ]
在这里插入图片描述
默认扫描80端口,所以不返回信息,导致nmap扫描结果为非活跃主机(Host seems down)
可指定不常用端口或值较大的端口进行扫描,如下指定9527端口,nmap扫描结果为 Host is up
在这里插入图片描述

五、通过SCTP协议进行主机发现

在SCTP中,客户端使用一个INIT报文发起连接,服务端使用一个INIT-ACK报文进行应答,包括cookie。客户端使用一个cookie-echo报文进行响应,其中包含了服务器所发送的cookie。服务器要为这个连接分配资源,并通过向客户端发送一个COOKIE-ACK报文对其进行响应。

-PY——向目标主机发送一个SCTP INIT数据包

在这里插入图片描述
扫描结果为非活跃主机,显然扫描结果不正确,主要是目标主机不支持SCTP协议,使用此协议的主机并不多,记住有这种方法即可

六、Nmap中端口状态的定义

  • open:表示该端口有应用程序接收TCP或UDP报文
  • closed:端口已被关闭
  • filtered:目标主机已经把数据包过滤,导致nmap无法确定端口是否开放。这些设备可能是路由器、防火墙、安全软件。
  • unfiltered:表明端口是可以访问的,nmap无法判断是否开放。通常进行ACK扫描才会出现此状态。
  • open | filtered:无法确定端口是开放是被过滤了
  • closed | filtered:无法确定端口是关闭还是被过滤了,使用idle扫描时才会出现的状态

七、端口扫描

1、SYN扫描——最流行的一种扫描方式

优点:

  • 扫描速度快,一秒钟可以扫描上千个端口
  • 不容易被网络中的安全设备发现

扫描原理
首先Nmap向目标主机发送请求连接的SYN数据包,目标主机接收到SYN数据包后会返回一个SYN/ACK应答,Nmap收到SYN/ACK后发送RST包请求断开连接,而不是ACK进行应答。所以没有完成三次握手,无法建立连接,不会被记录到系统日志中,因此不会在目标主机留下扫描痕迹。

nmap -sS [ target Ip]

在这里插入图片描述
在这里插入图片描述

2、Connect扫描
nmap -sT [ target ip ]

与SYN扫描类似,只是完成了TCP的三次握手。
在这里插入图片描述

3、UDP扫描
nmap -sU [ target ip ]

在这里插入图片描述

4、TCP FIN 扫描

向目标主机发送FIN数据包,对于所有关闭的端口,目标系统返回RST标志

nmap -sF [ target ip ]

在这里插入图片描述

八、指定扫描的端口

1、扫描常见的100个端口
nmap -F [ target ip ]

在这里插入图片描述

2、指定某个端口
nmap -p [ target ip ]

在这里插入图片描述

3、使用名字指定扫描端口
nmap  -p [port name] [target ip]

在这里插入图片描述

4、使用协议指定扫描端口
nmap  -sU -sT -p U:[UDP port],T:[TCP port] [target ip]

对 testfire.net 的25端口进行UDP扫描,80端口进行TCP扫描
在这里插入图片描述

5、扫描所有端口
nmap  -p "*" [target ip]

【这个扫描方法消耗很大资源,连着WiFi扫的,直接断网,所以自己脑补扫描截图, 慎用】

6、扫描常用端口
nmap  --top-ports [number] [target] 

在这里插入图片描述
此博客仅是本人学习Nmap的笔记,大佬勿喷!!!
推荐书籍《诸神之眼——Nmap网络安全审计技术揭秘》
欢迎交流WX:YX_NiMing

在Kali Linux的命令行中,可以直接使用nmap命令进行扫描操作。首先,打开一个终端窗口,然后输入nmap命令并按下回车键。这将显示nmap的版本信息,以证明nmap已经可用。 除了在命令行中直接使用nmap命令外,还可以利用Kali Linux中Metasploit Framework(msf)内置的nmap模块进行扫描操作。使用msf内的nmap命令可以通过指定-sI参数对目标进行扫描。具体命令格式如下: nmap -PN -sI 傀儡机IP 目标IP 此外,nmap还有其他一些常用的扫描参数。例如,可以使用以下命令进行不同类型的扫描: - 使用Fin扫描:nmap 127.0.0.1 -p 80 -sF - 使用Null扫描(所有flags都为0的TCP包):nmap 127.0.0.1 -p 80 -sN - 使用Xmas扫描(flags的FIN、URG、PUSH都为1的包):nmap 127.0.0.1 -p 80 -sX 这些是一些常用的Kali Linux中nmap使用教程和命令示例。通过这些命令和参数,你可以对目标进行扫描并获取相关信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Nmap使用教程图文教程(超详细)](https://blog.csdn.net/m0_60571990/article/details/128057684)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [nmap在kali的使用方法和常见命令(入门)](https://blog.csdn.net/Gjqhs/article/details/121957155)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值