Nmap 从入门到精通:详细指南
Nmap 从入门到精通:详细指南
1. Nmap 是什么?
Nmap(Network Mapper)是一款开源的网络探测和安全审计工具,广泛用于以下场景:
- 主机发现:识别网络中的活动设备。
- 端口扫描:检测目标主机开放的端口及服务。
- 服务与版本探测:确定端口对应的应用程序及其版本。
- 操作系统检测:推测目标主机的操作系统类型。
- 漏洞探测(结合脚本):通过 NSE(Nmap Scripting Engine)发现潜在漏洞。
Nmap 支持跨平台(Windows、Linux、macOS),被渗透测试人员、网络管理员和安全研究人员广泛使用。
2. 安装 Nmap
Windows
- 访问官网 https://nmap.org/download.html。
- 下载 .exe 安装包并运行。
- 安装时勾选 Npcap(用于网络抓包)。
- 安装完成后,在命令行输入 nmap 验证是否成功。
Linux
# Debian/Ubuntu
sudo apt-get install nmap
# RedHat/CentOS
sudo yum install nmap
macOS
brew install nmap
3. 初识 Nmap 命令行界面
Nmap 通过命令行操作,基本语法为:
nmap [扫描选项] <目标>
- 目标:可以是 IP 地址(如 192.168.1.1)、域名(如 example.com)或 IP 段(如 192.168.1.0/24)。
示例:
nmap 192.168.1.1 # 扫描单个主机
nmap 192.168.1.1 192.168.1.2 # 扫描多个主机
nmap 192.168.1.1-100 # 扫描 IP 地址范围
nmap scanme.nmap.org # 扫描官方测试域名
4. 指定扫描类型
基础扫描
- 默认扫描(TCP SYN 扫描):
nmap 192.168.1.1
输出示例:
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
- Ping 扫描(仅主机发现):
nmap -sn 192.168.1.0/24
快速发现局域网存活主机。
端口范围控制
- 扫描指定端口:
nmap -p 80,443,22 192.168.1.1
- 扫描 1-1000 端口:
nmap -p 1-1000 192.168.1.1
5. 主机发现(Host Discovery)
主机发现是确定目标网络中哪些设备在线的方法。
- 禁用端口扫描(仅探测存活主机):
nmap -sn 192.168.1.0/24
- ARP 扫描(局域网内高效探测):
nmap -PR 192.168.1.0/24
- 绕过防火墙(使用 ICMP、TCP SYN 组合):
nmap -PE -PS22,80 192.168.1.1
6. 服务与版本探测
基本服务探测
使用 -sV 参数启用服务版本检测:
nmap -sV 192.168.1.1
输出示例:
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.6p1
80/tcp open http Apache httpd 2.4.29
探测强度控制
Nmap 的版本探测强度分 0-9 级(默认 7):
- 低强度(速度快,准确性低):
nmap -sV --version-intensity 3 192.168.1.1
- 高强度(速度慢,准确性高):
nmap -sV --version-intensity 9 192.168.1.1
- 快速探测(仅常用探测方式):
nmap -sV --version-light 192.168.1.1
- 全面探测(尝试所有方式):
nmap -sV --version-all 192.168.1.1
7. 高级技巧与优化
- 操作系统检测:
nmap -O 192.168.1.1
- 脚本引擎(NSE):
nmap --script=http-title 192.168.1.1 # 获取网站标题
nmap --script=vuln 192.168.1.1 # 漏洞探测
- 调整扫描速度:
nmap -T0 192.168.1.1 # 最慢(规避检测)
nmap -T5 192.168.1.1 # 最快(可能丢包)
8. 安全与法律注意事项
- 合法性:未经授权扫描他人网络可能违法。
- 隐蔽性:使用 -T0 或 -T1 降低扫描速度以避免触发告警。
- 渗透测试:仅在授权范围内使用。
9. 学习资源推荐
- 官方文档:https://nmap.org/book/man.html
- 书籍:《Nmap Network Scanning》(作者:Gordon Lyon)
- 在线实验:https://tryhackme.com 提供实战环境。
通过本指南,你可以掌握 Nmap 的基础到进阶操作。建议结合实际场景练习,逐步熟悉其强大功能!
Nmap 从入门到精通:详细指南的更多相关文章
- Oracle从入门到精通(详细) 明日科技
- 【PHP】最详细PHP从入门到精通(二)——PHP中的函数
PHP从入门到精通 之PHP中的函数 各位开发者朋友大家好,自上次更新PHP的相关知识,得到了大家的广泛支持.PHP的火爆程度不言而喻,函数作为PHP中极为重要的部分,应诸位的支持,博主继续跟进更新 ...
- 【PHP】最详细PHP从入门到精通(三)——PHP中的数组
PHP从入门到精通 之PHP中的数组 各位开发者朋友大家好,链接上次更新,我们PHP的学习也更深了一层,本次博主给大家带来PHP数组的数组实例详解的相关资料.数组分为数组数值数值,关联数组,多维数组 ...
- 【PHP】最详细PHP从入门到精通(三)——PHP中的数组常用函数汇总
PHP从入门到精通 之PHP中的数组常用函数详解 数组作为PHP中最常用的结构之一,PHP强大的数组函数功能,给数组的相关操作带来了极大的便利.今天给大家介绍的PHP中数组函数,是PHP数组中重要的 ...
- 【PHP】最详细PHP从入门到精通(四)——PHP中的字符串
PHP从入门到精通 之PHP中的字符串 大家好,继续跟进PHP最详尽的知识更新,本周,跟大家重点讲一下PHP中字符串的使用.在PHP中,字符串是非常重要的一个概念,基本上大家想到的字符串的处理功能, ...
- 一份从入门到精通NLP的完整指南 | NLPer
该小博主介绍 本人:笔名zenRRan,方向自然语言处理,方法主要是深度学习. 未来的目标:人工智能之自然语言处理博士. 写公众号目的:将知识变成开源,让每个渴求知识而难以入门人工智能的小白以及想进阶 ...
- Promise入门到精通(初级篇)-附代码详细讲解
Promise入门到精通(初级篇)-附代码详细讲解 Promise,中文翻译为承诺,约定,契约,从字面意思来看,这应该是类似某种协议,规定了什么事件发生的条件和触发方法. Pr ...
- 【PHP】最详细PHP从入门到精通(五)——PHP错误处理
PHP从入门到精通 之PHP中的字符串 在创建脚本和 web 应用程序时,错误处理是一个重要的部分.如果您的代码缺少错误检测编码,那么程序看上去很不专业,也为安全风险敞开了大门. 本教程介绍了 PH ...
- 【PHP】最详细PHP从入门到精通(一)——想学习PHP的朋友们福利来了!
PHP从入门到精通 (一)PHP简介和基本知识 PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言.语法吸收了C语言.Java ...
- 从入门到精通C++需要学的10本书
学习C++从入门到精通的的十本最经典书籍 文章来源中国IT实验室收集整理作者佚名更新时间2009-5-16 12:27:05 保存本文保存本文推荐给好友推荐给好友收藏本页收藏本页 欢迎进入C/C++ ...
随机推荐
- Linux - 配置IP&主机名的快捷操作
nmtui 执行以下命令可以进入一个可视化界面,进行IP的可视化配置.以及网络服务的重启(注意,这个重启是停止然后启动, 如果使用xshell进行操作会失去ssh连接,直连服务器时可这直接操作).主机 ...
- devops第一步:CentOS初始化流程
设置IP vi /etc/sysconfig/network-scripts/ifcfg-ens192 修改下面两个配置 BOOTPROTO=static ONBOOT=yes 添加以下配置 # 改成 ...
- 【Python】ini解析ERROR:没有实例属性‘__getintem__’
abaqus python 搭配ini 时,出现AttributeError: ConfigParser instance has no attribute 'getitem' 20230404 ed ...
- gitee如何删除仓库
进入仓库的管理页面点击删除
- 腾讯云锐驰型轻量服务器搭建开源远程桌面软件RustDesk中继服务器小记
RustDesk是一个基于Rust编写的全平台开源远程桌面软件,其最大的特点为开箱即用,且数据完全自主掌控,甚至可以依托此项目定制化开发自己专属的远程桌面软件. 一.前言 由于我个人经常性出差,对远程 ...
- study Rust-7【使用结构体的demo】
fn main() { let width1 = 30; let height1 = 50; println!( "The area of the rectangle is {} squar ...
- 无需WebView,Vue也能开发跨平台桌面应用
前言 一直以来,使用Vue开发桌面应用大部分都是使用基于webview的方案,如electron,tauri等.不依赖webview的,移动端倒有不少,如Weex,NativeScript等,桌面端寥 ...
- Docker安装及使用,Docker 安装MySQL、安装Tomcat、安装RabbitMQ
CentOS7安装Docker Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经 ...
- Chrome 135 版本开发者工具(DevTools)更新内容
Chrome 135 版本开发者工具(DevTools)更新内容 一.性能(Performance)面板改进 1. 性能面板中的配置文件和函数调用现已显示来源和脚本链接 Performance > ...
- 在 Idea 中使用 Git
以 git-2.21.0 为例说明安装步骤: 双击 Git-2.21.0-64-bit.exe 点击 Next 设置安装路径 点击 Next 点击 Next 点击 Next,选择默认的编辑器 点击 N ...