强大的端口和应用扫描工具——nmap命令介绍

2024-06-03  本文已影响0人  moutory

前言

进行安测工作时,有个步骤是需要扫描服务器上面的端口开放情况以及对应的服务,人工去telnet效率太低,肯定是不可取的。这种情况下我们可以考虑用linux自带的nmap命令来帮助我们快速地进行网络端口扫描。

如果系统不存在这个工具,可以通过下面的命令进行安装:

 yum install nmap

一、语法

nmap [选项...] [目标]

目标可以是IP地址、IP网段或者域名。

参数 含义
-sn Ping扫描,不扫描端口,仅发现活跃主机。
-p <port ranges> 指定要扫描的端口范围。
-A 启用操作系统检测、版本检测、脚本扫描和traceroute。
-O 启用操作系统检测。
-sS SYN扫描,这是默认的TCP扫描类型,用于快速扫描端口状态
-sV 版本检测,尝试确定运行在开放端口上的服务的版本号。
-v 增加输出的详细程度(verbose)。
-oN <filename> 将扫描结果保存到文件中,使用不同的格式,如-oN为普通格式,-oX为XML格式,-oG为grepable格式等。
-sP 相当于是-sn的升级版,-sP更隐蔽,可能绕过一些防火墙规则。
-T num 定义扫描所使用的时间模板

二、案例演示

案例一:扫描指定IP服务器对外开放的端口
nmap 172.0.0.1
执行结果
案例二:扫描指定IP服务器80-3000端口的开放情况,并展示详细信息
nmap -p 80-3000  -v 172.0.0.1
案例三:查询网络上活跃的主机
nmap -sP 172.17.120.*
或者
nmap -sP 172.17.120.0/24

172.17.120.*:这是一个IP地址范围,表示从172.17.120.1172.17.120.255的整个子网。星号*是一个通配符,代表子网掩码中为0的部分,在这个例子中,它代表最后八位(即最后一个字节)的所有可能值。

PS:如果只想扫描某个区间内的主机,可以这样表示nmap -sP 172.17.120.100-120 (扫描172.17.120.100-172.17.120.120区间的所有服务器)

案例四:排除执行IP地址进行查询
方式1: 手动指定IP
nmap -sP 172.17.120.*   --exclude 172.17.120.13
方式2:通过文件进行指定
nmap -sP 172.17.120.*  --excludefile ex.txt
案例五:将扫描结果保存至指定文件
nmap -oN output.txt 172.17.120.13
案例六:使用时间模板进行扫描
nmap -T 4 172.17.120.13

在 nmap 命令中,-T 选项用于设置扫描的时间模板,它影响扫描过程中的超时和重传行为。nmap 提供了几种预定义的时间模板,以适应不同的网络环境和扫描需求。这些时间模板包括:

0(偏执,Paranoid):最慢和最谨慎的扫描,适合于高延迟或不稳定的网络环境。
1(懒惰,Sneaky):慢速扫描,适合于尝试最小化对目标网络的影响。
2(怠慢,Polite):默认设置,平衡了扫描速度和对网络的影响。
3(正常,Normal):中等速度的扫描,适用于大多数情况。
4(积极,Aggressive):快速扫描,适用于快速网络和当时间比隐蔽性更重要时。
5(疯狂,Insane):最快速度扫描,可能会对网络造成较大影响。

当你使用 nmap -T 4 时,你指示 nmap 以积极(Aggressive)模式运行扫描。这意味着 nmap 会使用较短的超时时间,并且较少重传,这会导致扫描过程更快,但可能会增加误报的可能性(即错误地报告某些主机不在线)。此外,这种模式可能会对网络造成较大的负载。

常用命令

扫描指定端口开放的IP以及相关服务信息
nmap  -oN scanResult.txt -p 1-65535 -v -A IP地址或网段 
扫描还在线的主机
nmap -sn IP网段
上一篇 下一篇

猜你喜欢

热点阅读