暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Linux中nmap用法和介绍

watson 5天前
22

nmap,即Network Mapper,是一个强大的网络扫描和嗅探工具包,广泛应用于Linux系统中的网络安全渗透测试。它能够扫描网络上的主机、探测开放端口、识别操作系统类型和服务版本,以及检测潜在的安全漏洞。以下是关于nmap的详细解析。


一 安装nmap


      在Debian/Ubuntu系统中,可以使用以下命令安装nmap:


```

sudo apt-get update

sudo apt-get install nmap

```


在RedHat/CentOS系统中,安装命令如下:


```

sudo yum install nmap

```


二 基本用法


nmap的基本语法如下:


```

nmap [扫描类型] [选项] [目标规范]

```


#目标规范


目标可以是主机名、IP地址或网络范围。例如:


- `scanme.nmap.org`

- `192.168.0.1`

- `192.168.0.0/24` 扫描整个C类网络


#常用扫描选项


1. **主机发现**

    - `-sL`:列表扫描,仅列出目标不进行扫描。

    - `-sn`:Ping扫描,禁用端口扫描,仅确定主机是否在线。

    - `-Pn`:假设所有主机在线,跳过主机发现。

2. **端口扫描**

    - `-p`:指定要扫描的端口,如 `-p 22` 或 `-p 1-65535`。

    - `-F`:快速模式,仅扫描常用端口。

    - `-sS`:TCP SYN扫描,半开放扫描,速度快且隐蔽。

    - `-sU`:UDP扫描,用于检测开放的UDP端口。

3. **服务与版本检测**

    - `-sV`:探测开放端口以确定服务/版本信息。

    - `--version-light`:限制于最可能的探测(强度2)。

    - `--version-all`:尝试所有可能的探测(强度9)。

4. **操作系统检测**

    - `-O`:启用操作系统检测。

    - `--osscan-limit`:将操作系统检测限于有希望的目标。

5. **脚本扫描**

    - `-sC`:等价于 `--script=default`,运行默认脚本。

    - `--script=<Lua脚本>`:运行指定的Lua脚本。


#输出选项


- `-oN <文件名>`:将扫描结果输出到指定文件。

- `-oX <文件名>`:以XML格式输出结果。

- `-v`:冗余模式,显示详细信息。


#实际案例


1. **扫描一个Web服务器以检测开放端口和服务**


      假设你需要对一个Web服务器进行安全评估,可以使用nmap扫描其开放的端口和服务。例如:


```

sudo nmap -sV -p 1-1000 www.example.com

```


      这个命令会扫描目标服务器从1到1000的端口,并尝试识别这些端口上的服务版本信息。这可以帮助你了解目标服务器上运行的关键服务,从而为后续的安全测试提供线索。


2. **对局域网进行主机发现**


      在企业内部网络中,你可能需要了解哪些主机是在线的。这时可以使用nmap的Ping扫描功能:


```

sudo nmap -sn 192.168.1.0/24

```


      该命令会对192.168.1.0/24这个网段内的所有IP地址进行Ping扫描,确定在线的主机。这对于网络管理和安全监控非常有用。


3. **检测远程主机的操作系统类型**


      在渗透测试中,了解目标主机的操作系统类型是非常重要的。nmap可以帮你识别远程主机的操作系统:


```

sudo nmap -O www.target.com

```


      使用这个命令,nmap会尝试检测目标主机的操作系统类型,并给出最可能的匹配结果。这对于选择适当的漏洞利用方式非常关键。


三 高级用法


1. **时间排程控制**

    - `-T<0-5>`:设置时间模板,从0(最慢)到5(最快)。

2. **防火墙/IDS规避**

    - `-f`:碎片IP数据包,躲避包过滤器。

    - `-D`:使用诱饵进行扫描,混淆来源。

    - `-S <IP>`:伪装源地址。

3. **IPv6扫描**

    - `-6`:启用IPv6扫描,如 `nmap -6 fe80::a00:27ff:fe43:1518`。

4. **脚本引擎(Nmap Scripting Engine, NSE)**

4. NSE提供了丰富的脚本用于各种网络检查任务,如漏洞检测、服务版本识别等。例如:

    - `--script=default`:运行默认脚本。

    - `--script=vuln`:运行漏洞检测脚本。


四 示例


1. **Ping扫描本地网络**


```

sudo nmap -sn 192.168.0.0/24

```


2. **TCP SYN扫描并探测操作系统**


```

sudo nmap -sS -O target.example.com

```


3. **使用默认脚本进行扫描**


```

sudo nmap -sC target.example.com

```


      nmap的强大功能使其成为网络安全专业人员必备的工具之一。然而,使用nmap时应遵守相关法律法规和道德准则,避免用于非法用途。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论