nmap 使用方法详细介绍

news2024/11/24 9:31:22

nmap的使用
  • 前言
  • nmap 作用
  • Nmap使用教程
    • nmap的基本输入:
    • 扫描参数:
    • 端口扫描:
    • 端口状态扫描:
    • UDP扫描
    • 协议扫描
  • 总结
    • Nmap的基础知识
    • Nmap的扫描技术
      • Nmap的OS检测(O)
      • Nmap的操作系统指纹识别技术:

前言

Nmap是一款网络扫描和主机检测的非常有用的工具。 Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器。它可以适用于winodws,linux,mac等操作系统。Nmap是一款非常强大的实用工具

nmap 作用

  • 检测活在网络上的主机(主机发现)
  • 检测主机上开放的端口(端口发现或枚举)
  • 检测到相应的端口(服务发现)的软件和版本
  • 检测操作系统,硬件地址,以及软件版本
  • 检测脆弱性的漏洞(Nmap的脚本)

Nmap使用教程

Nmap使用不同的技术来执行扫描,包括:TCP的connect()扫描,TCP反向的ident扫描,FTP反弹扫描等。

Nmap的使用取决于目标主机,因为有一个简单的(基本)扫描和预先扫描之间的差异。我们需要使用一些先进的技术来绕过防火墙和入侵检测/防御系统,以获得正确的结果。

nmap的基本输入:

nmap [扫描类型] [设置] {设备地址}
其中设备地址(主机名,IP地址,网段等)
可以通过以下方法:
1.-iL <文件名> 通过文件输入地址
2.-iR <IP地址数目>
3.–exclude <exclude_file> :排出文件中的地址
扫描中最经常使用的扫描方法为nmap后边直接输入ip地址:

如:

  • nmap 192.168.53.16
  • nmap www.taobao.com
    .nmap一些常用参数

扫描参数:

-sP:
ping扫描,加上这个参数会使用ping扫描,只有主机存活,nmap才会继续扫描,一般最好不加,因为有的主机会禁止ping,却实际存在。
-sT:
TCP connect()扫描,这种方式会在目标主机的日志中记录大批的链接请求以及错误信息。
-sS:
半开扫描,一般不会记入日志,不过需要root权限。
-sU:
udp扫描,但是一般不可靠,
-sA:
用来穿过防火墙的规则集,速度慢。
-sV:
端口服务及版本
-A:
包含了-sV,-O,全面系统检测,启动脚本检测,扫描等。
-P0:
扫描之前不使用ping,适用于防火墙禁止ping,比较有用。
-v:
显示扫描进程,推荐添加
-O:
探测目标系统的漏洞,容易误报
-p:
指定端口扫描(全端口1-65535或-p-)
-oN/-oX/-oG:
将报告写入文件,格式分别为正常(自定义.txt),XML,grepable.
-iL:
扫描主机列表
-sC:
–script=default 默认的脚本扫描,主要是搜集各种应用服务的信息

设置参数:

–traceroute
-n(不要做DNS解析)
-R(DNS解析所有的地址,默认不解析不在线的IP)
-system-dns(使用系统DNS)
–dns-servers ,[,…]

端口扫描:

命令:-p <端口号列表>
例如:nmap -p80 scanme.namp.org
在这里插入图片描述

端口状态扫描:

常见的端口状态:
在这里插入图片描述
-sS TCP SYN扫描(匿名扫描,默认不加类型,需要root权限,扫描速度快)

-sT TCP全连接扫描(不需要root权限,TCP扫描的默认模式,端口状态和SYN相同,耗时长)
在这里插入图片描述

UDP扫描

-sU (使用-sUV能增加扫描的准确性)
在这里插入图片描述

协议扫描

-sO 获取服务器支持哪些协议
在这里插入图片描述

总结

Nmap的基础知识

命令举例解释
nmap localhostnmap localhost查看主机当前开放的端口
nmap ip地址nmap 192.168.13.13查看192.168.13.13 的开放端口
nmap 192.168.1.1/24~扫描整个子网
nmap 192.168.1.2 192.168.1.5~扫描多个目标
nmap 192.168.1.1-100~扫描IP地址为192.168.1.1-192.168.1.100内的所有主机
nmap -iL target.txt~扫描在namp同一目录下target.txt文件内的所有主机
nmap -sL 192.168.1.1/24~扫描的所有主机的列表
nmap 192.168.1.1/24 -exclude 192.168.1.1~扫描除了某一个ip外的所有子网主机
nmap 192.168.1.1/24 -exclude file xxx.txt~xxx.txt中的文件将会从扫描的主机中排除
nmap -p 端口范围 localhostnmap -p 1024-65535 localhost查看主机端口(1024-65535)中开放的端口
nmap -PS ip地址nmap -PS 192.168.21.163#探测目标主机开放的端口
nmap -PS端口列表 ip地址nmap -PS22,80,3306 192.168.21.163探测所列出的目标主机端口
nmap -O ip地址nmap -O 192.168.21.163探测目标主机操作系统类型
nmap -A ip地址nmap -A 192.168.21.163#探测目标主机操作系统类型

Nmap的扫描技术

扫描技术命令举例解释
Tcp SYN Scan (sS)nmap -sS ip地址nmap -sS 192.168.1.1这是一个基本的扫描方式,它被称为半开放扫描,因为这种技术使得Nmap不需要通过完整的握手,就能获得远程主机的信息。Nmap发送SYN包到远程主机,但是它不会产生任何会话.因此不会在目标主机上产生任何日志记录,因为没有形成会话。这个就是SYN扫描的优势.如果Nmap命令中没有指出扫描类型,默认的就是Tcp SYN.但是它需要root/administrator权限.
Tcp connect() scan(sT)nmap -sT ip地址nmap -sT 192.168.1.1如果不选择SYN扫描,TCP connect()扫描就是默认的扫描模式.不同于Tcp SYN扫描,Tcp connect()扫描需要完成三次握手,并且要求调用系统的connect().Tcp connect()扫描技术只适用于找出TCP和UDP端口.
Udp scan(sU)nmap -sU ip地址nmap -sU 192.168.1.1这种扫描技术用来寻找目标主机打开的UDP端口.它不需要发送任何的SYN包,因为这种技术是针对UDP端口的。UDP扫描发送UDP数据包到目标主机,并等待响应,如果返回ICMP不可达的错误消息,说明端口是关闭的,如果得到正确的适当的回应,说明端口是开放的.
FIN scan (sF)nmap -sU ip地址nmap -sU 192.168.1.1有时候Tcp SYN扫描不是最佳的扫描模式,因为有防火墙的存在.目标主机有时候可能有IDS和IPS系统的存在,防火墙会阻止掉SYN数据包。发送一个设置了FIN标志的数据包并不需要完成TCP的握手.FIN扫描也不会在目标主机上创建日志(FIN扫描的优势之一).个类型的扫描都是具有差异性的,FIN扫描发送的包只包含FIN标识,NULL扫描不发送数据包上的任何字节,XMAS扫描发送FIN、PSH和URG标识的数据包.
PING Scan (sP)nmap -sP ip地址nmap -sP 192.168.1.1PING扫描不同于其它的扫描方式,因为它只用于找出主机是否是存在在网络中的.它不是用来发现是否开放端口的.PING扫描需要ROOT权限,如果用户没有ROOT权限,PING扫描将会使用connect()调用.
版本检测(sV)nmap -sV ip地址nmap -sV 192.168.1.1版本检测是用来扫描目标主机和端口上运行的软件的版本.它不同于其它的扫描技术,它不是用来扫描目标主机上开放的端口,不过它需要从开放的端口获取信息来判断软件的版本.使用版本检测扫描之前需要先用TCP SYN扫描开放了哪些端口.
Idle scan (sL)nmap -sL ip地址1 ip地址2nmap -sL 192.168.1.6 192.168.1.1Idle scan是一种先进的扫描技术,它不是用你真实的主机Ip发送数据包,而是使用另外一个目标网络的主机发送数据包.Idle scan是一种理想的匿名扫描技术,通过目标网络中的192.168.1.6向主机192.168.1.1发送数据,来获取192.168.1.1开放的端口

有需要其它的扫描技术,如 FTP bounce(FTP反弹), fragmentation scan(碎片扫描), IP protocol scan(IP协议扫描),以上讨论的是几种最主要的扫描方式.

Nmap的OS检测(O)

Nmap最重要的特点之一是能够远程检测操作系统和软件,Nmap的OS检测技术在渗透测试中用来了解远程主机的操作系统和软件是非常有用的,通过获取的信息你可以知道已知的漏洞。Nmap有一个名为的nmap-OS-DB数据库,该数据库包含超过2600操作系统的信息。 Nmap把TCP和UDP数据包发送到目标机器上,然后检查结果和数据库对照。

Initiating SYN Stealth Scan at 10:21
Scanning localhost (127.0.0.1) [1000 ports]
Discovered open port 111/tcp on 127.0.0.1
Completed SYN Stealth Scan at 10:21, 0.08s elapsed (1000 total ports)
Initiating OS detection (try #1) against localhost (127.0.0.1)
Retrying OS detection (try #2) against localhost (127.0.0.1)

上面的例子清楚地表明,Nmap的首次发现开放的端口,然后发送数据包发现远程操作系统。操作系统检测参数是O(大写O)
在这里插入图片描述

Nmap的操作系统指纹识别技术:
  • 设备类型(路由器,工作组等)
  • 运行(运行的操作系统)
  • 操作系统的详细信息(操作系统的名称和版本)
  • 网络距离(目标和攻击者之间的距离跳)

如果远程主机有防火墙,IDS和IPS系统,你可以使用-PN命令来确保不ping远程主机,因为有时候防火墙会组织掉ping请求.-PN命令告诉Nmap不用ping远程主机。

nmap -O -PN 192.168.1.1/24

  
  
  • 1

以上命令告诉发信主机远程主机是存活在网络上的,所以没有必要发送ping请求,使用-PN参数可以绕过PING命令,但是不影响主机的系统的发现.

Nmap的操作系统检测的基础是有开放和关闭的端口,如果OS scan无法检测到至少一个开放或者关闭的端口,会返回以下错误:

Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port

OS Scan的结果是不可靠的,因为没有发现至少一个开放或者关闭的端口.
在这里插入图片描述

这种情况是非常不理想的,应该是远程主机做了针对操作系统检测的防范。如果Nmap不能检测到远程操作系统类型,那么就没有必要使用-osscan_limit检测。
在这里插入图片描述
想好通过Nmap准确的检测到远程操作系统是比较困难的,需要使用到Nmap的猜测功能选项, –osscan-guess 猜测认为最接近目标的匹配操作系统类型。

nmap -O --osscan-guess 192.168.1.1

  
  
  • 1

Nmap是一个非常强大的工具,它具有覆盖渗透测试的第一方面的能力,其中包括信息的收集和统计。本文从初级到高级的讲解了Nmap入侵扫描工具的使用.希望对大家有所帮助.

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

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

相关文章

管理类联考——英语二——考点+记忆篇——小作文

文章目录 考点整体写作结构法记忆宫殿法第一句绘图记忆法 局部第一段第二段第三段 本篇思路&#xff1a;根据各方的资料&#xff0c;比如名师的资料&#xff0c;按大纲或者其他方式&#xff0c;收集/汇总考点&#xff0c;即需记忆点&#xff0c;在通过整体的记忆法&#xff0c;…

PHP 字符串常用函数

PHP 字符串常用函数 字符串属性strlen 筛选查找strposstrrposstrstrstrrchr查找方法之间区别总结 拼接&#xff0c;拆分字符串explodestrtokimplodesubstr 替换字符串str_replace 格式化字符串trimltrimrtrim 字符串属性 strlen 获取指定字符串长度 语法: strlen (字符串变…

Transformer的Q、K、V和Mutil-Head Self-Attention(超详细解读)

目录 一.什么是Q、K、V 二.Mutil-Head Self-Attention Transformer大行其道&#xff0c;在众多领域取得了不可忽视的成就。如今大火的语言大模型LLM也都是基于Transformer&#xff0c;但是Transformer中的Q、K、V和多头注意力到底是什么呢&#xff1f;这里简单做个学习记录&a…

实景三维信创产品与智能硬件重磅发布 | 大势智慧2023秋季新品发布会圆满落幕

10月27日&#xff0c;大势智慧2023秋季新品发布会取得圆满成功。本次发布会以“全国产、真安全”为主题&#xff0c;重磅发布了一系列国产化软硬件产品和新型智能装备&#xff0c;用于满足实景三维全流程的安全生产和应用需求。大会同步在官方微信视频号、bilibili直播间进行线…

如何记录每天的工作日程?电脑手机通用的日程管理软件

在工作时间有限&#xff0c;但工作任务愈加繁多的现在职场中&#xff0c;要求每一个职场人士做好高效日程管理。通过高效管理日程&#xff0c;我们可以更好地组织和安排任务&#xff0c;合理分配时间和优先级&#xff0c;这有助于我们更专注地进行工作&#xff0c;减少时间的浪…

分析报告有样板了-奥威BI数据可视化报表模板

述职报告、月度数据分析报告、季度数据分析报告、区域数据分析报告……人在职场&#xff0c;数据分析报告少不了。那么&#xff0c;怎么才能在极短的时间内做出一张既好看又突出重点、分析逻辑在线的数据可视化分析报表&#xff1f;奥威BI软件的建议是采用BI数据可视化报表模板…

批量调整图片尺寸方案(比例不变)

最近又有一个问题,需要把一堆图片调整成统一的尺寸大小(例如100*100像素)。 网上或者很多工具都是直接把图片尺寸调整到对应尺寸。 这就出现了一个问题—— 整个图片会被压缩拉伸,图片里的物体/人等都变形了。 原图(200*270): 直接调整尺寸后(200*200): 我们需…

Zabbix监控原理 安装

一、监控介绍 1、监控目的 监控是需要站在公司的业务角度去考虑&#xff0c;而不是针对某个监控技术的使用 对系统不间断时实监控 实际上是对系统不间断的时实监控 实时反馈系统当前状态 我们监控某个硬件、或者系统&#xff0c;都是需要能时实看到当前系统的状态&#x…

创作者焦点:MetaLab 和 Hangar Games(第一章)

一起来看看「Dr. Bomkus 的试炼」幕后的创作故事吧&#xff5e; 「创作者焦点」系列报道将带来六篇关于「Dr. Bomkus 的试炼」游戏的创作过程&#xff0c;以及其独特的游戏玩法和功能。请关注我们&#xff0c;查看更多系列内容的发布。 The Dr. Bomkus MetaLab Dr. Bomkus Meta…

基于Springboot+MYSQL+Maven实现的宠物医院管理系统(源码+数据库+运行指导文档+项目运行指导视频)

一、项目简介 本项目是一套基于springboot框架实现的宠物医院管理系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操作简单…

前端基础之BOM和DOM

目录 一、前戏 window对象 window的子对象 navigator对象&#xff08;了解即可&#xff09; screen对象&#xff08;了解即可&#xff09; history对象&#xff08;了解即可&#xff09; location对象 弹出框 计时相关 二、DOM HTML DOM 树 查找标签 直接查找 间…

使用Qt Installer Framework将自己的程序打包成安装包程序

使用Qt Installer Framework将自己的程序打包成安装包程序 制作安装包程序就是将自己的程序打包成一个可执行的exe&#xff0c;双击之后进行安装。 1. 在制作安装包程序之前需要安装qt官方提供的安装包制作工具Qt Installer Framework 去qt官方网址&#xff0c;下载对应的 Q…

gorm的自动化工具gen

gorm的自动化工具gen 官方 https://gorm.io/zh_CN/gen/假设数据库结构如 这里使用gen-tool 安装 go install gorm.io/gen/tools/gentoollatest用法 gentool -hUsage of gentool:-c string配置文件名、默认值 “”、命令行选项的优先级高于配置文件。 -db string指定Driver…

大语言模型对齐技术 最新论文及源码合集(外部对齐、内部对齐、可解释性)

大语言模型对齐(Large Language Model Alignment)是利用大规模预训练语言模型来理解它们内部的语义表示和计算过程的研究领域。主要目的是避免大语言模型可见的或可预见的风险&#xff0c;比如固有存在的幻觉问题、生成不符合人类期望的文本、容易被用来执行恶意行为等。 从必…

【机器学习】四、计算学习理论

1 基础知识 计算学习理论&#xff08;computational learning theory&#xff09;&#xff1a;关于通过“计算”来进行“学习”的理论&#xff0c;即关于机器学习的理论基础&#xff0c;其目的是分析学习任务的困难本质&#xff0c;为学习算法体统理论保证&#xff0c;并根据结…

2023年11月2日历史上的今天大事件早读

1082年11月02日宋徽宗出生 1861年11月02日辛酉政变 1910年11月02日中国社会学家和人类学家费孝通诞生 1910年11月02日畜生态学科的创始人汤逸人诞生 1917年11月02日《贝尔福宣言》和犹太复国主义 1917年11月02日美日订立“兰辛—石井协定”损害中国利益 1937年11月02日忻…

数据结构之二叉树(图解➕源代码)

前言 哈喽&#xff0c;大家好&#xff0c;这里是面包园的知识分享&#xff0c;在上一篇文章中我们学习了树的相关概念&#xff0c;了解了树形结构&#xff0c;那今天让我们进一步学习树的特殊结构——二叉树。 一、什么是二叉树&#xff1f; 二叉树的概念&#xff1a;根节点…

优维产品最佳实践第13期:如何避免拨测机自身网络问题?

受限于拨测节点自身的环境&#xff0c;单一节点的拨测结果可能并不能反映出监控实例的真实运行状态 本期EasyOps产品使用最佳实践&#xff0c;我们将为您揭晓&#xff1a; 如何基于多点决策配置拨测监控&#xff0c;以避免拨测机自身网络问题而误告警&#xff1f; 如何对指标…

GDS-enabled BeeGFS 人工智能并行存储解决方案

项目背景 HPC 和 AI 的融合正在颠覆一切。在这样的新时代&#xff0c;企业需要全新的存储解决方案&#xff0c;才能以高效且经济的方式从容应对来势汹汹的数据洪流。独立分析公司 Intersect360 开展的一项研究发现&#xff0c;多达 66% 的 HPC 用户目前已在执行机器学习计划。…

写一个方法实现数组元素每两个元素加一个换行,并进行文件导出

文章目录 需求分析 需求 源数据&#xff1a; 输出的数据如下&#xff1a; 分析 我们可以手写一个方法&#xff0c;方法如下&#xff1a; transformArray(arr) {var result ;for (var i 0; i < arr.length; i 2) {result arr[i] , arr[i 1];if (i 2 < arr.le…