Nmap安装和使用详解

news2024/11/25 2:27:52

Nmap安装和使用详解

  • Nmap概述
      • 功能概述
      • 运行方式
  • Nmap安装
  • 官方文档参考:
  • Nmap参数详解
      • 目标说明
      • 主机发现
      • 端口扫描
          • Nmap将目标主机端口分成6种状态:
          • Nmap产生结果是基于机器的响应报文,而这些主机可能是不可信任的,会产生一些迷惑或者误导Nmap的报文
      • 端口说明和扫描顺序
      • 服务与版本探测
          • 参数含义:
      • 脚本扫描
      • 操作系统探测
      • 时间和性能
      • 防火墙/IDS规避和欺骗
      • 输出选项
      • 使用示例
  • 常用扫描命令
      • 扫描ip地址或域名
          • nmap后面也可以带上多个ip地址或域名,用空格隔开
      • 扫描整个网段
      • 扫描文件
      • 只进行主机发现
      • 扫描特定端口
      • 输出扫描结果
      • 路由跟踪
      • 探测操作系统
      • TCP和UDP扫描
          • 扫描半开放TCP端口
          • 扫描UDP 服务端口
      • 版本扫描
      • 综合扫描
  • 图形化工具Zenmap使用
      • Kali自带nmap图形化工具zenmap
          • 启动zenmap可以看到如下界面
            • 点击扫描即可展示扫描过程和结果
          • 修改扫描参数

Nmap概述

Nmap被誉为"扫描器之王",Nmap是一个开源工具,提供跨平台(Windows、linux、mac os)

功能概述

  • 查看主机存活

  • 扫描目标主机开放端口

  • 识别目标主机操作系统

  • 查看目标主机服务的版本信息

  • 漏洞探测

运行方式

  • 命令行

  • 图形化工具Zenmap

Nmap安装

官网:https://nmap.org

Nmap支持Windows、linux、mac os三个平台,首先可以打开Nmap官方https://nmap.org选择最新版本点击下载按钮。

在这里插入图片描述

然后选择相应的平台下载即可

在这里插入图片描述

安装方式跟普通软件安装一样。如果是在Kali Linux中,Kali自带Nmap工具,无须再次下载和安装。
在这里插入图片描述

官方文档参考:

  • 中文版:https://nmap.org/man/zh/

  • 英文版:https://nmap.org/book/man.html

  • 法语版:https://nmap.org/man/fr/

  • 德语版:https://nmap.org/man/de/

  • 西班牙语版:https://nmap.org/man/es/

  • 意大利语版:https://nmap.org/man/it/

  • 俄语版:https://nmap.org/man/ru/

  • 印尼版:https://nmap.org/man/id/

  • 波兰语版:https://nmap.org/man/pl/

  • 等等,在这献上语言选择界面:https://nmap.org/docs.html

Nmap参数详解

Nmap功能非常强大,Nmap的格式如下

nmap[扫描类型…] [选项] [扫描目标说明]

可以配置的参数也很多,我们先来看一下Nmap的参数

首先在Kali中输入nmap即可查看Nmap所有的参数以及说明
在这里插入图片描述

我们来看一下每组参数的具体含义

目标说明

TARGET SPECIFICATION

在这里插入图片描述

  • -iL : 从列表中输入 从主机地址列表中导入扫描地址 可以从主机的文件中导入扫描列表

  • -iR : 随机选择目标,hostnum表示目标数目,0意味着永无休止的扫描

  • –exclude <host1 [, host2] [, host3] …> 排除主机/网络

  • –excludefile 排除文件中的列表

主机发现

HOST DISCOVERY

在这里插入图片描述

  • -sL 扫描列表,仅将指定的目标IP列举出来,不进行主机发现

  • -sn 跟-sP 一样,只利用ping扫描进行主机发现,不扫描目标主机的端口,只扫描是否在线 不扫描端口

  • -Pn 将所有指定的主机视为已开启状态,跳过主机发现过程

  • -PS [portlist]:TCP SYN Ping,发送一个设置了SYN标志位的空TCP报文

  • -PE; -PP; -PM:ICMP Ping Types,发送ICMP Type 8 (回声请求)报文,期待从运行的主机得到一个type 0 (回声相应)报文

  • n:不用域名解析,加快扫描速度

  • -R:为所有目标IP地址作反向域名解析

  • –system-dns:使用系统域名解析器,一般不使用该选项,因为比较慢

端口扫描

SCAN TECHNIQUES

在这里插入图片描述

Nmap将目标主机端口分成6种状态:
  • open(开放)

  • closed(关闭)

  • filtered(被过滤的)

  • unfiltered(未被过滤) 可访问但不确定开放情况

  • open|filtered(开放或被过滤)无法确定端口是开放的还是被过滤的

  • closed|filtered(关闭或被过滤)无法确认端口是关闭的还是被过滤的

Nmap产生结果是基于机器的响应报文,而这些主机可能是不可信任的,会产生一些迷惑或者误导Nmap的报文

常用命令

  • -sS TCP SYN扫描,半开放状态,扫描速度快隐蔽性好(不完成TCP连接),能够明确区分端口状态

  • -sT TCP连接扫描,容易产生记录,效率低

  • -sA TCP ACK扫描 只设置ACK标志位,区别被过滤与未被过滤

  • -sU UDP服务扫描

  • –sO:IP协议扫描,可以确定目标机支持哪些IP协议(TCP, ICMP, IGMP)

端口说明和扫描顺序

PORT SPECIFICATION AND SCAN ORDER

在这里插入图片描述

  • –p :只扫描指定的端口,单个端口和用连字符表示的端口范围都可以;当既扫描TCP端口又扫描UDP端口时,您可以通过在端口号前加上T: 或者U:指定协议。协议限定符一直有效您直到指定另一个。

    例如,参数 -p U:53,111,137,T:21-25,80,139,8080 将扫描UDP 端口53,111,和137,同时扫描列出的TCP端口。

    注意,要既扫描 UDP又扫描TCP,您必须指定 -sU ,以及至少一个TCP扫描类型(如 -sS,-sF,或者 -sT)

  • –p :扫描指定的端口名称,如nmap–p smtp,http 10.10.1.44

  • –p U:[UDP ports],T:[TCP ports]:对指定的端口进行指定协议的扫描

  • –F:快速扫描(仅扫描100个最常用的端口),nmap-services文件指定想要扫描的端口;可以用—datadir选项指定自己的小小nmap-services文件

  • –top-ports :扫描前number个端口

  • –r:不要按随机顺序扫描端口,默认情况下按随机(常用的端口前移)

服务与版本探测

SERVICE/VERSION DETECTION

在这里插入图片描述

nmap-services是一个包含服务的数据库,Nmap通过查询该数据库可以报告那些端口可能对应于什么服务器,但不一定正确。

在用某种扫描方法发现TCP/UDP端口后,版本探测会询问这些端口,确定到底什么服务正在运行;

nmap-service-probes数据库包含查询不同服务的探测报文和解析识别响应的匹配表达式;

当Nmap从某个服务收到响应,但不能在数据库中找到匹配时,就打印出一个fingerprint和一个URL给您提交。

参数含义:
  • –sV:打开版本探测

  • –allports:不为版本探测排除任何端口,默认情况下跳过9100端口

  • –version-intensity:设置版本扫描强度,范围为0-9,默认是7,强度越高,时间越长,服务越可能被正确识别

  • –version-light:是—version-intensity2的别名

  • –version-all:是—version-intensity9的别名

  • –version-trace:跟踪版本扫描活动,打印出详细的关于正在进行的扫描的调试信息

  • –sR:RPC扫描,对所有被发现开放的TCP/UDP端口执行SunRPC程序NULL命令,来试图 确定它们是否RPC端口,如果是, 是什么程序和版本号

脚本扫描

SCRIPT SCAN

在这里插入图片描述

操作系统探测

OS DETECTION

在这里插入图片描述

  • –O:启用操作系统检测;-A可以同时启用操作系统检测和版本检测

  • –osscan-limit:针对指定的目标进行操作系统检测

  • –osscan-guess|–fuzzy:当Nmap无法确定所检测的操作系统时,会尽可能地提供最相近的匹配

时间和性能

TIMING AND PERFORMANCE

在这里插入图片描述

  • –min-hostgroup ;–max-hostgroup :

    调整并行扫描组的大小,用于保持组的大小在一个指定的范围之内;

    Nmap具有并行扫描多主机端口或版本的能力,Nmap将多个目标IP地址空间分成组,然后在同一时间对一个组进行扫描。

    通常,大的组更有效。缺点是只有当整个组扫描结束后才会提供主机的扫描结果

  • –min-parallelism; --max-parallelism :调整探测报文的并行度,用于控制主机组的探测报文数量;默认状态下, Nmap基于网络性能计算一个理想的并行度,这个值经常改变

防火墙/IDS规避和欺骗

FIREWALL/IDS EVASION AND SPOOFING

在这里插入图片描述

  • –f(报文分段); --mtu(使用指定的MTU):将TCP头分段在几个包中,使得包过滤器、 IDS以及其它工具的检测更加困难

  • –D <decoy1 [, decoy2] [, ME]…>:

    使用诱饵隐蔽扫描;

    使用逗号分隔每个诱饵主机,也可用自己的真实IP作为诱饵,这时可使用 ME选项说明。

    如果在第6个位置或更后的位置使用ME选项,一些常用端口扫描检测器(如Solar Designer’s excellent scanlogd)就不会报告 这个真实IP。

    如果不使用ME选项,Nmap 将真实IP放在一个随机的位置

  • –S <IP_Address>:源地址哄骗,说明所需发送包的接口IP地址

  • –e :使用指定的接口

  • –source-port; -g :

    源端口哄骗;

    很多产品本身会有这类 不安全的隐患,甚至是微软的产品。

    Windows 2000和Windows XP中包含的IPsec过滤器也包含了一些隐含规则,允许所有来自88端口(Kerberos)的TCP和UDP数据流。

    另一个常见的例子是Zone Alarm个人防火墙到2.1.25版本仍然允许源端口53(DNS)或 67(DHCP)的UDP包进入。

  • –data-length :发送报文时附加随机数据

  • –ttl :设置IPtime-to-live域

  • –randomize-hosts:对目标主机的顺序随机排列

输出选项

OUTPUT

在这里插入图片描述

  • –oN :标准输出

  • –oX :XML输出写入指定的文件

  • –oS :脚本小子输出,类似于交互工具输出

  • –oG :Grep输出

  • –oA :输出至所有格式

  • –v:提高输出信息的详细度

  • –d [level]:提高或设置调试级别,9最高

  • –packet-trace:跟踪发送和接收的报文

  • –iflist:输出检测到的接口列表和系统路由

  • –append-output:表示在输出文件中添加,而不是覆盖原文件

  • –resume :继续中断的扫描,

  • –stylesheet :设置XSL样式表,转换XML输出;Web浏览器中打开Nmap的XML输出时,将会在文件系统中寻找nmap.xsl文件,并使用它输出结果

  • –no-stylesheet:忽略XML生命的XSL样式表

使用示例

在这里插入图片描述

常用扫描命令

扫描ip地址或域名

在这里插入图片描述

在这里插入图片描述

nmap后面也可以带上多个ip地址或域名,用空格隔开

扫描整个网段

nmap  ip/网段

在这里插入图片描述

还可以输入ip地址范围内如

nmap 192.168.0.1-200

在这里插入图片描述

在这里插入图片描述

扫描文件

我们可以新建一个文件,往里面输入一些需要扫描的地址
在这里插入图片描述

扫描文件命令

nmap -iL  文件路径

在这里插入图片描述

从扫描的结果可以看到一共扫到了4个我们输入的地址

在这里插入图片描述

只进行主机发现

可以用以下命令只进行主机发现,而不扫描端口或服务

nmap -sn或-sP ip 地址

在这里插入图片描述

扫描特定端口

我们还可以指定只扫描的端口号

nmap -p80,21,8080 ip或域名

在这里插入图片描述

也可以指定扫描端口号的范围

 nmap -p50-800  ip或域名  

在这里插入图片描述

输出扫描结果

前面的扫描不会显示扫描过程,可以加入-vv参数显示扫描的过程

nmap -vv    

在这里插入图片描述

路由跟踪

可以输入以下命令进行简单扫描并进行路由跟踪

namp -traceroute  域名

在这里插入图片描述

探测操作系统

输入一下命令探测操作系统类型

 nmap -O  ip  

在这里插入图片描述

-O多次扫描结果可能会不一样,建议替换为-A

TCP和UDP扫描

扫描半开放TCP端口
nmap -sS ip 

在这里插入图片描述

扫描UDP 服务端口
nmap -sU      ip    

在这里插入图片描述

版本扫描

扫描系统安装的服务以及服务的版本

namp -sV  ip  

在这里插入图片描述

综合扫描

包含1-10000端口的ping扫描,操作系统扫描,路由跟踪,服务探测

nmap -A  ip 

在这里插入图片描述

在这里插入图片描述

图形化工具Zenmap使用

Kali自带nmap图形化工具zenmap

启动zenmap可以看到如下界面

在这里插入图片描述

  • target:扫描地址 可以输入ip或域名

  • Profile:扫描的方式,zenmap默认给我们提供了10种组合扫描方式

在这里插入图片描述

命令行中也可以自己定义扫描参数,默认扫描方式的参数如下

在这里插入图片描述

  • -T 设置速度等级 1-5级,数字越大,速度越快

  • -A 综合扫描

  • -v 输出扫描过程

点击扫描即可展示扫描过程和结果

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

在这里插入图片描述

在这里插入图片描述

修改扫描参数

也可以对系统提供的默认扫描方式修改其扫描参数
在这里插入图片描述

在这里插入图片描述

未完待遇,本文持续更新,先收藏一波吧。。。







友情链接:

编程日记

Nmap安装和使用详解

Teacher.Hu

Nmap安装和使用详解

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

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

相关文章

如何将 ONLYOFFICE 协作空间与单页面应用集成

2023 年春季&#xff0c;我们推出了 ONLYOFFICE 协作空间&#xff0c;这是一个先进的联合办公平台&#xff0c;旨在加强与客户、合作伙伴和第三方的文档协作。使用可自定义的房间和高级安全功能可以彻底改变您的文档协作方式。在本博文中&#xff0c;我们将以 GitHub Pages 为例…

Linux之操作文件命令

目录 一、阅览文件 1、cat 2、head 3、tail 4、more 5、less 二、过滤命令——grep 1、格式 2、选项 3、匹配模式 三、cut切割命令 1、格式 2、选项 四、sort排序命令 1、格式 2、选项 五、uniq去重命令 六、替换文件中的字符显示tr 1、格式 2、选项 七、…

第8章 MySQL的数据目录

8.1 数据库和文件系统的关系 像 InnoDB 、 MyISAM 这样的存储引擎都是把表存储在磁盘上的&#xff0c;而操作系统用来管理磁盘的又被称为 文件系统 &#xff0c;所以用专业一点的话来表述就是&#xff1a;像 InnoDB 、 MyISAM 这样的存储引擎都是把表存储在文件系统上的。当我…

API接口采集电商平台阿里巴巴中国站获得1688商品评论数据货品评分、评价内容接口调用指南

淘宝API商品评论接口&#xff0c;主要用于获取某个商品的评价信息。通过该接口&#xff0c;我们可以获取到商品的所有评价内容、评价时间、评价等级等相关信息&#xff0c;帮助我们更好地了解用户对商品的反馈&#xff0c;进而进行数据分析和业务优化。 1688.item_review-获得…

投票制作创建流量主小程序开发

很多企业、团队、门店商家有创建投票活动的需求&#xff0c;单独开发一套成本过高&#xff0c;所以会找一些市面上可以创建投票活动的工具。基于此开发了一款可以创建制作投票活动的小程序。 小程序主要是投票活动的制作、创建&#xff0c;可以接入流量主广告和会员功能&#…

成集云 | 金蝶K3集成聚水潭ERP(金蝶K3主管库存)| 解决方案

源系统成集云目标系统 方案介绍 金蝶K3是一款ERP软件&#xff0c;它集成了供应链管理、财务管理、人力资源管理、客户关系管理、办公自动化、商业分析、移动商务、集成接口及行业插件等业务管理组件。以成本管理为目标&#xff0c;计划与流程控制为主线&#xff0c;通过对成本…

温度传感器的精度受什么影响

温度传感器&#xff08;temperature transducer&#xff09;是指能感受温度并转换成可用输出信号的传感器。是早开发&#xff0c;应用极其广的一类传感器&#xff0c;是温度测量仪表的核心部分。现代的温度传感器外形非常得小&#xff0c;这样更加让它广泛应用在生产实践的各个…

PowerDesigner 与 mysql 同步数据

PowerDesigner 连接上数据库 创建数据库表 table_5 选择&#xff1a; 点击确认后弹出 点击run执行 刷新数据库表&#xff0c;已创建成功 修改测试表1&#xff0c;新增一个字段 取消全选 选择数据库&#xff0c;勾选修改的表&#xff0c;如果全部勾选的话&#xff0c;就…

3D动画制作和渲染需要什么样的硬件规格?

动画是艺术与技术的令人兴奋的融合&#xff0c;为无限的创造力提供了广阔的画布。为了将创意愿景变为现实&#xff0c;动画师需要适合其工艺的强大计算资源。每个动画项目都有不同的硬件需求&#xff0c;无论是制作简单的 2D 动画还是构建复杂的 3D 世界。因此&#xff0c;有抱…

字符串 (3)--- KMP 算法的扩展

对于个长度为n的字符串s。定义函数z[i]表示s和s[i,n-1]&#xff08;即以 s[i] 开头的后缀&#xff09;的最长公共前缀&#xff08;LCP&#xff09;的长度。 z被称为s的Z函数。特别地&#xff0c;z[0] 0。 如同大多数字符串主题所介绍的算法&#xff0c;其关键在于&#xff0c…

深度学习之模型压缩、加速模型推理

简介 当将一个机器学习模型部署到生产环境中时&#xff0c;通常需要满足一些在模型原型阶段没有考虑到的要求。例如&#xff0c;在生产中使用的模型将不得不处理来自不同用户的大量请求。因此&#xff0c;您将希望进行优化&#xff0c;以获得较低的延迟和/或吞吐量。 延迟&…

MyBatis-Plus 使用拦截器实现数据权限控制

平时开发中遇到根据当前用户的角色&#xff0c;只能查看数据权限范围的数据需求。列表实现方案有两种&#xff0c;一是在开发初期就做好判断赛选&#xff0c;但如果这个需求是中途加的&#xff0c;或不希望每个接口都加一遍&#xff0c;就可以方案二加拦截器的方式。在mybatis执…

BIT-4-数组

一维数组的创建和初始化一维数组的使用 一维数组在内存中的存储 二维数组的创建和初始化二维数组的使用二维数组在内存中的存储 数组越界数组作为函数参数数组的应用实例1&#xff1a;三子棋 数组的应用实例2&#xff1a;扫雷游戏 1. 一维数组的创建和初始化 1.1 数组的创建 …

IOS17正式版今日发布

北京时间9月19日凌晨&#xff0c;苹果公司正式向全球用户推送了期待已久的iOS 17正式版。此次更新为iPhone带来了多项激动人心的功能&#xff0c;包括对“电话”、“信息”、FaceTime通话的重大更新&#xff0c;“待机显示”以及音乐、小组件、Safari浏览器的升级等。 据了解&…

二叉树顺序结构及实现

&#x1f449;二叉树顺序结构及实现 1.二叉树的顺序结构2.堆的概念及结构3.堆的实现3.1堆向下调整算法3.2堆向上调整算法 4.堆的创建4.1堆创建方法14.1.1构建堆结构体4.1.2堆的初始化4.1.3堆数据添加向上调整4.1.4主函数内容 4.2堆的创建方法24.2.1堆数据添加向下调整 4.3堆数据…

DevicData-D-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复

引言&#xff1a; 在当今数字化时代&#xff0c;勒索病毒已成为网络威胁的一部分&#xff0c;其中DevicData-D-XXXXXXXX勒索病毒是其中一种。本文将深入解析DevicData-D-XXXXXXXX勒索病毒的工作原理&#xff0c;并提供有效的对策方法。如果您正在经历数据恢复的困境&#xff0…

腾讯云OCR - 降低客服财务运营成本

说明&#xff1a;参与中秋活动 一、 前言&#xff1a; 随着图片时代的飞速发展&#xff0c;大量的文字内容为了优化排版和表现效果&#xff0c;都采用了图片的形式发布和存储&#xff0c;这为内容的传播和安全性带来了很大的便利&#xff0c;需要做重复性劳动。 OCR文字扫描工…

服务器数据恢复-UNIX类文件系统软件层级故障的数据恢复可能性分析

服务器数据恢复环境&#xff1a; 基于UNIX系统&#xff0c;软件层级的数据灾难。 服务器故障&#xff1a; 1、存储结构出错。 2、删除数据。 3、文件系统格式化。 4、其他原因导致的数据丢失。 服务器数据恢复的可能性分析&#xff1a; 1、存储结构出错。 无论错误出现在RAID还…

将el-table数据导出csv各式,纯前端实现

tableData数据&#xff1a;tableData: [{ column1: 值1-1, column2: 值1-2 },{ column1: 值2-1, column2: 值2-2 },{ column1: 值3-1, column2: 值3-2 }], exportToCSV() {// 将表格数据转化为CSV格式const csvContent this.convertArrayOfObjectsToCSV(this.tableData);// 创…

关于 firefox 不能访问 http 的解决

情景&#xff1a; 我在虚拟机 192.168.x.111 上配置了 DNS 服务器&#xff0c;在 kali 上设置 192.168.x.111 为 DNS 服务器后&#xff0c;使用 firefox 地址栏搜索域名 www.xxx.com &#xff0c;访问在 192.168.x.111 搭建的网站&#xff0c;本来经 192.168.x.111 DNS 服务器解…