nmap 使用方法详细介绍

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.rhkb.cn/news/177911.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络套接字编程(三)

网络套接字编程(三) 文章目录 网络套接字编程(三)简易日志组件引入日志的原因日志等级打印日志函数将日志组件使用到服务端中 守护进程概念进程组、终端、会话守护进程的实现原理守护进程化组件将守护进程化组件使用到服务端中 补充知识关于inet_ntoa 在上一篇博客 网络套接字…

【Apache Flink】Flink DataStream API的基本使用

Flink DataStream API的基本使用 文章目录 前言1. 基本使用方法2. 核心示例代码3. 完成工程代码pom.xmlWordCountExample测试验证 4. Stream 执行环境5. 参考文档 前言 Flink DataStream API主要用于处理无界和有界数据流 。 无界数据流是一个持续生成数据的数据源&#xff0…

git命令清单

一、设置和配置 1.初始化一个新的仓库&#xff1a; git init2.克隆&#xff08;Clone&#xff09;一个远程仓库到本地&#xff1a; git clone <repository_url>3.配置用户信息&#xff1a; git config --global user.name "Your Name" git config --global…

疑难杂症-暂时不能解析域名“mirrors.tuna.tsinghua.edu.cn”

可能是太久没用Ubuntu了&#xff0c;总是有一些莫名其妙的问题 我的方法简单粗暴&#xff1a;不需要重启&#xff0c;打开终端&#xff0c;输入sudo apt-get update&#xff0c;解析成功 还有一些别的方法&#xff0c;不过我也没试过 修改/etc/resolv.conf还是修改/etc/resol…

客户端与服务端实时通讯(轮询、websocket、SSE)

客户端与服务端实时通讯 背景 在某些项目中&#xff0c;某些数据需要展示最新的&#xff0c;实时的&#xff0c;这时候就需要和服务端进行长时间通讯 方案 对于数据实时获取&#xff0c;我们一般会有4种方案&#xff1a; 1.短轮询&#xff1a;使用浏览器的定时器发起http请…

两个字符串的删除操作

题目描述 给定两个单词 word1 和 word2 &#xff0c;返回使得 word1 和 word2 相同所需的最小步数。每步可以删除任意一个字符串中的一个字符。 示例 思路 其实这道题的思路和最长公共子序列的思路一致&#xff0c;本题让我们求word1 和 word2 相同所需的最小步数&#xff0…

[概述] 获取点云数据的仪器

这里所说的获取点云的仪器指的是可以获取场景中物体距离信息的相关设备&#xff0c;下面分别从测距原理以及适用场景来进行介绍。 一、三角测距法 三角测距原理 就是利用三角形的几何关系来测量物体的距离。想象一下&#xff0c;你站在一个地方&#xff0c;你的朋友站在另一…

【笔记】excel怎么把汉字转换成拼音

1、准备好excel文件&#xff0c;复制需要转拼音列。 2、打开一个空白Word文档&#xff0c;并粘贴刚才复制的内容&#xff1b; 3、全选Word文档中刚粘贴的内容&#xff0c;点击「开始」选项卡「字体」命令组下的「拼音指南」&#xff0c;调出拼音指南对话框&#xff1b; 4、全…

数据库深入浅出,数据库介绍,SQL介绍,DDL、DML、DQL、TCL介绍

一、基础知识&#xff1a; 1.数据库基础知识 数据(Data)&#xff1a;文本信息(字母、数字、符号等)、音频、视频、图片等&#xff1b; 数据库(DataBase)&#xff1a;存储数据的仓库&#xff0c;本质文件&#xff0c;以文件的形式将数据保存到电脑磁盘中 数据库管理系统(DBMS)&…

MySQL Error 1215: Cannot add foreign key constraint

首先确保中介表中被设置外键的字段不能被设置为主键 第二步确保外键字段的属性与要连接的表的字段属性相同 第三步&#xff0c;设置表的选项 修改引擎为 InnoDB 三个表的引擎都要修改 最后就是运行代码 SET OLD_FOREIGN_KEY_CHECKSFOREIGN_KEY_CHECKS; SET FOREIGN_KEY_…

在微信小程序怎么领取优惠券

随着科技的发展&#xff0c;微信小程序已经成为我们日常生活中不可或缺的一部分。它为我们提供了各种各样的服务&#xff0c;使我们的生活变得更加便捷。而在这些服务中&#xff0c;领取优惠券成为了大家特别喜欢的功能之一。本文将详细介绍如何在微信小程序中领取优惠券&#…

电压跟随器输入脚悬空引起的振荡

昨天在调试一个电路板的时候&#xff0c;发现进单片机AD脚的信号上面有个50Hz的波形&#xff0c;峰峰值还挺大&#xff0c;有几百毫伏。这种情况只有在输入端悬空的时候才出现&#xff1b;在输入端接了信号或者传感器的时候&#xff0c;就又正常了。 经过排查&#xff0c;发现…

图数据库Neo4j——SpringBoot使用Neo4j 简单增删改查 复杂查询初步

前言 图形数据库是专门用于存储图形数据的数据库&#xff0c;它使用图形模型来存储数据&#xff0c;并且支持复杂的图形查询。常见的图形数据库有Neo4j、OrientDB等。 Neo4j是用Java实现的开源NoSQL图数据库&#xff0c;本篇博客介绍如何在SpringBoot中使用Neo4j图数据库&…

外汇天眼:进行外汇交易,杠杆是不是越大越好?

有在做外汇保证金交易的投资人&#xff0c;相信对杠杆一定不陌生&#xff0c;不知道你是否曾经想过&#xff0c;外汇杠杆到底要怎么用比较好&#xff1f;一家经纪商提供的杠杆越大&#xff0c;对交易者来说就一定好吗&#xff1f;让我们一起思考以下几个问题。 滥用外汇交易杠…

稳恒电路直观理解0

图v0 图v1 图v2 图v3 图v4 自由正电荷s&#xff0c;定向移动过程中&#xff0c;在任何一位置处受力都是平衡的&#xff0c;即s所受总合力为0&#xff0c; 即s处于匀速运动&#xff1a;直导体中匀速直线运动、拐弯处匀速圆周运动 起初t0时刻, s的势能是最高的E0&#xff0c;之…

HarmonyOS数据管理与应用数据持久化(一)

一. 数据管理概述 功能介绍 数据管理为开发者提供数据存储、数据管理能力&#xff0c;比如联系人应用数据可以保存到数据库中&#xff0c;提供数据库的安全、可靠等管理机制。 数据存储&#xff1a;提供通用数据持久化能力&#xff0c;根据数据特点&#xff0c;分为用户首选项、…

文本生成高质量3D模型,支持二次编辑!Stable Difusion新产品来啦

11月2日&#xff0c;著名开源平台Stability AI&#xff08;Stable Difusion母公司&#xff09;在官网宣布推出了Stable 3D&#xff0c;支持用户通过文本、图片或插图&#xff0c;直接就能生成高质量3D模型。 生成模型的格式是.obj&#xff0c;可以直接在Blender、Maya、C4D、Z…

2127. 参加会议的最多员工数 : 啥是内向/外向基环树(拓扑排序)

题目描述 这是 LeetCode 上的 「2127. 参加会议的最多员工数」 &#xff0c;难度为 「困难」。 Tag : 「拓扑排序」、「内向基环树」、「图」 一个公司准备组织一场会议&#xff0c;邀请名单上有 n 位员工。 公司准备了一张圆形的桌子&#xff0c;可以坐下任意数目的员工。 员工…

长距离工业RFID读写器的特点

长距离工业RFID读写器是一种特殊的RFID设备&#xff0c;能够在较远的距离内读取和写入RFID标签上的信息。这种读写器通常用于工业自动化、物流跟踪、车辆管理等领域&#xff0c;以实现高效、准确的跟踪和管理。 长距离工业RFID读写器采用先进的射频技术和信号处理技术&#xff…

needle库

python#导入需要的库import needle#定义代理主机和端口proxy_host"jshk.com.cn"proxy_port7894#使用needle库的网页爬虫功能&#xff0c;设置代理服务器参数&#xff0c;爬取https://read.jd.com/页面的HTML内容html_contentneedle.get("https://read.jd.com/&q…