nmap使用教程

nmap使用教程

  • 一、nmap简介
  • 二、nmap常用命令
    • 2.1、target specification(目标规范)
      • 2.1.1、用法
      • 2.1.2、详情
    • 2.2、HOST DISCOVERY(主机发现)
      • 2.2.1、用法
      • 2.2.2、详情
    • 2.3、SCAN TECHNIQUES(扫描技术)
    • 2.4、PORT SPECIFICATION AND SCAN ORDER(端口规格和扫描顺序)
    • 2.5、SERVICE/VERSION DETECTION(服务/版本检测)
    • 2.6、SCRIPT SCAN(脚本扫描)
    • 2.7、OS DETECTION(OS 识别)
    • 2.8、TIMING AND PERFORMANCE(时间与性能)
    • 2.9、FIREWALL/IDS EVASION AND SPOOFING(防火墙/ IDS逃避和欺骗)
    • 2.10、(OUTPUT(Nmap 输出)
    • 2.11、MISC(其他 nmap选项)

一、nmap简介

  • nmap是一款非常强大的主机发现和端口扫描工具,而且nmap运用自带的脚本,还能完成漏洞检测,同时支持多平台。
  • 官方文档:https://nmap.org/man/zh/
  • 查看用法:nmap -h
    在这里插入图片描述

二、nmap常用命令

  • 用法:
nmap [Scan Type(s)] [Options] {target specification}

2.1、target specification(目标规范)

  • 可以使用主机名、IP地址、网络等
  • 例如:scanme.nmap.orgmicrosoft.com/24192.168.0.110.0.0-255.1-254

2.1.1、用法

-iL <inputfilename>				# Input from list of hosts/networks 输入主机/网络列表
-iR <num hosts>					# Choose random targets 随机选择目标
# 选项 0 意味着永无休止的扫描
# nmap -sS -PS80 -iR 0 -p 80	随机地找一些网站浏览--exclude <host1[,host2][,host3],...>	# Exclude hosts/networks 排除主机/网络
--excludefile <exclude_file>			# Exclude list from file 排除文件中的列表

2.1.2、详情

  1. -iL <inputfilename> Input from list of hosts/networks 输入主机/网络列表
    在这里插入图片描述
    在这里插入图片描述

  2. -iR <num hosts> Choose random targets 随机选择目标

    • 选项 0 意味着永无休止的扫描
    • nmap -sS -PS80 -iR 0 -p 80 随机地找一些网站浏览
      在这里插入图片描述
  3. --exclude <host1[,host2][,host3],...> Exclude hosts/networks 排除主机/网络
    在这里插入图片描述
    在这里插入图片描述

  4. --excludefile <exclude_file> Exclude list from file 排除文件中的列表

    • 举例:略

2.2、HOST DISCOVERY(主机发现)

2.2.1、用法

-sL                          			# List Scan - simply list targets to scan 简单的扫描目标
-sn                          			# Ping Scan - disable port scan Ping扫描 - 禁用端口扫描
-Pn                          			# Treat all hosts as online -- skip host discovery 将所有主机视为在在线,跳过主机发现
-PS[portlist]                			# (TCP SYN ping) 需要root权限
-PA[portlist]                			# (TCP ACK ping)
-PU[portlist]                			# (UDP  ping)
-PY[portlist]                			# (SCTP ping)
-PE/PP/PM                    			# ICMP echo, timestamp, and netmask request discovery probes ICMP回显,时间戳和网络掩码请求探测
-PO[protocol list]          		 	# IP Protocol Ping IP协议Ping
-n/-R                        			# Never do DNS resolution/Always resolve [default: sometimes] 从不执行DNS解析/始终解析[默认:有时]
--dns-servers <serv1[,serv2],...>		# Specify custom DNS servers 指定自定义DNS服务器
--system-dns                 			# Use OS's DNS resolver 使用OS的dns服务器
--traceroute                 			# Trace hop path to each host 跟踪到每个主机的跃点路径

2.2.2、详情

  1. -sL List Scan - simply list targets to scan 简单的扫描目标

    • 仅仅只是列出ip区域内的主机,不进行主机发现
    • nmap -sL 192.168.9.140-150 这个参数会列举出140-150内全部ip,但并不会进行主机发现
      在这里插入图片描述
      在这里插入图片描述
  2. -sn Ping Scan - disable port scan Ping扫描 - 禁用端口扫描

    • 这个参数可以和 -sP 归为一类,使用ping进行主机发现,不进行端口扫描
      在这里插入图片描述
      在这里插入图片描述
  3. -Pn Treat all hosts as online – skip host discovery 将所有主机视为在在线,跳过主机发现

    • 过主机发现阶段,直接进行端口扫描,该参数会认为主机为存活状态,端口为全部开放状态,扫描时间较长,在目标有防火墙的情况下,使用该参数,效果较好,等同于-PO
      在这里插入图片描述
  4. -PS[portlist] (TCP SYN ping) 需要root权限

  5. -PA[portlist] (TCP ACK ping)

  6. -PU[portlist] (UDP ping)

  7. -PY[portlist] (SCTP ping)
    在这里插入图片描述

  8. PE/PP/PM ICMP echo, timestamp, and netmask request discovery probes ICMP回显,时间戳和网络掩码请求探测

    • 根据ICMP协议判断端口开放状态,相较于 -sP 更有成效
      在这里插入图片描述
  9. -PO[protocol list] IP Protocol Ping IP协议Ping

  10. -n/-R Never do DNS resolution/Always resolve [default: sometimes] 从不执行DNS解析/始终解析[默认:有时]

    • -n 代表不需要反向解析域名,-R 代表需要反向解析域名
  11. --dns-servers <serv1[,serv2],...> Specify custom DNS servers 指定自定义DNS服务器

  12. --system-dns Use OS’s DNS resolver 使用OS的dns服务器

  13. --traceroute Trace hop path to each host 跟踪到每个主机的跃点路径
    在这里插入图片描述

2.3、SCAN TECHNIQUES(扫描技术)

-sS     			# 使用TCP的SYN进行扫描
-sT    				# 使用TCP进行扫描
-sA                 # 使用TCP的ACK进行扫描
-sW					# Window
-sM					# Maimon scans
-sU                 # UDP扫描
-sN/sF/sX			# TCP Null, FIN, and Xmas scans
--scanflags <flags>	# Customize TCP scan flags 自定义 TCP 包中的 flags
-sI                 # Idle扫描 空闲扫描
-sY/sZ				# SCTP INIT/COOKIE-ECHO scans 
-sO					# IP protocol scan 使用 IP protocol 扫描确定目标机支持 的协议类型
-b<FTP中继主机>     	# FTP反弹扫描

2.4、PORT SPECIFICATION AND SCAN ORDER(端口规格和扫描顺序)

-p <port ranges>				# Only scan specified ports 扫描指定端口 -p : 只扫描指定的端口,-p-代表全端口扫描Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
--exclude-ports <port ranges>	# Exclude the specified ports from scanning	 从扫描中排除指定端口
-F								# Fast mode - Scan fewer ports than the default scan 快速模式-扫描比默认扫描更少的端口
-r								# Scan ports sequentially - don't randomize 连续扫描端口-不随机化
--top-ports <number>			# Scan <number> most common ports  扫描开放概率最高的 number 个端口
--port-ratio <ratio>			# Scan ports more common than <ratio> 扫描指定频率以上的端口 

2.5、SERVICE/VERSION DETECTION(服务/版本检测)

-sV								# Probe open ports to determine service/version info 开放版本探测,可以直接使用 -A 同时打开 操作系统探测和版本探测
--version-intensity <level>		# Set from 0 (light) to 9 (try all probes) 设置版本扫描强度,强度水平说明了应该使 用哪些探测报文。数值越高,服务越有可能被正确识别 。默认是 7
--version-light					# Limit to most likely probes (intensity 2) # 打开轻量级模式,为 --version-intensity 2 的别名
--version-all					# Try every single probe (intensity 9) # 尝试所有探测,为 --version-intensity 9 的别名
--version-trace					# Show detailed version scan activity (for debugging) # 显示出详细的版本侦测过程信息

2.6、SCRIPT SCAN(脚本扫描)

-sC										# 根据端口识别的服务,调用默认脚本 等效于 --script=defult
--script=<Lua scripts>					# 调用的脚本名
--script-args=<n1=v1,[n2=v2,...]>		# 调用的脚本传递的参数
--script-args-file=filename				# 使用文本传递参数
--script-trace 							# 显示所有发送和接收到的数据
--script-updatedb						# 更新脚本的数据库
--script-help=<Lua scripts>				# 显示指定脚本的帮助

在这里插入图片描述

2.7、OS DETECTION(OS 识别)

-O 					# 启用操作系统检测,-A 来同时启用操作系统检测和版本检测
--osscan-limit 		# 针对指定的目标进行操作系统检测 (至少需确知该主机分别有 一个 open 和 closed 的端口)
--osscan-guess 		# 推测操作系统检测结果,当 Nmap 无法确定所检测的操作系统 时,会尽可能地提供最相近的匹配,Nmap 默认进行这种匹配

2.8、TIMING AND PERFORMANCE(时间与性能)

  • 选择“<时间>”的选项以秒为单位,或追加“毫秒”(毫秒),s(秒)、M(分钟),或 “ H ” (小时)的值(如30m)
-T < 0-5 >											# 设置时序模板(更高更快)
--min-hostgroup / max-hostgroup < size >			# 并行主机扫描组大小
--min-parallelism / max-parallelism < numprobes >	# 探针并行
--min-rtt-timeout / max-rtt-timeout / initial-rtt-timeout < time > # 指定探头往返时间
--max-retries < tries >								# 扫描探针重发的端口盖数
--scan-delay / --max-scan-delay < time >			# 调整探针间的延迟
--min-rate < number >								# 每秒发送的数据包不比 < 数字 > 慢
--max-rate < number >								# 发送包的速度不比 < 每秒 > 数字快

2.9、FIREWALL/IDS EVASION AND SPOOFING(防火墙/ IDS逃避和欺骗)

-f; --mtu < val > 							# 指定使用分片、指定数据包的 MTU
-D < decoy1 , decoy2 [,ME ]... >			# 使用诱饵隐蔽扫描
-S < IP_Address >							# 源地址欺骗
-e < interface >							# 使用指定的接口
-g / --source-port < portnum >				# 使用指定源端口
--proxies < url1,[ url2 ]... >			# 使用 HTTP 或者 SOCKS4 的代理
--data < hex string >						# 向发送的数据包追加自定义有效载荷
--data-string < string >					# 添加一个自定义的ASCII字符串发送的数据包
--data-length < num >						# 填充随机数据让数据包长度达到 NUM
--ip-options < options >					# 使用指定的 IP 选项来发送数据包
--ttl < val >								# 设置 IP time-to-live 域
--spoof-mac < mac address / prefix / vendor name >	# MAC 地址伪装
--badsum 									# 使用错误的 checksum 来发送数据包

2.10、(OUTPUT(Nmap 输出)

-oN							# 将标准输出直接写入指定的文件
-oX							# 输出 xml 文件
-oS							# 将所有的输出都改为大写
-oG							# 输出便于通过 bash 或者 perl 处理的格式,非 xml
-oA < basename >			# 可将扫描结果以标准格式、XML 格式和 Grep 格式一 次性输出
-v 							# 提高输出信息的详细度
-d level 					# 设置 debug 级别,最高是 9
--reason					# 显示端口处于带确认状态的原因
--open						# 只输出端口状态为 open 的端口
--packet-trace				# 显示所有发送或者接收到的数据包
--iflist					# 显示路由信息和接口,便于调试
--append-output				# 追加到指定的文件
--resume < filename >		# 恢复已停止的扫描
--stylesheet < path / URL >	# 设置 XSL 样式表,转换 XML 输出
--webxml 					# 从 http://namp.org 得到 XML 的样式 
--no-sytlesheet				# 忽略 XML 声明的 XSL 样式表

2.11、MISC(其他 nmap选项)

-6							# 开启 IPv6
-A 							# OS 识别,版本探测,脚本扫描和 traceroute
--datadir < dirname >		# 说明用户 Nmap 数据文件位置
--send-eth / --send-ip		# 使用原以太网帧发送/在原 IP 层发送
--privileged 				# 假定用户具有全部权限
--unprovoleged				# 假定用户不具有全部权限,创建原始套接字需要 root 权限
-V 							# 打印版本信息
-h							# 输出帮助

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

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

相关文章

[openwrt-21.02]MT7981+MT7976 WiFi 校准数据打包方法

Openwrt 版本 NAME="OpenWrt" VERSION="21.02-SNAPSHOT" ID="openwrt" ID_LIKE="lede openwrt" PRETTY_NAME="OpenWrt 21.02-SNAPSHOT" VERSION_ID="21.02-snapshot" HOME_URL="https://openwrt.org/"…

开源交互审计系统:功能强大、安全好用【送源码】

在当今信息化时代&#xff0c;网络安全越来越受到重视。传统的远程控制工具&#xff0c;如RDP、SSH、VNC等&#xff0c;虽然方便易用&#xff0c;但存在安全隐患&#xff0c;容易被黑客利用。很多时候我们都需要做一些防护的处理来来保障网络安全。 今天了不起来分享一款开源好…

【总结】CE认证详解

文章目录 CE认证 CE作用 适用范围 测试项目 一、2014/30/EU指令&#xff0c;电磁兼容&#xff08;EMC&#xff09;测试项目 二、2014/35/EU指令&#xff0c;低电压&#xff08;LVD&#xff09;测试项目 三、2011/65/EU指令&#xff0c;有害物质&#xff08;RoHS&#xff09…

postsql数据库等保测评命令

psql -U postgres \c 查看连接的数据库和用户名 pg_ctl --version或者&#xff1a;select version(); select * from pg_hba_file_rules; 展示 pg_hba.conf 文件内容的系统表或视图 show shared_preload_libraries; 密码复杂度 select * from pg_shadow 查看valuntil 字段密码…

C#图像:1.图像区域分割与提取

&#xff08;1&#xff09;创建一个名为SplitImage的窗体的应用程序&#xff0c;将窗体改名为FormSplitImage。 &#xff08;2&#xff09;创建一个名为ImageProcessingLibrary的类库程序&#xff0c;为该工程添加名为ImageProcessing的静态类 &#xff08;3&#xff09;为Imag…

二进制转为HEX数组小工具

在使用RA8889时&#xff0c;JPG的解码只能从FLASH的DMA通道获取&#xff0c;那么如果要从远端、或者SD卡等处读取JPG图片出来显示怎么办&#xff1f; RA8889支持JPG图片硬解码&#xff0c;但数据流是从FLASH进行DMA读取的&#xff0c;然后再进行解码。因此这种情况下&#xff…

游戏陪玩平台app小程序H5源码交付游戏陪玩接单软件游戏陪玩源码 陪玩小程序陪玩工作室运营模式陪玩管理系统游戏陪玩工作室怎么做

提供陪玩平台源码&#xff0c;陪玩系统源码&#xff0c;陪玩app源码&#xff0c;团队各部门配备齐全&#xff0c;分工明确&#xff0c;及时对接开发进度&#xff0c;保证开发效率 一、陪玩平台源码的功能介绍 1、派单大厅:陪玩系统源码的派单大厅内支持用户通过语音连麦的方式…

如何使用visual vm和jstat进行远程监控

如何使用visual vm和jstat进行监控 安装visual vm 好像从jdk某个版本开始&#xff0c;jdk的bin目录下就不自带jvisualvm了&#xff0c;需要从官网下载一个visual vm。 打开visual vm Local是你本地的&#xff0c;无需多言。 先准备下必备的插件 如何通过visual vm观测远程…

ICode国际青少年编程竞赛- Python-3级训练场-条件练习

ICode国际青少年编程竞赛- Python-3级训练场-条件练习 1、 for i in range(5):Spaceship.step(2)Spaceship.turnLeft()Spaceship.step(2)Spaceship.turnRight()if i ! 0:Dev.step(-2)Dev.step(2)2、 for i in range(6):Dev.step(i1)Dev.turnLeft()if i ! 0 and i ! 1:Dev.s…

【机器学习300问】83、深度学习模型在进行学习时梯度下降算法会面临哪些局部最优问题?

梯度下降算法是一种常用的优化方法&#xff0c;用于最小化损失函数以训练模型。然而&#xff0c;在使用梯度下降算法时&#xff0c;可能会面临以下局部最优问题。 &#xff08;一&#xff09;非凸函数的局部极小值 问题描述&#xff1a;在复杂的损失函数中&#xff0c;如果目…

每日一题——力扣27. 移除元素(举一反三)

题目链接&#xff1a;https://leetcode.cn/problems/remove-element/description/ 菜鸡写法&#xff1a; // 函数定义&#xff0c;移除数组nums中所有值为val的元素&#xff0c;并返回新的数组长度 int removeElement(int* nums, int numsSize, int val) {// 如果数组长度为…

linux arm 安装nacos(pg数据库版)

要在Linux ARM架构上安装Nacos&#xff0c;你可以按照以下步骤进行操作&#xff1a; 1、下载Nacos压缩包&#xff1a; 首先&#xff0c;你需要下载Nacos的压缩包。访问Nacos的GitHub Release页面&#xff08;nacos下载&#xff09; 2、解压Nacos压缩包&#xff1a; 下载完成后…

Java基础知识(7)

Java基础知识&#xff08;7&#xff09; &#xff08;包括&#xff1a;Arrays工具类&#xff0c;Lambda表达式&#xff0c;单列集合&#xff09; 目录 Java基础知识&#xff08;7&#xff09; 一.Arrays操作数组的工具类。 二. Lambda表达式 1. 函数式编程 2. Lambda表达…

VS Code 远程连接 SSH 服务器

文章目录 一、安装 Remote - SSH 扩展并连接远程主机二、免密连接远程主机1. 生成 SSH 密钥对2. 将公钥复制到远程服务器3. 配置 SSH 客服端4. 连接测试 随着技术的不断迭代更新&#xff0c;在 Linux 系统中使用 Vim、nano 等基于 Shell 终端的编辑器&#xff08;我曾经也是个 …

⚡OWASF 十大 API 安全问题盘点

OWASP 是一个致力于提升 Web 应用程序安全的国际非营利组织&#xff0c;其核心原则之一是公开、免费地提供所有相关资料&#xff0c;方便大众在其官方网站上轻松查阅&#xff0c;助力任何人提升 Web 应用程序的安全性。该组织提供的资料涵盖文档、工具、视频以及论坛等多种形式…

【PowerJob】从源码编译到k8s部署

前言 虽然PowerJob官方说支持JPA各种数据源&#xff0c;但在PG数据库的兼容性上&#xff0c;确实存在小问题&#xff0c;issue也有相关原理描述&#xff0c;官方采用的优雅方式并未真正解决问题&#xff0c;因为只解决了从Lob字段读取的时候&#xff0c;自动建表的时候还是会生…

List集合中对asList的使用

List<String> sArrays.asList(“qwe”,”cvb”,”mnb”); List<String> s1s.subList(1,2); System.out.Pintln(“s”);//输出结果&#xff1a;[qwe,cvb,mnb] System.out.Pintln(“s1”);//输出结果&#xff1a;[cvb] s1.add(“123qwe”);//报错&#xff1a;java…

【机器学习300问】82、RMSprop梯度下降优化算法的原理是什么?

RMSprop&#xff0c;全称Root Mean Square Propagation&#xff0c;中文名称“均方根传播”算法。让我来举个例子给大家介绍一下它的原理&#xff01; 一、通过举例来感性认识 建议你第一次看下面的例子时忽略小括号里的内容&#xff0c;在看完本文当你对RMSprop有了一定理解时…

使用单片机的IO引脚直接驱动段码屏

使用单片机的IO引脚直接驱动段码屏,目的是为了降低成本。这种古老的应用,在低功耗产品中比较多见。 如:水表&#xff0c;燃气表等需要电池供电的产品。 下面纯属个人理解&#xff0c;未经测试。 1/3Duty表示LCD共有3个COM引脚,分别占显示周期的1/3 1/2BIAS表示电压0和VCC 1、…

通义千问2.5中文能力地表最强

随着人工智能技术的不断进步&#xff0c;智能问答系统已成为人们日常生活中不可或缺的一部分。阿里巴巴集团作为全球领先的科技公司&#xff0c;一直致力于AI领域的研发和创新。最近&#xff0c;阿里巴巴发布了其最新的智能问答系统——通义千问2.5。 通义千问2.5在AI问答领域…