nmap软件的端口扫描功能主要包括哪几类技术_Nmap的端口扫描技术

hacker|
134

Linux使用nmap扫描端口

安装nmap后(ubuntu通过apt-get install nmap安装),运行下列命令即可

nmap -p0-65535 目标ip地址

常用的扫描类型:

1、-sP(ping的方式扫描,检查主机在线与否,不发送任何报文到目的主机,想知道目标主机是否运行,而不想进行其它扫描,这扫描方式很常用)

2、-sL(仅仅列网段内出主机的状态、端口等信息,查询端口的话用 -p port,port1……)

3、 -PS/PA/PU [portlist](根据给定的端口用TCP或UDP报文探测:对于root用户,这个选项让nmap使用SYN包而不是ACK包来对目标主机进行扫描。如果主机正在运行就返回一个RST包(或者一个SYNACK包))

4、-sS(TCP同步扫描(TCP SYN):发出一个TCP同步包(SYN),然后等待回对方应)

5、 -sF -sF -sN(秘密FIN数据包扫描、圣诞树 (Xmas Tree)、空(Null)扫描模式使用-sF、-sX或者-sN扫描显示所有的端口都是关闭的,而使用SYN扫 描显示有打开的端口,你可以确定目标主机可能运行的是Windwos系统)

6、-sU(UDP扫描:nmap首先向目标主机的每个端口发出一个0字节的UDP包,如果我们收到端口不可达的ICMP消息,端口就是关闭的,否则我们就假设它是打开的)

7、-P0 (No ping)(这个选项跳过Nmap扫描)

8、-PE/PP/PM

扫描类型的控制

1、sW (对滑动窗口的扫描)

2、-sR(RPC扫描)

3、 -PE; -PP; -PM (ICMP 类型的ping)

4、-PR (ARP 类型的ping-n (无 DNS 解析)

5、-R (为所有的目标做DNS解析)

6、-sV(对服务版本的检测)

常用的对主机的操作

1、-A或者-O(对操作系统的检测)

2、-v(增加信息的详尽程度)

3、-p(ports的范围)

描述使用Nmap对系统进行 *** 端口扫描的过程

【实验过程]】

将实验指导书的实验过程缩写,重点在于写出实验执行的具体步骤,以下是一个实验的书写实例:

1、 运行实验工具目录下的Nmap安装程序,安装Nmap到系统中的默认路径

2、 主机发现:运行如下命令:Nmap –sP 192.168.80.201,来判断目标主机Windows

Server A是否可连通

3、 使用常规扫描方式对目标主机进行TCP端口扫描,运行如下命令:Nmap –sT

192.168.80.201

4、 使用SYN半扫描方式,对目标主机进行TCP端口扫描,运行如下命令:Nmap –sS

192.168.80.201

5、 对主机进行UDP端口扫描,运行如下命令:Nmap –sV 192.168.80.201

6、 探测目标主机的操作系统类型,运行如下命令:Nmap –O –P0 192.168.80.201

7、 运行Namp的图形化前端程序Nmap,在“Target”中输入扫描目标的IP地址

(192.168.80.201),然后在Profile预定义配置下拉框中选择配置“Intense Scan , no Ping”,然后点击菜单项“Profile”-“Edit Selected Profile”,切换到“Scan”选项卡,勾选上“Operation system detection”和“Version detection”,然后点击“Save Changes”按钮保存扫描配置,最后点击“Scan”按钮开始扫描。

具体参考

nmap扫描工具的使用二 *** 探测

Nmap的6种端口状态:

            Open:开放状态

            Closed:关闭状态

            Filtered: 过滤状态(可能被过滤,可能 *** 阻塞)

            Unfiltered:未被过滤状态(可以访问,但未知端口处于开放还是关闭状态)

            Open|Filtered:开放还是过滤的

            Closed|Filtered:不能确定端口事关闭还是被过滤的

-T 时序选项

        -p|-F|-r  常用扫描方式

        -sS   TCP SYN扫描:(需要root权限)

        -sT  TCP连接扫描:完整三次握手,最基础最稳定的扫描方式

        -sU   UDP扫描(速度非常慢,一般用-p指定端口范围以节约时间)

        -sN/sF/sX  隐蔽扫描

        -sA   TCP ACK扫描

        -sW  TCP窗口扫描

        -sM   TCP Maimon扫描

        –scanflags  自定义TCP扫描

        -sI   空闲扫描

        -sO  IP协议扫描

        -b *  FTP Bounce扫描

时序选项:

        -T0(偏执的):非常慢的扫描,用于IDS逃避

        -T1(鬼祟的):缓慢的扫描,用于IDS逃避

        -T2(文雅的):降低速度以降低对带宽的消耗,一般不同

        -T3(普通的):默认,根据目标的反应自动调整时间

        -T4(野蛮的):快速扫描,常用,需要在很好的 *** 环境下进行扫描,请求可能会淹没目标

        -T5(疯狂的):极速扫描,以牺牲准确度来提升扫描速度

例子:

(1)指定端口扫描:

nmap -p 80 192.168.20.16

    如图,直接输入nmap -p 80 192.168.20.16的时候提示Host seems down。我们可以通过ping命令来确定 *** 的连通性,此处使用的命令是ping 192.168.20.16,发现可以ping通,即 *** 是通的, 使用Ctrl+z停止执行ping命令。 再使用nmap -p 80 192.168.20.16命令的时候就可以出现正确的结果了。

ping 192.168.20.16(使用Ctrl+z停止执行ping命令)

nmap -p 80-1000 192.168.20.16

(2)TCP SYN扫描:

     ping 192.168.20.16(使用Ctrl+z停止执行ping命令)

     nmap -sS 192.168.20.16

     又称为半开放(需要root权限),常见扫描方式,扫描速度较快,由于未进行TCP连接,比较隐蔽,很难背防火墙或管理员发现

(3)隐蔽扫描

     ping 192.168.20.16(使用Ctrl+z停止执行ping命令)

     nmap -sN 192.168.20.16

     -sN是Null扫描

     ping 192.168.20.16(使用Ctrl+z停止执行ping命令)

     nmap -sF 192.168.20.16

     -sF是Fin扫描(发送FIN包)

     ping 192.168.20.16(使用Ctrl+z停止执行ping命令)

     nmap -sX 192.168.20.16    

           -sX是Xmas扫描(将数据包的FIN/PSH/URG都标记为1)

(4)TCP ACK扫描

         ping 192.168.20.16(使用Ctrl+z停止执行ping命令)

         nmap -sA 192.168.20.16

致命缺点:无法确定端口是否开放还是被过滤

centos下安装nmap工具及简单用法

1、yum安装nmap

yum install nmap -y

yum install nc -y

nmap 命令参数:nmap -h

2、nmap 常用命令介绍:

udp 检测

nc -vuz 221.23.4.5 6127

快速扫描端口模式,扫描100个最有可能开放的端口 -v 获取扫描的信息

nmap -F -v 192.168.43.118

Tcp SYN Scan (sS) 隐蔽扫描 这是一个不完整的扫描方式,它被称为半开放扫描,Nmap发送SYN包到远程主机,但是它不会产生任何会话,在syn扫描中不需要通过完整3次的握手,因此不会在目标主机上产生任何日志记录,这个就是SYN扫描的优势,但是这种扫描是需要root权限(对于windows用户来说,是没有root权限这个概念的,root权限是linux的更高权限,对应windows的管理员权限)

Tcp connect() scan(sT) 最常用

如果不选择SYN扫描,TCP connect()扫描就是默认的扫描模式,不同于Tcp SYN扫描,Tcp connect()扫描需要完成三次握手,并且要求调用系统的connect(),Tcp connect()扫描技术只适用于找出TCP和UDP端口,但是这种方式扫描的速度快,准确性高,对操作者没有权限上的要求,但是容易被防火墙和IDS(防入侵系统)发现。

UDP scan(sU)

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

nmap -sU 192.168.43.118

FIN scan (sF)

有时候Tcp SYN扫描不是更佳的扫描模式,因为有防火墙的存在,目标主机有时候可能有IDS和IPS系统的存在,防火墙会阻止掉SYN数据包。发送一个设置了FIN标志的数据包并不需要完成TCP的握手,收到RST回复说明该端口关闭,否则说明是open或filtered状态

nmap -sF 192.168.43.118

PING Scan (sP) 扫描在线主机

PING扫描它只用于找出主机是否是存在在 *** 中的,它不是用来发现是否开放端口的,PING扫描需要ROOT权限,如果用户没有ROOT权限,PING扫描将会使用connect()调用。

nmap -sP 192.168.43.118

版本检测(sV)

版本检测是用来扫描目标主机和端口上运行的软件的版本,它不同于其它的扫描技术,它不是用来扫描目标主机上开放的端口,不过它需要从开放的端口获取信息来判断软件的版本,使用版本检测扫描之前需要先用TCP SYN扫描开放了哪些端口。

nmap -sV 192.168.43.118

Idle scan (sL)

Idle scan是一种先进的匿名扫描技术,它不是用你真实的主机Ip发送数据包,而是使用另外一个目标 *** 的主机发送数据包,例如:通过目标 *** 中的192.168.43.118向主机192.168.43.4发送数据,来获取192.168.1.1开放的端口。

nmap -sL 192.168.43.118 192.168.43.4

有需要其它的扫描技术,如 FTP bounce(FTP反弹), fragmentation scan(碎片扫描),IP protocol scan(IP协议扫描),以上讨论的是几种最主要的扫描方式。

Nmap的OS检测(O)

Nmap最重要的特点之一是能够远程检测操作系统,Nmap的OS检测技术在渗透测试中用来了解远程主机的操作系统是非常有用的,通过获取的信息你可以知道已知的漏洞

nmap -O 192.168.43.17

ACK扫描:

利用ACK扫描判断端口是否被过滤。针对ACK探测包,为被过滤的端口(无论打开或关闭)会回复RST包

nmap -sA -T4 p1521,80 192.168.43.17

使用TCP ACK (PA)和TCP Syn (PS)扫描远程主机

nmap -pA -T4 p1521,80 192.168.43.17

nmap -pA -T4 p1521,80 192.168.43.17

扫描前不进行Ping扫描测试:

nmap -Pn p1521,80 192.168.43.17

通过tcp空扫描以绕过防火墙检测:

nmap -sN 192.168.43.17

打印主机接口和路由

nmap --iflist

按顺序扫描端口:

nmap -r 192.168.43.118

扫描主机检测是否有防火墙过滤:

nmap -PN -p 1521 192.168.43.17

扫描操作系统信息和路由跟踪

使用Nmap,你可以检测远程主机上运行的操作系统和版本。为了启用操作系统和版本检测,脚本扫描和路由跟踪功能,我们可以使用NMAP的“-A“选项。

nmap -A 192.168.43.17

扫描端口时状态介绍:

Open 端口开启,数据有到达主机,有程序在端口上监控

Closed 端口关闭,数据有到达主机,没有程序在端口上监控

Filtered 数据没有到达主机,返回的结果为空,数据被防火墙或者是IDS过滤

UnFiltered 数据有到达主机,但是不能识别端口的当前状态

Open|Filtered 端口没有返回值,主要发生在UDP、IP、FIN、NULL和Xmas扫描中

Closed|Filtered 只发生在IP ID idle扫描

以上总结来源于 *** 。

0条大神的评论

发表评论