Nmap安装和使用详解

2023-05-16

文章目录

  • Nmap概述
    • 功能概述
    • 运行方式
  • Nmap安装
  • Nmap参数详解
    • 目标说明
    • 主机发现
    • 端口扫描
    • 端口说明和扫描顺序
    • 服务与版本探测
    • 脚本扫描
    • 操作系统探测
    • 时间和性能
    • 防火墙/IDS规避和欺骗
    • 输出选项
    • 使用示例
  • 常用扫描命令
    • 扫描ip地址或域名
    • 扫描整个网段
    • 扫描文件
    • 只进行主机发现
    • 扫描特定端口
    • 输出扫描结果
    • 路由跟踪
    • 探测操作系统
    • TCP和UDP扫描
    • 版本扫描
    • 综合扫描
  • 图形化工具Zenmap使用
    • 修改扫描参数

Nmap概述

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

功能概述

  1. 查看主机存活
  2. 扫描目标主机开放端口
  3. 识别目标主机操作系统
  4. 查看目标主机服务的版本信息
  5. 漏洞探测

运行方式

  • 命令行
  • 图形化工具Zenmap

Nmap安装

官网:https://nmap.org
Nmap支持Windows、linux、mac os三个平台,首先可以打开Nmap官方https://nmap.org选择最新版本点击下载按钮。
在这里插入图片描述
然后选择相应的平台下载即可
## Windows安装
安装方式跟普通软件安装一样。如果是在Kali Linux中,Kali自带Nmap工具,无须再次下载和安装。
在这里插入图片描述

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  

在这里插入图片描述

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  输出扫描过程

点击扫描即可展示扫描过程和结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

修改扫描参数

也可以对系统提供的默认扫描方式修改其扫描参数
在这里插入图片描述
在这里插入图片描述
未完待遇,本文持续更新,先收藏一波吧。。。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Nmap安装和使用详解 的相关文章

  • Docker学习记录(4)——docker pull默认从本地镜像仓库拉取镜像

    主机操作系统为Centos7 3 xff0c 内网环境下使用docker pull xff0c 直接从本地镜像仓库下载镜像 本地镜像仓库的搭建方法多样 xff0c 这里不做记录 我的本地镜像仓库的地址为master example com
  • Centos7.2学习记录(4)——调整root和home大小

    df h查看磁盘使用情况 备份 home文件夹下内容 span class hljs preprocessor cp r home homebak span 卸载 home span class hljs preprocessor umou
  • ubuntu的终端log怎么保存

    script screen log 之后再在终端的输入就被记在screen log exit 退出
  • HDU 1215 七夕节(约数之和)

    七夕节 Time Limit 2000 1000 MS Java Others Memory Limit 65536 32768 K Java Others Total Submission s 39837 Accepted Submiss
  • 为什么无穷大总是0x3f3f3f3f?

    转自 http aikilis tk 如果问题中各数据的范围明确 xff0c 那么无穷大的设定不是问题 xff0c 在不明确的情况下 xff0c 很多程序 员都取0x7fffffff作为无穷大 xff0c 因为这是32 bit int的最大
  • CSU 1333 & Uva 12661 Funny Car Racing【最短路变形+spfa算法,链式前向星建图】

    Funny Car Racing Memory Limit 131072KB64bit IO Format lld amp llu Status Description There is a funny car racing in a ci
  • 根据Oracle数据库scott模式下的scott.emp表和dept表,完成下列操作.

    题目要求 xff1a 根据Oracle数据库scott模式下的emp表和dept表 xff0c 完成下列操作 将scott用户解锁 xff1a alter user scott account unlock scott的初始密码是tiger
  • 【死磕 Java 集合】— ConcurrentSkipListMap源码分析

    转自 xff1a http cmsblogs com p 61 4773 隐藏目录 前情提要简介存储结构源码分析 主要内部类构造方法添加元素添加元素举例删除元素删除元素举例查找元素查找元素举例彩蛋 作者 xff1a 彤哥 出处 xff1a
  • STL-set (集合)之删除元素

    set概述 和vector list不同 xff0c set map都是关联式容器 set内部是基于红黑树实现的 插入和删除操作效率较高 xff0c 因为只需要修改相关指针而不用进行数据的移动 在进行数据删除操作后 xff0c 迭代器会不会
  • 经典算法之一:快速排序

    快速排序由于排序效率在同为O N logN 的几种排序方法中效率较高 xff0c 因此经常被采用 xff0c 再加上快速排序思想 分治法也确实实用 xff0c 因此很多软件公司的笔试面试 xff0c 包括像腾讯 xff0c 微软等知名IT公
  • 矩阵乘法测试

    对于时间的函数 gettimeofday 函数使用方法 xff1a http blog csdn net hurmishine article details 60326345 矩阵乘法测试 xff1a 代码 xff1a 1 为了试验简单
  • Python爬虫自动获取CSDN博客收藏文章

    CSDN的Python创意编程活动开始第一天就看到了 xff0c 但是认为自己是菜鸟 xff0c 就向当 吃瓜群众 xff0c 后来看到有好多人的代码是关于爬虫的 xff0c 当初我就是由于对爬虫 感兴趣才自学的Python 现在也打算参加
  • 全网最!详!细!Tarjan算法讲解。

    Tarjan算法讲解的博客网上找到三篇比较好的 现在都转载了 个人只研究了第一篇 正如博主所说 讲的标比较详细 清晰 剩下两篇也可以看一下 卿学姐视频讲解 https www bilibili com video av7330663 以下内
  • MFC计算机图形学(1)

    这学期上了计算机图形学 xff0c 用MFC来绘制简单的图形 下面就简单介绍一下用cv 43 43 来绘制图形 VC 43 43 安装 VC 43 43 我基本不用的 xff0c 平时写C C 43 43 的代码都用Code Blocks
  • MFC计算机图形学(2)

    这里呢 xff0c 先把上一讲的联系讲一下 一般人都用是一个一个的去画 xff0c 但是那样好麻烦 xff0c 计算机的有点就是容易处理重复的事情 xff0c 那就定义成一个画正方形函数吧 xff0c 每次调用就可以了 怎么自定义函数呢 x
  • MFC计算机图形学(3)

    之前我们已经可以画出直线和曲线了 但是算法虽容易理解 xff0c 但是复杂度高 xff0c 今天就介绍比较流行的DDA画线法 xff0c 还有 xff0c 对鼠标进行事件有所响应 xff0c 即 xff0c 在画板上 xff0c 鼠标左键单
  • Ubuntu18.04安装realsense viewer

    一 下载realsense安装包 mkdir p librealsense install cd librealsense install git clone b v2 31 0 https github com IntelRealSens
  • 用D435i录制自己的数据集运行ORBslam2并构建稠密点云

    一 录制rosbag 二 播放rosbag并用rviz查看topic xff0c 记下rgb和depth流话题名 三 用如下脚本 xff08 python2而不是3 xff09 保存rgb和depth图片同时生成rgb txt depth
  • Unrecoverable error: corrupted cluster config file.

    from https www cnblogs com topicjie p 7603227 html 缘起 正在欢乐的逗着孩子玩耍 xff0c 突然间来了一通电话 xff0c 值班人员告诉我误重启了一台服务器 xff0c 是我负责的服务 x
  • 树莓派3B+无屏幕和键盘配置树莓派WiFi和SSH

    前言 树莓派3B 43 安装系统Raspbian xff0c 默认的SSH是关闭的 xff0c 如何在无屏幕和键盘的情况下 xff0c 让笔记本通过WIFI访问树莓派 树莓派3B 43 发布后不久 xff0c 树莓派官方 Raspbian

随机推荐

  • ubuntu分区设置

    ubuntu分区设置 swap区 xff1a 逻辑分区 xff0c 虚拟内存类似 xff0c 大小和电脑内存一样大 xff1b boot区 xff1a 主分区 xff0c 引导系统的 xff0c 分配200M 500M xff0c 条件好些
  • 图像系统概述和名词解析

    图像系统组成 光源 xff08 包含人造光 自然光 闪光灯 xff09 照到物体上 xff0c 光线反射进入成像系统 xff0c 经过镜头 xff08 对于变焦镜头有驱动马达调整镜片位置 xff0c 实现变焦 xff09 光圈 滤光片 快门
  • 海思IQ图像清晰度调试策略

    总策略 影响清晰度的关键指标 xff1a 锐度 噪点和gamma Gamma调试步骤 YUVsharpen锐度调试 LDCI局部对比度调节 Dehaze调节 去雾算法主要用在有场景中做处理 xff0c 调整图像的对比度使更加清 去雾算法主要
  • 海思ISP曝光调整策略

    AE曝光调整 Exposure Attr 影响参数 xff1a ExpTimeRange Min Max 曝光时间Gain 各种增益控制Speed 曝光速度 xff08 影响到曝光收敛 xff0c AE闪烁 xff09 Compensati
  • ADS(ARM Developer Suite)安装与卸载中的问题(转)

    ADS用来对ARM的裸机代码进行编辑和调试 我在安装ADS1 2的过程中 xff0c 遇到了一个小问题 xff0c 写下来和大家分享一下解决方法 1 在安装程序 xff0c 进度条到100 时 xff0c 会一直停在那 xff0c 十几分钟
  • ucosIII 学习资料汇总

    网站 书籍 1 嵌入式实时操作系统uc OS III 邵贝贝译 这本书其实就是一本工具书 xff0c 我参考了官方的说明文档 xff0c 发现雷同很高 感觉就是官方说明文档翻译的 xff0c 用来应用查查接口还有点用 xff0c 不是十分推
  • USB协议传输结构

    USB作为数据通信标准 xff0c 固件可分为枚举配置和类协议部分 xff0c 枚举配置实现USB主机对设备的枚举和配置 xff0c 类协议实现设备各自的数据传输 usb2 0协议chapter8 protocol layer 1 USB协
  • 蓝牙HCI协议

    HCI 层位于蓝牙高层协议和低层协议之间 xff0c 提供了对基带控制器和链路管理器的命令以及访问蓝牙硬件的统一接口 它是我们实现自己的蓝牙设备要接触的第一个蓝牙协议 起着承上启下的作用 HCI通过包的方式来传送数据 命令和事件的 xff0
  • 标准USB设备请求命令

    一 标准的usb设备请求命令 控制传输是最重要和结构最复杂的一种传输类型 控制传输的 初始设置步骤 中包含了1 个8 字节的DATA0 数据包 参见图6 6 这8 字节的数据包是主机用来发送控制阶段中的请求命令的 而这些请求命令是主机配置U
  • 卡尔曼滤波基本公式推导(高斯乘积法)

    前言 卡尔曼滤波的推导这里给出两种推导方法 xff1a 一种是利用高斯乘积定理和贝叶斯公式推导出来 的 xff0c 另一种借用的是最小误差的思想 xff08 IMSE xff09 关于卡尔曼滤波的应用场景以及通俗的解释 xff0c 我相信各
  • 计算机组成原理(唐朔飞)

    计算机组成原理 唐朔飞 存储器 存储器分类 存储介质分类 半导体存储器磁表面存储器磁芯存储器 淘汰 存储方式 存储结构 存储器容量 地址总线 xff1a CPU能访问的地址宽度 xff0c 32地址线表示能访问2的32次方个存储单元地址 数
  • ubuntu配置静态IP、DNS地址

    虚拟机需要使用桥接上网 1 ifconfig 查看网卡信息 2 vi etc network interfaces 打开并编辑配置文件 配置说明 xff1a auto lo iface lo inet loopback auto ens33
  • c调用libcurl库发送GET 和 POST请求

    libcrul请求的基本套路流程 1 调用curl global init 初始化libcurl2 调用curl easy init 函数得到 easy interface型指针3 调用curl easy setopt 设置传输选项4 根据
  • LINUX 操作GPIO口

    两种方法 1 写驱动的方式 缺 2 通过linux提供的用户空间 终端控制 通过在用户空间上来操作GPIO xff0c 控制入口在 xff1a sys class gpio 首先确认内核里是否已选择上gpiolib的sysfs接口功能 默认
  • V4L2简介

    http work blog readthedocs org en latest v4l2 20intro html 第一章 V4L2简介 1 1 什么是v4l2 V4L2 xff08 Video4Linux的缩写 xff09 是Linux
  • 电子设计项目

    全套完整毕业设计智能家居控制系统设计 16X16点阵滚动显示 单片机595 43 138LED点阵 基于WIFI传输的单片机传感器设计 xff08 毕业论文 xff09 基于单片机设计的多点测温系统 数码管显示温度 基于单片机设计的公交报站
  • 视觉惯导里程计VIO综述

    最近阅读了VIO中的一些论文 xff0c 在这里做个汇总方便以后查阅 xff0c 如有问题欢迎指正 一 背景 VIO xff08 Visual Inertial Odometry xff09 视觉惯导里程计 xff0c VINS xff08
  • 【Cocos2d-X-2.1.4游戏引擎】发布第一个游戏

    有一段时间没更新博客了 xff0c 最近一直在写一个小游戏 xff0c 游戏在今天终于搞好了 xff0c 又可以开始写写博客 xff0c 打打dota的悠闲的日子了哈 看了十几天cocos2d x后 xff0c 也依照官网的例子写了个打飞机
  • 游戏升级之路

    七十一雾央原创 转载请注明 http blog csdn net hust xy 楼主学习编程有两年了 xff0c 决定向游戏发展大概就是半年前了 xff0c 在这里总结一下游戏方面的学习经历过 xff0c 给初学的朋友们参考下 xff0c
  • Nmap安装和使用详解

    文章目录 Nmap概述功能概述运行方式 Nmap安装Nmap参数详解目标说明主机发现端口扫描端口说明和扫描顺序服务与版本探测脚本扫描操作系统探测时间和性能防火墙 IDS规避和欺骗输出选项使用示例 常用扫描命令扫描ip地址或域名扫描整个网段扫