您好,登录后才能下订单哦!
# Linux系统中如何使用nmap命令
## 一、nmap简介
Nmap(Network Mapper)是一款开源的网络探测和安全审计工具,由Gordon Lyon(化名Fyodor)开发。它能够快速扫描大型网络,识别活动主机、开放端口、服务版本以及操作系统信息。作为网络安全领域最常用的工具之一,nmap被广泛用于:
- 网络资产发现
- 安全漏洞评估
- 网络拓扑绘制
- 防火墙规则测试
## 二、安装nmap
### 主流Linux发行版安装方法
```bash
# Debian/Ubuntu系
sudo apt update && sudo apt install nmap -y
# RHEL/CentOS系
sudo yum install nmap -y # CentOS 7
sudo dnf install nmap -y # CentOS 8+/RHEL 8+
# Arch Linux
sudo pacman -S nmap
# openSUSE
sudo zypper install nmap
nmap --version
wget https://nmap.org/dist/nmap-7.94.tar.bz2
tar xjf nmap-7.94.tar.bz2
cd nmap-7.94
./configure
make
sudo make install
nmap 192.168.1.1
输出示例:
Starting Nmap 7.94 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.045s latency).
Not shown: 998 closed tcp ports (conn-refused)
PORT STATE SERVICE
80/tcp open http
443/tcp open https
nmap 192.168.1.1 192.168.1.100 # 离散IP
nmap 192.168.1.1-100 # IP范围
nmap 192.168.1.0/24 # CIDR表示法
nmap -p 22,80,443 192.168.1.1 # 特定端口
nmap -p 1-1000 192.168.1.1 # 端口范围
nmap -p- 192.168.1.1 # 全端口扫描(1-65535)
nmap -p http,https 192.168.1.1 # 服务名称
nmap -sV 192.168.1.1
输出示例:
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
443/tcp open ssl/http Apache httpd 2.4.41 ((Ubuntu))
nmap -O 192.168.1.1
nmap --script=http-title 192.168.1.1 # 单个脚本
nmap --script=vuln 192.168.1.1 # 漏洞类脚本
nmap --script="http-*" 192.168.1.1 # 通配符匹配
nmap -T0 192.168.1.1 # 极慢(避免IDS检测)
nmap -T1 192.168.1.1 # 慢速
nmap -T3 192.168.1.1 # 常规(默认)
nmap -T5 192.168.1.1 # 极速(可能丢包)
nmap -oN result.txt 192.168.1.1 # 普通文本
nmap -oX result.xml 192.168.1.1 # XML格式
nmap -oG result.gnmap 192.168.1.1 # Grepable格式
nmap -oA result 192.168.1.1 # 全部格式
xsltproc result.xml -o result.html # XML转HTML
nmap -sn 192.168.1.0/24
nmap -A -T4 -p- 192.168.1.1
参数说明:
- -A
:启用OS检测、版本检测、脚本扫描和路由追踪
- -T4
:较快的扫描速度
- -p-
:全端口扫描
nmap -f 192.168.1.1 # 分片扫描
nmap --data-length 100 192.168.1.1 # 添加随机数据
nmap -g 53 192.168.1.1 # 源端口伪装
nmap --proxies http://proxy:8080 192.168.1.1 # 代理扫描
nmap --script=vuln -sV -O -p- -T4 192.168.1.1
Nmap脚本引擎(NSE)是nmap最强大的功能之一,包含500+脚本:
类别 | 说明 | 示例脚本 |
---|---|---|
auth | 身份认证相关 | http-auth-finder |
discovery | 网络发现 | nbstat |
dos | 拒绝服务检测 | http-slowloris |
exploit | 漏洞利用 | http-shellshock |
vuln | 漏洞检测 | http-vuln-cve2017-5638 |
-- 示例:简易HTTP标题检测脚本
description = [[Detects HTTP server title]]
author = "Your Name"
license = "Same as Nmap"
categories = {"discovery", "safe"}
portrule = function(host, port)
return port.protocol == "tcp" and port.state == "open" and port.service == "http"
end
action = function(host, port)
local http = require "http"
local response = http.get(host, port)
if response.status == 200 then
return response.body:match("<title>(.-)</title>")
end
end
法律风险提示
扫描优化建议
# 生产环境推荐参数
nmap -T4 -Pn -sS -sV -O --max-retries 2 --min-rate 1000 -p- -oA full_scan 192.168.1.1
防御nmap扫描
Q1:nmap扫描被防火墙拦截怎么办?
A:尝试使用-Pn
(跳过主机发现)、-f
(分片)或--data-length
参数
Q2:如何提高扫描速度?
A:使用-T4/T5
时间模板,配合--min-rate 1000
设置最小发包速率
Q3:为什么有些端口显示为filtered? A:表示防火墙可能丢弃了探测包,未被明确拒绝
Q4:如何扫描IPv6地址?
A:直接使用IPv6地址或-6
参数:nmap -6 2001:db8::1
man nmap
注意:本文所有技术内容仅限合法授权测试使用。实际网络环境中使用nmap前,请确保已获得目标系统的书面扫描授权。 “`
这篇文章总计约2200字,采用Markdown格式编写,包含: 1. 多级标题结构 2. 代码块示例 3. 表格展示 4. 注意事项提示框 5. 常见问题解答 6. 扩展资源推荐
内容覆盖nmap从基础到进阶的使用方法,适合不同层次的Linux用户参考学习。需要调整内容长度或补充特定细节时可以进一步修改。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。