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.mfbz.cn/a/610381.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

与Apollo共创生态:Apollo7周年大会的心得体会

目录 一、开放创新 - Apollo自动驾驶开放平台二、合作共赢 - 企业解决方案Apollo X三、共创生态 - Apollo开放平台企业生态计划四、结语 - 个人的一些感悟 自2017年诞生以来&#xff0c;Apollo开放平台在不懈的迭代与创新中&#xff0c;历经了基础能力夯实、场景能力拓展和系统…

【复试分数线】C9历年分数线汇总(第二弹)

今天我将分析C9中主要考信号的5所院校&#xff1a;复旦大学、上海交通大学、南京大学、哈尔滨工业大学、西安交通大学。 这次会为大家整理四电四邮的整理了近三年各院校的复试分数线作为参考&#xff0c;大家可以参考&#xff01; 大多数院校采取的是1.2:1差额的形式复试。举…

Web自动化测试 selenium 定位元素方法有哪些?

简介&#xff1a; 在Selenium Web自动化测试中&#xff0c;元素定位是非常重要的一步。它的目的是通过一些特定的属性或者位置信息来定位页面上的元素&#xff0c;以便进行后续的操作。本文将从0到1&#xff0c;详细介绍Selenium Web自动化测试中的元素定位方法。 文章正文&am…

查看微信小程序主包大小

前言 略 查看微信小程序主包大小 在微信开发者工具右上角找到“详情->基本信息” 查看微信小程序主包构成 通过微信开发者工具中的“代码依赖分析”工具查看

whisper使用

whisper使用 1. 直接调用 语音识别2. 语种识别 whisper.detect_language()和whisper.decode()3. 指定要识别的语种做语音识别**whisper 源码的transcribe函数** 函数解析1. transcript.py2. tokenizer.py3. audio.py4. __ init__.py github: https://gitcode.com/openai/whispe…

原来pip是有默认路径的。

今天一直报错&#xff1a; bash: /root/data1/anaconda3/envs/li_3_10/bin/pip: /root/lsc/anaconda3/envs/li_3_10/bin/python: bad interpreter: No such file or directory 原来是root/data1/anaconda3/envs/li_3_10/bin/pip: 这个位置的pip 自身带默认路径&#xff0c;然…

Certbot免费证书的安装,使用,自动续期

首先你得先确认你得linux是那个操作系统&#xff0c;可以用这几个命令试一下。两个都可以试试 cat /etc/os-releaseuname -a然后看是Certbot得安装&#xff1a; CentOS: yum update yum install certbot -y Debian&#xff1a; apt update apt install certbot -y 有的云…

【文化课学习笔记】【物理】功与能

【物理】功与能 功 基础概念 定义 一个物体在力的作用下&#xff0c;沿力的方向&#xff0c;通过一段距离(位移)&#xff0c;则称这个力做了功。 公式 功的定义式&#xff1a; \[W Fx \] 这里的 \(x\) 指的是物体沿力的方向上发生的位移。由于力 \(F\) 和位移 \(x\) 都是矢量&…

【回溯算法】【Python实现】符号三角形问题

文章目录 [toc]问题描述回溯法时间复杂性Python实现 问题描述 下图是由 14 14 14个“ ”和 14 14 14个“ − - −”组成的符号三角形&#xff0c; 2 2 2个同号下面都是” “&#xff0c; 2 2 2个异号下面都是“ − - −” 在一般情况下&#xff0c;符号三角形的第一行有 n…

前端 怎么让聊天列表在第一次渲染的时候自动定位到最新位置

常见的定位到聊天最新位置一般是&#xff0c;正常渲染之后&#xff0c;使用scrollIntoView或者scrollTo去处理。 今天分享另外一种方法 <!DOCTYPE html> <html lang"en"><head><meta charset"utf-8" /><title>Demo</ti…

记录minio的bug(Object name contains unsupported characters.)

场景是我将后端服务从121.xxx.xxx.xxx服务器上转移到了另一台服务器10.xxx.xxx.xxx 但图片都还在121.xxx.xxx.xxx服务器上&#xff0c;同样我10.xxx.xxx.xxx也安装了minio并且我的后端服务配置的minio地址也是10.xxx.xxx.xxx 此时有一个业务通过minio客户端获取图片&#xf…

Codeforces Round 217 (Div. 2) A. Rook, Bishop and King(BFS)

Rook, Bishop and King 题面翻译 【题目描述】 佩蒂亚正在学习国际象棋。他已经学会如何移动王、车和象。让我们提示你如何移动国象棋子。棋盘有 64 64 64个棋格&#xff0c;呈 8 8 8\times8 88正方形。一个格子可以用 ( r , c ) (r,c) (r,c)来表示—— r r r指行&#xff…

C++与java回调函数用法区别实例(二百七十一)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

【一起深度学习——NIN】

NIN神经网络 原理图&#xff1a;代码实现&#xff1a;输出结果&#xff1a; 原理图&#xff1a; 代码实现&#xff1a; import torch from torch import nn from d2l import torch as d2ldef nin_block(in_channels, out_channels, kernel_size, strides, padding):return nn.…

Linux的命令

&#xff1b; 昨天学习了七个命令&#xff0c;分别是&#xff1a;cd命令&#xff08;切换目录&#xff09;、pwd命令&#xff08;当前目录&#xff09;、mkdir命令&#xff08;创建目录&#xff09;、touch命令&#xff08;创建文件&#xff09;、date命令&#xff08;显…

weditor安装的时候产生的问题

先放出来github的地址https://github.com/alibaba/web-editor&#xff0c;这个上面给了两种安装方式一种是&#xff1a; pip3 install -U weditor 这种方式会报错误&#xff0c; 具体原因我也不知道。那就采用第二种方式 git clone https://github.com/openatx/weditor pip3…

JS执行原理大揭秘:事件循环Event Loop与宏任务、微任务

前言 &#x1f4eb; 大家好&#xff0c;我是南木元元&#xff0c;热爱技术和分享&#xff0c;欢迎大家交流&#xff0c;一起学习进步&#xff01; &#x1f345; 个人主页&#xff1a;南木元元 目录 事件循环概述 异步和单线程 同步任务 异步任务 任务队列 宏任务 微任务…

海云安受邀参加诸子云 4.27南京「金融互联网」私董会

4月27日&#xff0c;“安在新媒体网安用户行业活动”第四期私董会在南京顺利举办。活动以“金融&互联网”为主题&#xff0c;邀请十余位业内资深的甲方用户以及典型厂商代表。摒弃传统的议题分享&#xff0c;采取“随时问答&#xff0c;自由讨论”的形式&#xff0c;提问题…

在做题中学习(57):寻找数组的中心下标

724. 寻找数组的中心下标 - 力扣&#xff08;LeetCode&#xff09; 解法&#xff1a;前缀和后缀和 思路&#xff1a;要看一个数是不是中心下标&#xff0c;就看他前面数的和 与 后面数的和 相不相等。 1.i前面数的和&#xff0c;是[0,i-1] 的前缀和&#xff0c;i后面数的和&am…
最新文章