NMAP扫描器的使用

news2024/12/26 23:50:31

NMAP

一 概述

nmap是一个网络探测和安全扫描工具,系统管理者和个人可以使用这个软件扫描大型的网络,获取 哪台主机正在运行以及提供什么服务等信息。

nmap可用于

  • 检测活在网络上的主机(主机发现)。

  • 检测主机上开放的端口(端口发现)。

  • 检测到相应的端口(服务发现)的软件和版本

  • 检测操作系统,硬件地址,以及软件版本

  • 检测脆弱性的漏洞(Nmap的脚本)

总结:NMAP用于渗透测试中的信息收集

二 NMAP扫描案例

1 主机探测

image-20240104150351399

2 扫描主机开放的端口

在nmap后面直接跟主机IP (默认扫描1000个常用端口)

nmap 192.172.10.25

3 扫描指定端口

nmap 192.172.10.25 -p 80
nmap 192.172.10.25 -p 80,3306
nmap 192.172.10.25 -p 1-65535

4 指定扫描方式

TCP扫描 -sT
nmap -sT 192.172.10.23

image-20240104154003411

SYN半连接扫描 -sS
nmap -sS 192.172.10.23

image-20240104154028256

image-20240104175615298

隐秘扫描

只适用于Linux

nmap -sF 192.172.10.23  # scan FIN
nmap -sN 192.172.10.23  # scan None协议
nmap -sX 192.172.10.23  # xmax tree包 FIN URG PSH三个协议

image-20240104154240359

服务识别扫描
nmap -sV 192.172.10.23 

image-20240104155430368

本质上-sV使用的就是telnet,来获取的指纹信息。

操作系统版本扫描
nmap  192.172.10.23 -O

image-20240104155913557

三 NMAP端口状态解析

端口扫描是Nmap最基本最核心的功能,用于确定目标主机的TCP/UDP端口的开放情况。

open: 开发的端口
closed :关闭的端口,对于nmap也是可访问的,它接收 nmap探测报文并作出响应。但没有应用程序在其上监听。
filtered : 被防火墙过滤的端口,由于包过滤阻止探测报文到达端口,nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由规则或者主机上的软件防火墙。
unfiltered :未被过滤状态意味着端口可访问,但是nmap无法确定它是开放还是关闭。只有用于映射防火墙规则集的ACK扫描才会把端口分类到这个状态。
open | filtered :无法确定端口是开放还是被过滤,开放的端口不响应就是- 个例子。没有响应也可能意味着报文过滤器丢弃了探测报文或者它引发的任何反应。UDP, IP协议,FIN, Null等扫描会引起。
closed | filtered: (关闭或者被过滤的)无法确定端口是关闭的还是被过滤的。

四 常用内置脚本

可以使用内置脚本进行功能扩展,命令语法为: nmap --script=brute 192.168.80.149

auth: 负责处理鉴权证书(绕开鉴权)的脚本  
broadcast: 在局域网内探查更多服务开启状况,如dhcp/dns/sqlserver等服务  
brute: 提供暴力破解方式,针对常见的应用如http/snmp等  
default: 使用-sC或-A选项扫描时候默认的脚本,提供基本脚本扫描能力  
discovery: 对网络进行更多的信息,如SMB枚举、SNMP查询等  
dos: 用于进行拒绝服务攻击  
exploit: 利用已知的漏洞入侵系统  
external: 利用第三方的数据库或资源,例如进行whois解析  
fuzzer: 模糊测试的脚本,发送异常的包到目标机,探测出潜在漏洞 
intrusive: 入侵性的脚本,此类脚本可能引发对方的IDS/IPS的记录或屏蔽  
malware: 探测目标机是否感染了病毒、开启了后门等信息  
safe: 此类与intrusive相反,属于安全性脚本  
version: 负责增强服务与版本扫描(Version Detection)功能的脚本  
vuln: 负责检查目标机是否有常见的漏洞(Vulnerability),如是否有MS08_067

所有扫描脚本,可以查看Kali下的目录:/usr/share/nmap/scripts,具体各个脚本的用法及参数,参考:NSEDoc Reference Portal — Nmap Scripting Engine documentation

脚本实战

auth 负责处理鉴权证书(绕开鉴权)的脚本

┌──(root㉿kali)-[~]
└─# nmap --script=auth  192.172.10.25 -p22
Starting Nmap 7.94 ( https://nmap.org ) at 2024-01-04 16:48 CST
Nmap scan report for 192.172.10.25
Host is up (0.00044s latency).

PORT   STATE SERVICE
22/tcp open  ssh
| ssh-publickey-acceptance: 
|_  Accepted Public Keys: No public keys accepted
| ssh-auth-methods: 
|   Supported authentication methods: 
|     publickey
|     gssapi-keyex
|     gssapi-with-mic
|_    password
MAC Address: 00:0C:29:11:1D:82 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 8.37 seconds

brute爆破

指定爆破脚本或爆破文件

nmap --script ssh-brute  192.172.10.25 -p22

指定字典爆破

map -p3306 --script=brute --script-args 'userdb=./usertest.txt,passdb=./password-3000.txt' 192.168.112.188

vuln扫描常见漏洞

nmap --script=vuln  192.172.10.25

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2039645.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

cisp-pte考试复盘

考试客户端下载-->点击进入考试>输入密码->进去可以看见一个qax的登录框【监考员会告知账户密码】->进入考试页面 里面的操作题,点击开始答题,能看见一个题有一个攻击机,这时我们需要点击鼠标左键,看见一个控制台,点击控制台才能进入答题【双击是没有用的】 …

C/C++开发,opencv内置背景减除算法与运动检测

目录 一、c opencv 背景减除算法内置算法 1.1 MOG2算法 1.2 KNN算法 二、完整案例实现 2.1 程序代码 2.2 程序编译及输出 一、c opencv 背景减除算法内置算法 背景减除算法的目标是将视频帧中的背景与前景(通常是移动的对象)分离。OpenCV提供MOG2&…

数据结构-排序的概念、应用及其算法实现1(直接插入排序、希尔排序、选择排序、堆排序、冒泡排序)

本篇文章主要讲解直接插入排序、希尔排序、选择排序、堆排序、冒泡排序算法实现以及时间复杂度,稳定性分析。将在接下来的文章讲解快速排序、归并排序和计数排序。 本文全部代码在文章最后 目录 一、常见的排序算法 a.排序实现的接口 1.1插入排序 1.1.1基本思想…

【C++】BFS解决边权唯一的最短路径问题

目录 介绍 迷宫中离入口最近的出口 算法思路 代码实现 最小基因变化 算法思路 代码实现 单词接龙 算法思路 代码实现 为高尔夫比赛砍树 算法思路 代码实现 介绍 最短路问题是图论中非常经典的一种问题,其实就是通过代码找到两点之间的最优路径(往往是距离最短),最…

用MobaXterm,TightVNC和secure SSH实现两台windows电脑之间的连接和通信

今天给大家分享一个非常有趣的技术,那便是如何使用MobaXterm来实现两台电脑之间的通信。实验成功,保证能跑。 首先,给大家介绍我们今天最重要的工具:那便是MobaXterm(以下由ChatGPT生成): Moba…

C++初阶_2: inline内联函数 宏函数

C推出了inline关键字,其目的是为了替代C语言中的宏函数。 我们先来回顾宏函数: 宏函数 现有个需求:要求你写一个Add(x,y)的宏函数。 正确的写法有一种,错误的写法倒是五花八门,我们先来“见不贤而自省也。” // …

我怎么会这么依赖 GUI?

AWS CLI、.NET 和 Lambda 函数 欢迎来到雲闪世界。在 Windows 上使用 Visual Studio 和 AWS Explorer 绝对会让你变得懒惰。我的意思是,能够通过右键单击项目来构建和部署 Lambda 函数之类的东西真是太棒了,但有时最好了解幕后发生了什么。 尽管如此&am…

Java - 异常

异常处理: ①捕获异常 选中代码后ctrlAltt: try catch捕捉异常 ②抛出异常 加上throws 异常类型 自定义异常 Exception.java: package Exception;//自定义运行时异常 public class ExceptionTest {public static void main(String[] args) {//保存一个合法的年…

知识库管理软件购买指南:2024年十大选择

本篇文章介绍了以下工具:PingCode、Worktile、蓝湖、语雀、幕布、Guru、Helpjuice、Stack Overflow for Teams、KnowledgeOwl、eXo Platform。 在企业中,信息分散、难以获取是个常见的痛点。无论是新员工入职、团队协作,还是项目管理&#xf…

电脑高手必备!这款数据恢复神器你值得拥有

哎呀,现在我们天天在用的手机、电脑和各种移动设备都是有很多日常和工作中的重要数据,丢失重要的文件和数据的时候就很着急,所以我也很感同身受,为此困扰过我好几次,所以今天特地借此文章整理了常用的失易得数据恢复软…

Unity游戏开发002

Unity游戏开发002 目录 第一章:Hello,Unity!第二章:创建一个游戏体 本文目录 Unity游戏开发 Unity游戏开发002目录本文目录前言一、创建一个游戏体1. 编辑器语言设置2. 创建游戏对象的两种方法3. 快速复制和粘贴物体4. 注意事项…

/springmvc/xxx.html和/springmvc/xxx的区别

起因: 今天在访问webapp目录下的html文件时,突然报了500错误(如下图),让我检查视图解析器,我寻思我访问的是静态资源,不是直接交给servlet处理嘛?需要什么视图解析器?&a…

13.C基础_预处理

预处理语句就是以#开头的语句。这些语句类型如下: #include:包含头文件#define:宏定义#undef:取消宏定义#ifdef,#endif:成对使用,判断是否定义了某个宏 宏定义 宏定义的本质就是原样替换&…

【Material-UI】Floating Action Button (FAB) 详解:动画效果 (Animation)

文章目录 一、FAB 按钮的动画概述1. 默认动画效果2. 多屏幕横向切换时的动画 二、FAB 动画效果的实现1. 代码示例:跨标签页的 FAB 动画2. 代码解析3. 多个 FAB 的切换 三、动画效果的最佳实践四、总结 在现代网页设计中,动画不仅提升了用户界面的动态感&…

React+AntDesign做一个日历,展示节假日,节气,并且在某几个时间上添加活动备注

直接贴效果图😄 首先日历是用的AntDesign提供的Calendar组件,这个组件还是蛮强大的,可以自定义头部时间下拉;渲染每个时间段,或者重置时间段内容,玩的空间是很大的 直接贴代码,结尾最后我会将开发中遇到的问题贴出来解答一下 第一步:下载js-calendar-converter添加…

SpringBoot集成日志框架

SpringBoot集成日志框架 Java生态体系日志框架介绍 简介 在Java生态体系中,围绕着日志,有很多成熟的解决方案。关于日志输出,主要有两类工具。 一类是日志框架(Log4j、Logback),主要用来进行日志的输出的…

Unity 使用 NewtonSoft Json插件报错

JsonReaderException: Unexpected character encountered while parsing value: . Path , line 0, position 0. 通过断点发现,头有一串ZWNBSP,这个是BOM格式的JSON。在文件下看不到。 解决方法:改编码格式,Remove BOM.

Linux信号的概念信号的产生

前言 我们前面已经对进程已做了介绍!知道进程具有独立性,但在运行起来后可能会"放飞自我",即不受控制的执行,这就会导致系统崩溃等问题,非常不利于管理。因此OS需要一种机制来协调和控制进程的运行&#xf…

【C++】拓扑排序(BFS)

目录 拓扑排序介绍 有向无环图 如何解决这类问题 课程表 算法思路 代码实现 课程表2 算法思路 代码实现 火星词典 代码实现 拓扑排序介绍 有向无环图 入度:指向活动节点的箭头个数; 出度:从活动节点出去指向别的节点的箭头个数。…

交互式实时距离测量-单目测距-社交距离检测

使用说明 使用鼠标点击两个目标框要删除在距离计算过程中绘制的点,你可以使用鼠标右键点击。这会清除所有已绘制的点 使用 Ultralytics YOLOv8 进行距离计算 距离计算是在指定空间内测量两个物体之间间隙的基本概念。在 Ultralytics YOLOv8 的情况下,通…