信息收集-端口扫描工具-Nmap使用说明

本文深入介绍了Nmap工具的安装、端口状态解析、扫描命令及其应用场景,包括TCP、UDP、SYN扫描等。通过实例展示了如何使用-sA、-sL、-sP和-sS等命令进行主机和端口探测,讨论了各种扫描方式的优缺点。Nmap作为网络安全扫描工具,其高效和隐蔽的特点在系统管理员和渗透测试人员中广泛使用。
摘要由CSDN通过智能技术生成

目录

  0x01 安装
  0x02 端口的状态
  0x03 扫描命令
  0x04 命令实操

0x01 安装

Mac os:

brew install nmap

Centos:

yum install nmap

Ubuntu:

apt-get install nmap

0x02 端口的状态

状态解释
open(开放的)应用程序正在该端口接受TCP连接或者UDP报文
closed(关闭的)关闭的端口对于Nmap也是可访问的(它接受Nmap的探测报文并作出响应),但没有应用程序在其上监听
filtered(被过滤的)由于包过滤阻止探测报文到达端口,Nmap无法确定该端口是否开放
unfiltered未被过滤状态意味着端口可访问,但Nmap不能确定它是开放还是关闭
open/filetered(开放或者被过滤)当无法确定端口是开放还是被过滤,Nmap把该端口划分成这种状态
closed/filtered(关闭或者被过滤的)该状态用于Nmap不能确定端口是关闭的还是被过滤的

0x03 扫描命令

语法

nmap [scan type] [option] [target]

命令

命令描述
-sTTCP,基本的TCP扫描方式。这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息
-sSSYN,同步扫描, 仅发送SYN包,所以这项技术称为半开放扫描,好处是,不容易被检测,很少有系统能够把这记录入日志系统,不过需要root权限定制SYN包
-sUUDP,扫描开放了哪些UDP端口
-sPICMP,ping扫描探测哪些主机在线
-P0在扫描之前,不ping主机
-PT在扫描之前,使用TCP ping确定哪些主机正在运行,不对端口或操作系统探测
-PI设置这个选项,让namp使用真正的ping(ICMP echo请求)来扫描目标主机是否正在运行
-p T:n1,n2…扫描开放了哪些TCP端口
-PSTCP ACK扫描
-PATCP SYN扫描
-sRRPC扫描,和其它不同的端口扫描方法结合使用
-snDisable Port Scan
-sA使用tcp的ack包进行探测探测主机是否存活,这项高级的扫描方式通常可以用来穿过防火墙
-sL列表发现,仅仅列出网络上的每台主机,并不发送任何报文到目标主机
-sV查看目标主机和端口上运行的软件的版本
-PB这是默认的ping扫描选项,它使用 ACK(-PT) 和 ICMP(-PI) 两种扫描类型并行扫描。如果防火墙能够过滤其中一种包,使用这种方法,你就能够穿过防火墙
-sW滑动窗口扫描,非常类似于ACK扫描
-sNTCP空扫描欺骗防火墙
-PN探测防火墙
-bFTP反弹攻击,连接到防火墙后面的一台FTP服务器做代理,接着进行端口扫描
-A扫描操作系统和路由跟踪
-O探测操作系统
-iflist显示接口和路由信息
-p指定端口扫描
-v加强扫描,给出扫描过程的详细信息
-F快速扫描
-r按顺序扫描
-I打开nmap的反向标志扫描功能
-f使用碎片 IP 数据包发送 SYN、FIN、XMAS、NULL。包增加包过滤、入侵检测系统的难度,使其无法知道你的企图。
-S 设置源IP
-g port 设置源端口,如果攻击者把源端口修改为 20 或者 53,就可以摧毁防火墙的防护
-M countTCP扫描时,最多使用多少个套接字进行并行扫描
-T4指定扫描过程使用的时序,总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况较好的情况下推荐使用T4
-iR number随机生成number个地址进行扫描

时间设置

参数描述
-‌-host_timeout扫描一台主机的时间毫秒为单位,通常选值:18000
-‌-scan-delay报文时间间隔毫秒为单位,通常选值:1000
-‌-max_rtt_timeout设置每次探测等待的时间毫秒为单位,超过就重传
-‌-min_rtt_timeout每次探测至少等待的时间,以毫秒为单位

文件导出

参数描述
-oN将结果导出到一个可读的文件logfilename
-oX test.xml将扫描结果生成 test.xml 文件如果中断,则结果打不开
-oA test.xml将扫描结果生成 test.xml 文件中断后,结果也可保存
-oG test.txt将扫描结果生成 test.txt 文件

多个扫描

命令描述
namp IP1 IP2…扫描多个IP
namp 192.168.0.1,3,5,7…扫描多个IP
namp 192.168.0.*扫描整个子网
namp 192.168.1-10.*扫描多个子网
nmap -iL xxx.txt根据文件扫描多个IP
namp 192.168.0.10-100扫描范围内IP

0x04 命令实操

-sA

nmap 192.168.52.146 -sA
-sA参数是发送tcp包进行探测,可以探测主机是否存活。

在这里插入图片描述

Host is up,意思就是主机是存活的

-sL

nmap -sL 192.168.52.0/24

-sL(列表发现)它仅仅列出指定网络上的每台主机,并不发送任何报文到目标主机
使用-sL指令只是简单地扫描指定网络上的所有主机,并不能确定主机是否是存活,所以他的扫描速度很快

在这里插入图片描述
-sP

nmap -sP 192.168.52.146

-sP使用ping扫描,然后将对ping扫描做出响应的主机,打印出来,并不做进一步测试(如端口扫描或者操作系统探测)

在这里插入图片描述
-sS

nmap 192.168.52.146 -sS

-sS:半开放扫描(非3次握手的tcp扫描)
-sS(Tcp SYN Scan)可以说是使用频率最高的扫描选项:SYN扫描,又称半开放扫描,它不打开一次完全的TCP连接,执行得很快,效率高(一个完整的tcp连接需要3次握手,而-sS选项不需要3次握手)

在这里插入图片描述

第1️⃣行:启动nmap,以及启动时间
第2️⃣行:显示的是本次扫描的目标是什么
第3️⃣行:显示该主机已经启动
第4️⃣行:显示有997个端口未开起(并不是真的未开启,而是没有对外开放)

优点缺点
Nmap发送SYN包到远程主机,但是它不会产生任何会话,目标主机几乎不会把连接记入系统日志。(防止对方判断为扫描攻击),扫描速度快,效率高,在工作中使用频率最高它需要root/administrator权限执行

-sT

nmap 192.168.52.142 -sT

-sT:3次握手方式tcp的扫描
sT(Tcp connect() scan)和上面的Tcp SYN对应,TCP connect()扫描就是默认的扫描模式。不同于Tcp SYN扫描,Tcp connect()扫描需要完成三次握手,并且要求调用系统的connect()

在这里插入图片描述

优点缺点
不需要root权限。普通用户也可以使用这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息,由于它要完成3次握手,所以效率低

-sU

nmap 192.168.52.142 -sU

-sU:是udp端口的扫描
sU(Udp scan)顾名思义,这种扫描技术用来寻找目标主机打开的UDP端口,它不需要发送任何的SYN包,因为这种技术是针对UDP端口的。UDP扫描发送UDP数据包到目标主机,并等待响应,
如果返回ICMP不可达的错误消息,说明端口是关闭的,如果得到正确的适当的回应,说明端口是开放的。udp端口扫描速度比较慢。

在这里插入图片描述

-sV

nmap 192.168.52.142 -sV

-sV:版本检测(sV),能够用来扫描目标主机和端口上运行的软件的版本,并将它显示出来。

在这里插入图片描述

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值