赞
踩
首先,您需要在您的系统上安装 nmap。这通常可以通过系统的包管理器来完成。以下是一些常见发行版的安装命令:
对于 Debian/Ubuntu 系统:
sudo apt update
sudo apt install nmap
对于 CentOS/Red Hat 系统:
sudo yum update
sudo yum install nmap
对于 macOS(使用 Homebrew):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install nmap
要扫描单个主机的所有 TCP 端口,您可以简单地指定目标主机的 IP 地址或域名:
nmap <目标IP地址或域名>
例如:
nmap 192.168.1.1
如果您只对目标主机上的某些特定端口感兴趣,可以使用 -p 选项指定这些端口:
nmap -p <端口号> <目标IP地址或域名>
例如,扫描 80 和 443 端口:
nmap -p 80,443 192.168.1.1
Nmap的默认扫描主机1000个高危端口,如果你需要全面检测端口,可能需要加入`-p 1-65535`或`-p-`参数。
要扫描多个主机,只需在命令行中列出它们的 IP 地址或域名即可:
nmap <目标IP地址或域名1> <目标IP地址或域名2> ...
例如:
nmap 192.168.1.1 192.168.1.2
如果您想扫描整个子网中的所有主机,可以使用 CIDR 表示法:
nmap <子网地址>/<子网掩码长度>
例如,扫描 192.168.1.0/24 子网:
nmap 192.168.1.0/24
要检测目标主机上运行的服务及其版本,以及尝试识别操作系统,可以使用 -sV 和 -O 选项:
nmap -sV -O <目标IP地址或域名>
您可以将扫描结果保存到文件中,以便稍后分析或分享。使用 -oX 选项可以保存为 XML 格式,这是一个通用的、结构化的格式,适合进一步处理。
nmap -oX <输出文件名>.xml <目标IP地址或域名>
例如:
nmap -oX scan_results.xml 192.168.1.1
nmap 提供了大量的选项和参数,允许您定制扫描的行为。以下是一些常用的选项:
-sS:SYN 扫描(默认扫描类型)。
-sT:Connect 扫描,尝试与目标主机的每个端口建立完整的 TCP 连接。
-sU:UDP 扫描,扫描 UDP 端口。
-v:详细输出,显示更多的扫描信息。
-vv:更详细的输出。
-A:OS 检测和版本探测。
--script:运行自定义的 NSE 脚本。
-iL:从文件中读取目标列表进行扫描。
--reason:显示端口处于特定状态的原因。
--open:只显示开放的端口。
-6:启用 IPv6 扫描。
这些选项可以组合使用,以满足特定的扫描需求。例如,如果您想进行详细的 SYN 扫描并保存结果,可以这样做:
nmap -sS -v -oX scan_results.xml <目标IP地址或域名>
在使用 nmap 进行扫描时,请确保您有权对目标网络进行扫描,并遵守相关的法律法规和道德规范。未经授权的网络扫描可能违反法律,并可能导致严重的后果。此外,在对生产
- Nmap 7.94 (https://nmap.org)
- 用法:nmap [扫描类型] [选项] {目标规范}
- 目标规范:
- 可以传递主机名、IP 地址、网络等。
- 例如:scanme.nmap.org、microsoft.com/24、192.168.0.1;10.0.0-255.1-254
- -iL <inputfilename>:从主机/网络列表中输入
- -iR <num hosts>:选择随机目标
- --exclude <host1[,host2][,host3],...>:排除主机/网络
- --excludefile <exclude_file>:从文件中排除列表
- 主机发现:
- -sL:列出扫描目标
- -sn:Ping 扫描 - 禁用端口扫描
- -Pn:将所有主机视为在线 - 跳过主机发现
- -PS/PA/PU/PY[portlist]:对给定端口进行 TCP SYN/ACK、UDP 或 SCTP 发现
- -PE/PP/PM:ICMP echo、timestamp 和 netmask 请求发现探测
- -PO[protocol list]:IP 协议 Ping
- -n/-R:永远不进行 DNS 解析/始终解析 [默认:有时解析]
- --dns-servers <serv1[,serv2],...>:指定自定义 DNS 服务器
- --system-dns:使用操作系统的 DNS 解析器
- --traceroute:跟踪到每个主机的跳数路径
- 扫描技术:
- -sS/sT/sA/sW/sM:TCP SYN/Connect()/ACK/Window/Maimon 扫描
- -sU:UDP 扫描
- -sN/sF/sX:TCP Null、FIN 和 Xmas 扫描
- --scanflags <flags>:自定义 TCP 扫描标志
- -sI <zombie host[:probeport]>:闲置扫描
- -sY/sZ:SCTP INIT/COOKIE-ECHO 扫描
- -sO:IP 协议扫描
- -b <FTP relay host>:FTP 弹跳扫描
- 端口规范和扫描顺序:
- -p <port ranges>:仅扫描指定端口
- 例如:-p22;-p1-65535;-p U:53,111,137,T:21-25,80,139,8080,S:9
- --exclude-ports <port ranges>:从扫描中排除指定的端口
- -F:快速模式 - 扫描较少的端口
- -r:按顺序扫描端口 - 不随机化
- --top-ports <number>:扫描最常见的 <number> 个端口
- --port-ratio <ratio>:扫描比 <ratio> 更常见的端口
- 服务/版本检测:
- -sV:探测开放端口以确定服务/版本信息
- --version-intensity <level>:设置从 0(轻量级)到 9(尝试所有探测)的探测强度
- --version-light:限制为最可能的探测(强度 2)
- --version-all:尝试每个单独的探测(强度 9)
- --version-trace:显示详细的版本扫描活动(用于调试)
- 脚本扫描:
- -sC:等效于 --script=default
- --script=<Lua scripts>: <Lua scripts> 是由逗号分隔的目录、脚本文件或脚本类别列表
- --script-args=<n1=v1,[n2=v2,...]>:为脚本提供参数
- --script-args-file=filename:从文件中提供 NSE 脚本参数
- --script-trace:显示发送和接收的所有数据
- --script-updatedb:更新脚本数据库。
- --script-help=<Nmap是一个流行的网络扫描工具,用于探测和分析网络主机和服务。它可以用于安全评估、漏洞扫描、网络发现等任务。
-
- 以下是一些常用的Nmap命令和选项:
-
- 基本扫描:
-
-
- nmap <目标>
- 这将对目标进行基本的端口扫描,默认使用TCP SYN扫描。
-
- 扫描特定端口范围:
-
-
- nmap -p <端口范围> <目标>
- 例如,nmap -p 1-1000 scanme.nmap.org 将扫描scanme.nmap.org的端口1到1000。
-
- 扫描所有端口:
-
-
- nmap -p- <目标>
- 这将扫描目标的所有端口。
-
- 服务/版本探测:
-
-
- nmap -sV <目标>
- 使用服务/版本探测功能,Nmap尝试识别目标主机上运行的服务和应用程序的版本信息。
-
- 操作系统检测:
-
-
- nmap -O <目标>
- 使用操作系统检测功能,Nmap尝试确定目标主机所使用的操作系统类型。
-
- 脚本扫描:
-
-
- nmap --script=<脚本> <目标>
- Nmap提供了一些脚本,用于执行各种网络探测任务,例如漏洞扫描、服务识别等。你可以使用--script选项指定要运行的脚本。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。