nmap的使用

news2025/1/18 20:26:06

目录

nmap简介

主要作用

nmap原理

namp使用

options 

nmap列举远程机器开放端口

普通扫描

扫描范围端口

对几个端口探测

对所有端口进行探测

指定协议探测端口

扫描对应协议的所有端口

端口状态

nmap识别目标机器上服务的指纹

服务指纹

识别目标机器服务信息

nmap侵略性探测

探测目标机器操作系统、服务等

发现局域网中存活的主机

前言

nmap主机发现

对该网络中所有主机ping扫描

nmap结果输出

NSE脚本的使用

NSE介绍

使用脚本获取服务title

脚本总结

nmap使用多个分类脚本

分类脚本

NSE调试功能使用

NSE更新

使用特定网卡进行探测

前言

查看所有网卡

指定网卡进行探测

对比扫描结果ndiff

ndiff工具

前言

使用方法

nmap简介

Nmap是一款开源、免费的网络探测、安全审计工具。

主要作用

  • 探测一组主机是否在线
  • 扫描主机端口,嗅探所提供的网络服务
  • 推断主机所用的操作系统

nmap原理

理解:nmap安装在电脑之后,电脑就可以使用nmap发送数据包,nmap在探测远程机器时会发送大量的数据包,并且通过输入的命令进行判断,判断nmap输入的命令中是否包含域名,若包含域名,则需要利用DNS服务器进行域名解析,然后发送ICMP Echo Request来探测主机存活性,若判断该主机存活,就会发送对应的其他数据包到远程机器,远程机器就会根据接收到的数据包做出对应的响应发送到nmap,nmap就会根据返回的响应进行解析得到对应的机器信息

nmap官网:https://nmap.org/

namp使用

语法:nmap [options] 域名信息/IP地址

options 

  • --dns-servers dns地址:指定特定dns服务器解析域名
  • --script 脚本名称:使用nmap的脚本
  • -e 网卡名:指定网卡进行探测
  • -Pn:不触发防火墙安全机制的扫描,停止之前的ICMP请求
  • -p m-n:扫描m-n范围之间的所有端口(当然也可以仅指定一个端口扫描)
  • -p m,n:扫描m端口和n端口
  • -p T:m,Un指定tcp协议探测m号端口,udp协议探测n号端口
  • -p 协议名:扫描对应协议的所有端口
  • -p-:对该服务的所有端口进行探测
  • -sV:识别目标机器的服务信息
  • -A:使用侵略性的策略进行探测(操作系统识别、端口服务指纹识别)
  • -v:持续输出返回的解析(按回车来查看)
  • -Tn:n的范围为1-5,探测速度由慢到快
  • -sC:使用nmap脚本进行探测
  • -O:探测目标机器上的操作系统信息
  • -sP CIDR:进行批量扫描(使用此参数后面需要接的时CIDR,不需要接IP地址)
  • -sn CIDR:对该网络中所有主机进行ping扫描,验证存活性
  • -oX xxx.xml:nmap探测结果输出到xxx.xml文件中
  • -d debug:启动调试模式(debug范围0-9)

nmap技术查看:nmap -h

nmap列举远程机器开放端口

普通扫描

扫描scanme.nmap.org信息:nmap scanme.nmap.org

注意:nmap进行探测之前要把域名通过DNS服务器解析为IP地址,我们也可以使用指定的DNS服务器进行解析(使用--dns-servers参数指定)

指定dns扫描域名:nmap --dns-server 8.8.8.8 scanme.nmap.org

扫描范围端口

前言:对于默认的端口范围,并不能够满足日常工作的需要。可以使用-p m-n来指定m-n之间的所有端口。

扫描0-100之间的端口:nmap -p 0-100 scanme.nmap.org

对几个端口探测

扫描服务的80,135端口:nmap -p 80,135 scanme.nmap.org

对所有端口进行探测

扫描服务的所有端口:nmap -p- 192.168.1.4

指定协议探测端口

语法:nmap -p T:25,U53 scanme.nmap.org

解释:对于scanme.nmap.org服务,以tcp协议探测25号端口,udp协议探测53号端口(有对应协议的端口则显示,没有则不显示)

扫描对应协议的所有端口

扫描ssh协议端口:nmap -p ssh scanme.nmap.org

注意:协议名写可以用通配符(s*代表所有以s开头的协议端口都被扫描) 

 

端口状态

nmap识别目标机器上服务的指纹

服务指纹

  • 为了确保有一个成功的渗透测试或网络设备监控,必须要知道目标系统中服务的指纹信息。服务指纹信息包括服务端口号,服务名和版本等
  • 通过分析目标往nmap发送的数据包中某些协议标记、选项和数据,我们可以推断发送这些数据包的操作系统等
  • nmap通过向目标主机发送多个UDP和TCP数据包并分析其响应来进行操作系统指纹识别工作

识别目标机器服务信息

识别scanme.nmap.org服务信息:nmap -sV scanme.nmap.org

注意:-sV表示识别目标机器上的服务信息 

nmap侵略性探测

探测目标机器操作系统、服务等

语法1:nmap -A -v -T4 scanme.nmap.org

  • -A:使用侵略性的策略进行探测(操作系统识别、端口服务指纹识别)
  • -v:持续输出返回的解析(按回车来查看)
  • -Tn:n的范围为1-5,探测速度由慢到快

语法2:nmap -sC -sV -O scanme.nmap.org

  • -sC:使用nmap脚本进行探测
  • -sV:识别目标机器的服务信息
  • -O:探测目标机器上的操作系统信息

发现局域网中存活的主机

前言

  • 一个局域网中肯定连接着多台设备,可以使用ping命令来进行地址探测,但是若一个网络很大,这样的探测就很费劲
  • CIDR无类别域间路由,其可以快速表示一个网络(172.16.1.1/24表示在172.16.1.1-172.16.1.255之间所有的主机IP地址)

nmap主机发现

对该网络中所有主机ping扫描

语法1:nmap -sP CIDR

语法2:nmap -sn CIDR

注意:扫描过程中nmap使用了TCP SYN扫描、ICMP echo Request来探测主机存活 

案例:nmap -sP 192.168.1.1/24

nmap结果输出

语法:nmap -sn CIDR -oX test.xml

理解:对该网络中所有主机进行ping扫描,同时将结果输出到test.xml中

执行:nmap -sn 192.168.1.1/24 -oX test.xml

由此观之多出来个test.xml文件。

NSE脚本的使用

NSE介绍

  • NSE为nmap脚本引擎,内置了很多可以用来扫描的,特定任务的脚本。通过NSE可以不断拓展nmap的扫描策略,加强nmap的功能
  • Nmap中使用--script参数来指定调用的脚本,并且脚本存储在Nmap安装路径下的script文件夹中,对于kail linux存储在/usr/share/nmap/script/下

使用脚本获取服务title

语法:nmap --script http-title scanme.nmap.org

注意:以上通过nmap使用http-title脚本进行探测,还可以使用其他脚本进行探测。到目前为止可以用的有589个脚本,每个脚本都有其独特的功能。

脚本总结

  • http-title:获取服务的title
  • http-headers:获取服务的请求头

nmap使用多个分类脚本

前言:对于目标使用多个分类脚本进行探测,可以更快的找到目标的信息及弱点

语法:nmap -sV --script vuln scanme.nmap.org

分类脚本

  • vuln:漏洞分类脚本
  • --script="version,discovery":版本信息分类脚本

NSE调试功能使用

语法:nmap -sV --script vuln -d 3 192.168.1.4

注意:

  • -d debug表示调试模式启动,debug范围0-9
  • 这样可以更加细致的查看脚本的过程

NSE更新

语法:nmap --script-updatedb

作用:更新脚本引擎

使用特定网卡进行探测

前言

  • nmap是一款可扩展性强的工具,并且有些NSE脚本支持嗅探。但是这种功能需要网卡支持混杂模式才可以。或者当计算机上有两张网卡,并且两张网卡对应着不同网络
  • nmap中提供了切换特定网卡功能的参数-e

查看所有网卡

语法:nmap --iflist 

指定网卡进行探测

语法:nmap -e 网卡名 CIDR

解释:指定网卡可以对不同的网段进行探测,前提是电脑必须有多个网卡,设置多个网段

注意:若不指定网卡那么就会依次尝试向这些网卡发送数据包,若联通就会继续探测,若不连通就会换下一张网卡进行探测

对比扫描结果ndiff

前言:对比某个网络进行探测的时候,有可能之前探测过的结果,经过探测之后,需要对之前的结果与现在的结果进行对比,找到两次的不同点(目的:监视网络变化,以达到网络监控的目的)

ndiff工具

前言

  • 在nmap整个工程中,除了主要的nmap工具外,还包括很多其他的工具,接下来要使用nidiff工具
  • ndiff主要作用就是比较两个nmap的xml文件,比较他们的不同点

查看ndiff帮助:ndiff -h

使用方法

这里用windows扫描kail(192.168.1.5)

探测kail操作系统和服务:nmap -A -v -T4 192.168.1.5 -oX kail1.xml

kail启动一个服务,监听8000端口:nc -l -p 8000

探测kail操作系统和服务:nmap -A -v -T4 192.168.1.5 -oX kail2.xml

比较nmap两次扫描的结果:ndiff kail1.xml kail2.xml

注意:-代表kail1文件内容,+代表kail2文件中的内容

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

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

相关文章

Spring 中存取 Bean 的相关注解

目录 一、五大类注解 1、五大类注解存储Bean对象 1.1Controller(控制器储存) 1.2Service(服务存储) 1.3Repository(仓库存储) 1.4Component(组件存储) 1.5Configuration(配置存储) 2、五大类注解小结 2.1为什么要这么多类注解 2.2 五大类注解之间的关系 二、方法注解 1.方法注…

微信小程序编辑器代码格式缩进设置

第一步点击这个编辑器设置: 然后设置tab为空格,并且设置占几个空格,这里是4个空格。 这样就好了,文件保存就会自动设置好缩进格式了。

【Day-27慢就是快】代码随想录-二叉树-二叉树的最小深度

给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。 —————————————————————————————————— 1. 递归法 确定单层递归的逻辑: 与最…

3D 碰撞检测

推荐:使用 NSDT场景编辑器快速搭建3D应用场景 轴对齐边界框 与 2D 碰撞检测一样,轴对齐边界框 (AABB) 是确定两个游戏实体是否重叠的最快算法。这包括将游戏实体包装在一个非旋转(因此轴对齐)的框中&#…

可扩展的Blender插件开发汇总

成熟的 Blender 3D 插件是令人惊奇的事情。作为 Python 和 Blender 的新手,我经常发现自己被社区中的人们创造的强大的东西弄得目瞪口呆。坦率地说,其中一些包看起来有点神奇,当自我怀疑或冒名顶替综合症的唠叨声音被打破时,很容易想到“如果有人能做出可以做xxx的东西就好…

【数据分享】2012-2022年中国范围的逐年NPP/VIIRS夜间灯光数据(无需转发\免费获取)

在之前的文章中我们分享了2012-2022年全球范围逐年NPP/VIIRS夜间灯光数据(可查看之前的文章获悉详情)!很多小伙伴在拿到数据后,反映数据太大了,有413G,下载非常不方便!这个数据的范围是全球的&a…

七、Linux中一些符号的含义和宿主目录的介绍

1、Linux中一些符号的含义 在Linux命令行中,会看到如下一些符号,含义如下。 符号含义. 代表当前目录..代表上一层目录,当前目录的父目录-代表前一个目录,刚才从哪个目录cd过来~代表当前用户的宿主目录/代表根目录$普通用户的命…

已解决module ‘pip‘ has no attribute ‘pep425tags‘报错问题(如何正确查看pip版本、支持、32位、64位方法汇总)

本文摘要:本文已解决module ‘pip‘ has no attribute ‘pep425tags‘的相关报错问题,并总结提出了几种可用解决方案。同时结合人工智能GPT排除可能得隐患及错误。并且最后说明了如何正确查看pip版本、支持、32位、64位方法汇总 😎 作者介绍&…

elasticSearch+kibana+logstash+filebeat集群改成https认证

文章目录 一、生成相关证书二、配置elasticSearh三、配置kibana四、配置logstash五、配置filebeat六、连接https es的java api 一、生成相关证书 ps:主节点操作 切换用户:su es 进入目录:cd /home/es/elasticsearch-7.6.2 创建文件&#x…

【狂神】MyBatis(第一个Mybatis程序)

今天学了一点大概,但大概只是整个mybatis学习的1/10,我之所以想要重学一遍的原因是,我忘了。哈哈哈,但是以现在的角度去学习,我会更能够理解它的底层知识。希望这篇文章能够帮助你更好的入门。 趁着年轻多多投资自己的…

Android学习之路(12) setContentView详解

一、简介 setContentView我们在Activity中经常见到,它的作用就是把我们的布局文件放在Activity中显示,下面我们根据源码分析setContentView是如何做到的 二、源码分析 1.两种setContentView 注意Activity的setContentView和AppCompatActivity的setCo…

云端笔记系统-自动化测试

文章目录 1. 思维导图编写 Web 自动化测试用例2. 创建测试项目3. 根据思维导图设计【云端笔记】自动化测试用例3.1. 准备工具类3.2. 测试注册页面3.3. 测试登陆页面3.4. 测试添加博客页3.5. 测试我的博客列表页3.6. 测试修改博客页3.7. 测试博客列表页3.8. 测试博客详情页3.9. …

IIS perl python cbrother php脚本语言配置及简单测试样例程序

上篇笔记写了 IIS 配置 CGI, IIS CGI配置和CGI程序FreeBasic, VB6, VC 简单样例_Mongnewer的博客-CSDN博客 这篇在IIS上配置一些脚本语言。为了操作方便,每种语言在站点下分设文件夹。 1. IIS perl配置 Perl CGI方式是曾经流行的做法。先下载一个开源…

[管理与领导-65]:IT基层管理者 - 辅助技能 - 4- 职业发展规划 - 乌卡时代(VUCA )

前言: 大多数IT人,很勤奋,但都没有职业规划,被工作驱动着前行,然而,作为管理者,你就不能没有职业规划思维,因为你代表一个团队,你的思维决定了一个团队的思维。本文探讨…

【强化学习】贝尔曼公式 - bellman equation

return作用 还是用这个迷宫游戏说。 首先明确,不撞墙到终点比撞墙到终点好。路径越短到终点越好。 不撞墙到终点比撞墙到终点好。你可以把撞墙这个reward设置成负数,不撞墙设置成0。那么在最终return进行累加的时候,不撞墙的return就会大。路…

生信分析Python实战练习 4 | 视频22

开源生信 Python教程 生信专用简明 Python 文字和视频教程 源码在:https://github.com/Tong-Chen/Bioinfo_course_python 目录 背景介绍 编程开篇为什么学习Python如何安装Python如何运行Python命令和脚本使用什么编辑器写Python脚本Python程序事例Python基本语法 数…

打包个七夕exe玩玩

前段时间七夕 当别的哥们都在酒店不要不要的时候 身为程序员的我 还在单位群收到收到 正好后来看到大佬些的这个 https://www.52pojie.cn/thread-1823963-1-1.html 这个贱 我必须要犯,可是我也不能直接给他装个python吧 多麻烦 就这几个弹窗 好low 加上bgm 再打包成…

雪花算法生成id分析与实践

目录 1 什么是雪花算法? 结构 优点 缺点 2 在java中使用 使用注意: 测试代码 效果 1 什么是雪花算法? witter的雪花算法(Snowflake Algorithm)。雪花ID是一种分布式唯一ID生成算法,旨在解决分布式…

【C++历险记】面向对象|菱形继承及菱形虚拟继承

个人主页:兜里有颗棉花糖💪 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【C之路】💌 本专栏旨在记录C的学习路线,望对大家有所帮助🙇‍ 希望我们一起努力、成长&…

《多线程编程实战指南》总结

Java 并发和多线程编程推荐《Java 并发编程实战》和《多线程编程实战指南》,前者是外国非常受欢迎的书籍的翻译本,后者是国人写的书,符合国人的思维模式。 进程、线程与任务 在操作系统中会运行多个程序,一个运行中的程序就是一个…