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

  • Post author:
  • Post category:其他




目录




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]


命令

命令 描述


-sT

TCP,

基本的TCP扫描方式

。这种扫描很

容易被检测

到,在目标主机的日志中会记录大批的连接请求以及错误信息


-sS

SYN,同步扫描,

仅发送SYN包

,所以这项技术称为半开放扫描,好处是,

不容易被检测

,很少有系统能够把这记录入日志系统,不过需要root权限定制SYN包


-sU

UDP,

扫描开放了哪些UDP端口


-sP

ICMP,

ping扫描



探测哪些主机在线


-P0

在扫描之前,

不ping主机


-PT

在扫描之前,使用TCP ping

确定哪些主机正在运行

,不对端口或操作系统探测


-PI

设置这个选项,让namp使用真正的ping(ICMP echo请求)来扫描目标主机是否正在运行


-p T:n1,n2…

扫描开放了哪些TCP端口


-PS

TCP ACK扫描


-PA

TCP SYN扫描


-sR

RPC扫描,和其它不同的端口扫描方法结合使用


-sn

Disable Port Scan


-sA

使用tcp的

ack包进行探测



探测主机是否存活

,这项高级的扫描方式通常

可以用来穿过防火墙


-sL


列表发现

,仅仅列出网络上的每台主机,并不发送任何报文到目标主机


-sV


查看目标主机和端口上运行的软件的版本


-PB

这是默认的ping扫描选项,它使用 ACK(-PT) 和 ICMP(-PI) 两种扫描类型并行扫描。如果防火墙能够过滤其中一种包,使用这种方法,你就能够穿过防火墙


-sW

滑动窗口扫描,非常类似于ACK扫描


-sN


TCP空扫描欺骗防火墙


-PN

探测防火墙


-b

FTP反弹攻击,连接到防火墙后面的一台FTP服务器做代理,接着进行端口扫描


-A


扫描操作系统和路由跟踪


-O


探测操作系统


-iflist


显示接口和路由信息


-p


指定端口扫描


-v

加强扫描,给出

扫描过程的详细信息


-F

快速扫描


-r

按顺序扫描


-I

打开nmap的反向标志扫描功能


-f

使用

碎片 IP 数据包

发送 SYN、FIN、XMAS、NULL。包增加包过滤、入侵检测系统的难度,使其无法知道你的企图。


-S


设置源IP


-g port


设置源端口

,如果攻击者把源端口修改为 20 或者 53,就可以摧毁防火墙的防护


-M count


TCP扫描时,最多使用多少个套接字进行并行扫描


-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),能够用来扫描目标主机和端口上运行的软件的版本,并将它显示出来。

在这里插入图片描述



版权声明:本文为m0_37638874原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。