0

0

Linux nmap命令详解

蓮花仙者

蓮花仙者

发布时间:2025-07-23 10:38:15

|

839人浏览过

|

来源于php中文网

原创

大家好,很高兴再次与大家见面,我是你们的老朋友全栈君。

nmap,即Network Mapper,是一款在Linux环境下使用的强大网络扫描和嗅探工具包。

在网络安全渗透测试中,nmap被广泛应用,其功能之强大毋庸置疑。接下来,我将简要介绍一些常用的nmap扫描命令。不过,nmap的功能非常丰富,建议大家深入学习以充分发挥其潜力。

nmap的安装命令如下:

yum install nmap

Linux nmap命令详解

下面是一些常见的nmap扫描命令及其用法:

Usage: nmap [Scan Type(s)] [Options] {target specification}
TARGET SPECIFICATION:  
  Can pass hostnames, IP addresses, networks, etc.  
  Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254  
  -iL : Input from list of hosts/networks  
  -iR <num hosts="">: Choose random targets  
  --exclude <host1>: Exclude hosts/networks  
  --excludefile <exclude_file>: Exclude list from file
HOST DISCOVERY:  
  -sL: List Scan - simply list targets to scan  
  -sn: Ping Scan - disable port scan  
  -Pn: Treat all hosts as online -- skip host discovery  
  -PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP discovery to given ports  
  -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes  
  -PO[protocol list]: IP Protocol Ping  
  -PR: ARP ping - does not need HW address -> IP translation  
  -n/-R: Never do DNS resolution/Always resolve [default: sometimes]  
  --dns-servers <serv1>: Specify custom DNS servers  
  --system-dns: Use OS's DNS resolver  
  --traceroute: Trace hop path to each host
SCAN TECHNIQUES:  
  -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans  
  -sU: UDP Scan  
  -sN/sF/sX: TCP Null, FIN, and Xmas scans  
  --scanflags <flags>: Customize TCP scan flags  
  -sI <zombie host="">: Idle scan  
  -sY/sZ: SCTP INIT/COOKIE-ECHO scans  
  -sO: IP protocol scan  
  -b <ftp host="" relay="">: FTP bounce scan
PORT SPECIFICATION AND SCAN ORDER:  
  -p <port ranges="">: Only scan specified ports  
    Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9  
  -F: Fast mode - Scan fewer ports than the default scan  
  -r: Scan ports consecutively - don't randomize  
  --top-ports <number>: Scan <number> most common ports  
  --port-ratio <ratio>: Scan ports more common than <ratio>
SERVICE/VERSION DETECTION:  
  -sV: Probe open ports to determine service/version info  
  -sR: Check what service uses opened ports using RPC scan  
  --version-intensity <level>: Set from 0 (light) to 9 (try all probes)  
  --version-light: Limit to most likely probes (intensity 2)  
  --version-all: Try every single probe (intensity 9)  
  --version-trace: Show detailed version scan activity (for debugging)
SCRIPT SCAN:  
  -sC: equivalent to --script=default  
  --script=<lua scripts="">: <lua scripts=""> is a comma separated list of  
            directories, script-files or script-categories  
  --script-args=<n1>: provide arguments to scripts  
  --script-trace: Show all data sent and received  
  --script-updatedb: Update the script database.
OS DETECTION:  
  -O: Enable OS detection  
  --osscan-limit: Limit OS detection to promising targets  
  --osscan-guess: Guess OS more aggressively
TIMING AND PERFORMANCE:  
  Options which take <time> are in seconds, or append 'ms' (milliseconds),  
  's' (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m).  
  -T: Set timing template (higher is faster)  
  --min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes  
  --min-parallelism/max-parallelism <numprobes>: Probe parallelization  
  --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Specifies  
      probe round trip time.  
  --max-retries <tries>: Caps number of port scan probe retransmissions.  
  --host-timeout <time>: Give up on target after this long  
  --scan-delay/--max-scan-delay <time>: Adjust delay between probes  
  --min-rate <number>: Send packets no slower than <number> per second  
  --max-rate <number>: Send packets no faster than <number> per second
FIREWALL/IDS EVASION AND SPOOFING:  
  -f; --mtu <val>: fragment packets (optionally w/given MTU)  
  -D <decoy1>: Cloak a scan with decoys  
  -S <ip_address>: Spoof source address  
  -e <iface>: Use specified interface  
  -g/--source-port <portnum>: Use given port number  
  --data-length <num>: Append random data to sent packets  
  --ip-options : Send packets with specified ip options  
  --ttl <val>: Set IP time-to-live field  
  --spoof-mac <mac address="" name="">: Spoof your MAC address  
  --badsum: Send packets with a bogus TCP/UDP/SCTP checksum
OUTPUT:  
  -oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<ript and="" filename.="" format="" given="" grepable="" kiddi3="" respectively="" the="" to="">: Output in the three major formats at once  
  -v: Increase verbosity level (use -vv or more for greater effect)  
  -d: Increase debugging level (use -dd or more for greater effect)  
  --reason: Display the reason a port is in a particular state  
  --open: Only show open (or possibly open) ports  
  --packet-trace: Show all packets sent and received  
  --iflist: Print host interfaces and routes (for debugging)  
  --log-errors: Log errors/warnings to the normal-format output file  
  --append-output: Append to rather than clobber specified output files  
  --resume <filename>: Resume an aborted scan  
  --stylesheet <path>: XSL stylesheet to transform XML output to HTML  
  --webxml: Reference stylesheet from Nmap.Org for more portable XML  
  --no-stylesheet: Prevent associating of XSL stylesheet w/XML output
MISC:  
  -6: Enable IPv6 scanning  
  -A: Enable OS detection, version detection, script scanning, and traceroute  
  --datadir <dirname>: Specify custom Nmap data file location  
  --send-eth/--send-ip: Send using raw ethernet frames or IP packets  
  --privileged: Assume that the user is fully privileged  
  --unprivileged: Assume the user lacks raw socket privileges  
  -V: Print version number  
  -h: Print this help summary page.
EXAMPLES:  
  nmap -v -A scanme.nmap.org  
  nmap -v -sn 192.168.0.0/16 10.0.0.0/8  
  nmap -v -iR 10000 -Pn -p 80

以下是一些常见的nmap命令示例:

  1. 获取远程主机的系统类型及开放端口

    nmap -sS -P0 -sV -O <target>

    这里的 <target></target> 可以是单一 IP、主机名、域名或子网

    • -sS:TCP SYN 扫描(又称半开放或隐身扫描)
    • -P0:允许你关闭 ICMP pings
    • -sV:打开系统版本检测
    • -O:尝试识别远程操作系统

    其他选项:

    • -A:同时打开操作系统指纹和版本检测
    • -v:详细输出扫描情况
    nmap -sS -P0 -A -v
  2. 列出开放了指定端口的主机列表

    nmap -sT -p 80 -oG - 192.168.1.* | grep open
  3. 在网络中寻找所有在线主机

    nmap -sP 192.168.0.*

    或者使用以下命令:

    nmap -sP 192.168.0.0/24

    指定子网。

    Shell脚本编写基础 中文WORD版
    Shell脚本编写基础 中文WORD版

    Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Linux系统

    下载
  4. Ping 指定范围内的 IP 地址

    nmap -sP 192.168.1.100-254
  5. 在某段子网上查找未占用的 IP

    nmap -T4 -sP 192.168.2.0/24 && egrep "00:00:00:00:00:00" /proc/net/arp
  6. 在局域网上扫描 Conficker 蠕虫病毒

    nmap -PN -T4 -p139,445 -n -v --script=smb-check-vulns --script-args safe=1 192.168.0.1-254
  7. 扫描网络上的恶意接入点(rogue APs)

    nmap -A -p1-85,113,443,8080-8100 -T4 --min-hostgroup 50 --max-rtt-timeout 2000 --initial-rtt-timeout 300 --max-retries 3 --host-timeout 20m --max-scan-delay 1000 -oA wapscan 10.0.0.0/8
  8. 使用诱饵扫描方法来扫描主机端口

    sudo nmap -sS 192.168.0.10 -D 192.168.0.2
  9. 为一个子网列出反向 DNS 记录

    nmap -R -sL 209.85.229.99/27 | awk '{if($3=="not")print"("$2") no PTR";else print$3" is "$2}' | grep '('
  10. 显示网络上共有多少台 Linux 及 Win 设备

     sudo nmap -F -O 192.168.0.1-255 | grep "Running: " > /tmp/os; echo "$(cat /tmp/os | grep Linux | wc -l) Linux device(s)"; echo "$(cat /tmp/os | grep Windows | wc -l) Window(s) device"

【更多参考】

Linux网络探测和安全审核工具 nmap使用详解

转载于:https://www.php.cn/link/48d086c253bb8d866e7d5ba8414a5943

发布者:全栈程序员栈长,转载请注明出处:https://www.php.cn/link/241f7e77a83327ca9f60c68f65960fc9

原文链接:https://www.php.cn/link/c8377ad2a50fb65de28b11cfc628d75c

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

435

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

601

2023.08.10

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2862

2024.08.16

Java 网络安全
Java 网络安全

本专题聚焦 Java 在网络安全与加密通信中的应用,系统讲解常见加密算法(MD5、SHA、AES、RSA)、数字签名、HTTPS证书配置、令牌认证(JWT、OAuth2)及常见安全漏洞防护(XSS、SQL注入、CSRF)。通过实战项目(如安全登录系统、加密文件传输工具),帮助学习者掌握 Java 安全开发与加密技术的实战能力。

740

2025.10.13

PHP 安全与防护
PHP 安全与防护

本专题聚焦于PHP开发中的安全问题与防御措施,详细讲解SQL注入、XSS攻击、CSRF攻击、文件包含漏洞等常见安全风险及其修复方法。通过结合实际案例,帮助开发者理解漏洞成因,掌握输入验证、会话安全、加密存储与安全编码规范,全面提升PHP网站的安全防护水平。

132

2025.11.04

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1542

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

716

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

300

2023.06.30

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

23

2026.03.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.3万人学习

Git 教程
Git 教程

共21课时 | 4.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号