nmap扫描一组计算机的脚本

说明

Nmap(Network Mapper)是一个开源的网络探测和安全评估工具。它用于扫描和发现网络上的主机、端口和服务,以及评估网络的安全性。

Nmap具有以下主要功能:

  1. 主机发现:Nmap可以通过发送网络探测请求(如ICMP Echo请求)来发现网络上的活动主机。它可以扫描整个子网或指定的IP范围。
  2. 端口扫描:Nmap可以扫描主机上的开放端口,以确定哪些服务正在运行。它支持多种扫描技术,如TCP SYN扫描、TCP Connect扫描、UDP扫描等。
  3. 服务和版本检测:Nmap可以尝试识别目标主机上运行的服务和应用程序的版本信息。这对于评估系统的漏洞和弱点很有帮助。
  4. 操作系统检测:Nmap可以通过分析目标主机的网络特征和响应来尝试确定其操作系统类型。
  5. 脚本扫描:Nmap支持使用Nmap脚本引擎(NSE)运行自定义脚本来执行更复杂的扫描和评估任务。这些脚本可以用于检测漏洞、执行安全审计、收集信息等。

Nmap的基本用法如下:

nmap [扫描选项] <目标>

其中,扫描选项可以是以下之一或其组合:

  • -sS:TCP SYN扫描(默认)
  • -sT:TCP Connect扫描
  • -sU:UDP扫描
  • -O:操作系统检测
  • -sV:服务和版本检测
  • -p <端口范围>:指定要扫描的端口范围
  • -A:启用操作系统检测、版本检测和脚本扫描等功能

目标可以是单个主机、IP地址范围、子网或主机名。

Nmap还提供了许多其他选项和功能,可以通过man nmap命令查看完整的文档。

使用示例

下面是几个使用Nmap的示例:

  • 扫描单个主机的常见端口:
nmap <目标IP或主机名>

这将扫描指定目标的常见端口,以确定哪些端口是开放的。

  • 扫描指定端口范围:
nmap -p <起始端口>-<结束端口> <目标IP或主机名>

这将扫描指定目标上指定范围内的端口。

  • 使用TCP Connect扫描:
nmap -sT <目标IP或主机名>

这将使用TCP Connect扫描技术来扫描指定目标的端口。

  • 使用UDP扫描:
nmap -sU <目标IP或主机名>

这将使用UDP扫描技术来扫描指定目标的端口。

  • 扫描并进行服务和版本检测:
nmap -sV <目标IP或主机名>

这将扫描指定目标的端口,并尝试识别运行的服务和应用程序的版本信息。

  • 扫描并进行操作系统检测:
nmap -O <目标IP或主机名>

这将扫描指定目标的端口,并尝试确定其操作系统类型。

这些只是使用Nmap的一些基本示例。

Nmap提供了许多其他选项和功能,可以根据具体需求进行定制

扫描IP地址范围脚本

#!/bin/bash

# 定义要扫描的IP地址范围
IP_RANGE="192.168.0.1-10"

# 定义扫描端口范围
PORT_RANGE="1-1000"

# 定义输出文件名
OUTPUT_FILE="scan_results.txt"

# 使用nmap进行扫描
nmap -p $PORT_RANGE -oN $OUTPUT_FILE $IP_RANGE

# 打印扫描结果
cat $OUTPUT_FILE

使用说明:

  1. 将上述脚本保存为一个文件,例如scan.sh

  2. 打开终端,导航到脚本所在的目录。

  3. 运行以下命令给予脚本执行权限:

    chmod +x scan.sh
    
  4. 运行脚本:

    ./scan.sh
    

    脚本将使用nmap扫描定义的IP地址范围和端口范围,并将结果保存到指定的输出文件中。最后,脚本会打印扫描结果。

请注意,为了运行该脚本,你需要在系统中安装nmap工具。此外,使用nmap进行扫描可能需要管理员权限,具体取决于系统和网络配置。在实际使用中,请确保遵守适用的法律和网络安全政策,并仅在获得授权的范围内进行扫描。

使用nmap扫描多个IP地址范围的计算机

#!/bin/bash

# 定义要扫描的IP地址范围
IP_RANGES=("192.168.0.1-10" "10.0.0.1-20" "172.16.0.1-30")

# 定义扫描端口范围
PORT_RANGE="1-1000"

# 定义输出文件名
OUTPUT_FILE="scan_results.txt"

# 使用nmap进行扫描
for ip_range in "${IP_RANGES[@]}"
do
    echo "Scanning IP range: $ip_range"
    nmap -p $PORT_RANGE -oN $OUTPUT_FILE $ip_range
done

# 打印扫描结果
cat $OUTPUT_FILE

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐