前言
网络扫描只是发现和收集有关网络上活动主机的信息的过程,例如:操作系统类型,开放端口号,服务和正在运行的应用程序。
1)网络协议的基本原理
本节的内容主要针对网络协议新手,请跳过它。
目前,基本上所有用于引入网络协议的教材都使用ISO的OSI(开放系统互连)七层模型,如下图所示:
但是,在实际的开发工作中,大多数开发人员都使用五层TCP模型。下图显示了OSI七层模型和TCP五层模型之间的对应关系:
在实际的网络扫描过程中,协议类型和端口基本上是扫描工具的必要参数。网络协议模型中各层的协议类型如下图所示:
2)网络扫描技术
1.主机发现
网络扫描的第一步是确定网络中活动主机的数量及其对应的IP,以便进一步准确地确定对象。主机发现的主要方法是:
* ICMP ECHO请求通过Ping命令发送ICMP类型8数据包。如果主机处于活动状态亚博代理推荐 ,它将以ICMP类型0数据包答复。
* ICMP时间戳通过Ping命令发送ICMP类型13数据包。如果主机处于活动状态,它将使用ICMP类型14数据包进行回复。
* ICMP地址掩码请求通过Ping命令发送ICMP类型17数据包。如果主机处于活动状态网络扫描,它将使用ICMP类型18数据包进行回复。
* TCP Ping通过Ping命令发送TCP SYN或TCP ACK数据包。如果主机处于活动状态,它将回复请求数据包。具体答复取决于数据包的类型,主机的操作系统凤凰体育 ,防火墙策略等。
* UDP Ping通过Ping命令将UDP数据包发送到主机的UDP端口。如果主机处于活动状态亚博vip ,但UDP端口关闭,则将返回ICMP端口不可达数据包。由于UDP的无连接特性,如果主机不回复任何内容,则主机和UDP端口也可能处于活动状态。
2.端口和服务扫描
网络扫描的第二步是扫描活动主机的端口和服务。端口和服务的活跃性意味着存在漏洞的可能性。端口和服务扫描的主要方法是:
*连接扫描通过正常的TCP连接建立与主机的连接。如果主机的TCP端口处于活动状态,并且没有被保护墙过滤,则它将以SYN / ACK数据包进行回复,否则,将以RST / ACK数据包进行回复。这种扫描方法很容易发现或记录,因为它可以建立正常的连接。
*半开式扫描,顾名思义。当主机回复第一个SYN / ACK数据包时,扫描程序认为该端口处于活动状态,因此它使用RST数据包终止连接,但此操作尚未完成。三个握手。
*隐身扫描通过在标头中发送带有各种标志(例如SYN / ACK,FIN,ACK,NULL等)的数据包进行扫描,同时结合其他规避技术。
3.操作系统发现
操作系统发现(也称为指纹识别)使用指纹来确定主机正在运行的系统的类型。所谓指纹是被扫描主机返回的一些特征信息,例如TCP / IP堆栈,TCP窗口大小,TCP初始序列号等。指纹识别可以被动或主动进行。
3)网络扫描工具
当前网络扫描,有许多类型的网络扫描工具yb官网 ,包括商业和开放源代码。本节重点介绍几种流行的工具:
* Nmap是一个开放源代码,跨平台的网络扫描工具,具有大量的第三方插件。
* Superscan是Windows平台的免费网络扫描工具。
* YAPS代表Yet Another Port Scanner,这是Windows平台的免费网络扫描工具。
* Angry IP扫描仪是一个免费的跨平台网络扫描工具。
* NEWT是一种网络扫描工具,具有Windows平台的商业版本和免费版本。
老王
最新评论