什么是端口?
将网络设备比作一间房子,那么端口就是进出该房子的出入口(奇怪的地方就是这个房子的出入口太多了,多达65535个),这些出入口供数据进出网络设备。
设置端口的目的,就是为了实现 “一机多用”,即在一台机器上运行多种不同的服务。那么当一台机器上运行着多个程序时,机器是如何区分不同程序的数据尼?
这个任务交由操作系统来处理,其采用的机制就是划分除65535个不同的端口号。程序在发送信息时,会在数据中带上端口编号,而操作系统在收到数据后会按照端口号将信息分流到当前内存中使用该端口号的程序。
端口的分类
公认端口
0~1024端口,这一段范围的端口号是最常用的,并且这些端口已经明确地和某种服务是协议进行了关联,一般不应该对其进行改变。
注册端口
1025~49151,这一段范围的端口通常也会关联到一些服务上,但没有明确地规定,不同的程序可以根据实际情况进行定义
动态/私有端口
39152~65535,这一段端口范围,常用的服务都不会使用,但由于比较隐蔽,故成为了一些木马和病毒程序常用的端口。
NMAP中对端口状态的定义
open:表示该端口处于开放状态,接受TCP和UPD的数据包
closed:表示该端口是可以访问的,但没有应用程序监听该端口
filtered:导致这种结果的原因是目标网络数据包过滤,由于这些设备过滤了探测数据包
unfinished:表示该端口是可以访问的,但无法确定该端口是open的还是closed的
NMAP中的各种端口扫描技术
SYN扫描
原理
首先,Nmap会向目标主机系统发送一个SYN的请求连接数据包,而目标主机系统在收到该数据包后,会响应一个SYN/ACK数据包,Nmap在接收到SYN/ACK数据包后,会发送一个RST数据包中断连接。由于并没有经过三次握手建立完整的TCP连接,故不会再在目标主机系统中形成日志记录。因此,这种扫描方式比较隐蔽。
扫描结果
open:目标主机系统给出了SYN/ACK数据包作为应答
closed:目标主机系统给出了RST数据包作为应答
filtered:目标主机系统没有给出响应或nmap接收到ICMP无法到达错误
优点
扫描速度快,不容易被网络中的安全设备发现
命令与实例
命令语法:nmap -sS [目标IP地址]
实例:nmap -sS 192.168.21.1
Connect扫描
与SYN扫描类似,但其完成了TCP的三次握手建立了连接。
命令与实例
命令语法:nmap -sT [目标主机ip地址]
实例:nmap -sT 192.168.21.1
UDP扫描
扫描结果
open:从目标端口收到UDP应答
open|filtered:目标主机木有给出应答
closed:ICMP端口无法抵达错误
filtered:ICMP无法抵达错误
命令与实例
命令语法:nmap -sU [目标主机ip地址]
实例:nmap -sU 192.168.21.1
僵尸扫描
利用第三方主机进行扫描
第三方主机的条件:1.处于开机且空闲状态 2.IPID必须是整数递增的
命令
寻找合格的第三方主机
nmap [第三方主机ip地址] –scrip=ipidseq.nse
#扫描结果出现”_ipidseq:Incremental!”表示该主机可以做僵尸机
扫描目标主机系统
nmap [目标主机ip地址] -sI [第三方主机ip地址] -Pn
指定扫描的端口
1.扫描一个或多个指定的端口
-p 80 / -p 80,21,443 / -p 1-1000
2.全端口扫描
-p *
关于NMAP的端口扫描技术是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
文章标题:NMAP的端口扫描技术是什么,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/23711