端口扫描工具
编辑端口扫描工具是一种软件,可用于检查使用 TCP 或 UDP 的系统通过 Internet 协议提供哪些服务。 端口扫描工具减轻了用户使用嗅探器检查和解释系统响应行为的工作。
端口扫描工具通常还提供额外的功能,例如操作系统和服务检测,尽管这些与实际的端口扫描无关。
工作原理
编辑TCP连接()扫描
这是最简单的扫描方法。 端口扫描工具使用 connect系统调用进行端口扫描。 然后操作系统接管实际的连接建立。 如果系统调用成功,则端口打开。 然后使用 close立即再次关闭连接。 如果无法建立连接,则关闭端口。
这种方法的优点是编程非常简单。 由于几乎每个系统都可以使用 connect命令,因此 connect端口扫描工具非常便携。 通常不需要特殊权限。 由于如果连接成功则完全建立,它通常出现在服务的日志文件中。
TCP同步扫描
通过 TCP SYN 扫描,将带有 SYN 标志的 TCP 数据包发送到目标主机以模拟连接尝试。 主机的响应提供有关端口的信息:如果它发送 SYN/ACK 数据包,即 TCP 三向握手的第二部分,则端口正在接受连接,因此是开放的。 然后源主机通常用 RST 数据包响应以再次关闭连接(这通常不是由端口扫描工具完成的,而是由操作系统完成的,因为没有正式进行连接尝试)。 如果主机发送 RST 数据包,端口将关闭。 如果目标主机根本不发送任何数据包,则安装了数据包过滤器。
这种类型的扫描也称为隐形扫描,因为如果连接未完全建立,TCP 实现不会通知关联的服务。 因此,这不会为尝试的连接建立生成任何日志数据,或者根本不会从扫描中注意到任何内容。 从应用程序的角度来看,SYN 扫描因此是不可见的。 但是,这不适用于网络级别:防火墙或入侵检测系统仍然可以识别这种类型的扫描,并且如果有必要,可以在端口敲门过程的帮助下阻止它,其中端口仅在预先已收到约定的数据包序列。
大多数源系统也需要系统管理员权限,因为 TCP 数据包必须由端口扫描工具手工制作。
TCP SYN 扫描可用于 SYN 泛洪形式的拒绝服务攻击。
TCP FIN/圣诞节/空扫描
这些方法不建立连接,而是检查后续数据包的行为。 如果一个端口是开放的,后续的数据包应该被忽略,因为它们不属于现有的连接。 如果端口关闭,则应发送重置数据包。
TCP空闲扫描
此扫描通过称为僵尸的中介运行。 空闲扫描是目前xxx已知的扫描方法,被扫描的主机无法得出任何关于扫描主机的结论,因为它只认为它看到了僵尸数据包。
僵尸主机
要有资格作为空闲扫描的僵尸主机,它必须满足以下条件:
- 僵尸主机必须能够接收来自目标的数据包
- IPID(IP 标识号,IP 标头的一部分)对于端口扫描工具必须是可预测的。
一方面,IPID 的可预测性源于大多数操作系统使用 IPID 的系统全局计数器,每当系统发送自生成的数据包时,IPID 都会增加一个特定值。 这些值因操作系统而异,通常为 1、4 或 8。僵尸本身在理想情况下不会在操作期间生成任何 IPID 更改数据包,即系统空闲 - 因此对于可预测性也很重要术语空闲扫描。
令人惊讶的是,路由器非常适合作为僵尸,因为它们通常只传递数据包(它们的 IPID 不会改变),但它们本身并不参与网络流量。
程序
对于实际扫描,端口扫描工具需要僵尸的当前 IPID。 要找出 IPID,例如 B. 简单地向他发送了一个 TCP 连接请求(SYN)。 僵尸回复SYN|ACK或RST,回复包中包含当前IPID(2)。
对于实际的端口扫描,攻击者向目标 (3) 发送一个欺骗性的 SYN 数据包。 攻击者将僵尸主机的IP地址设置为源IP地址。 如果端口打开,目标发送一个 SYN|ACK 数据包给僵尸(4a端口扫描工具是一种软件,可用于检查使用 TCP 或 UDP 的系统通过 Internet 协议提供哪些服务。 端口扫描工具减轻了用户使用嗅探器检查和解释系统响应行为的工作。
端口扫描工具通常还提供额外的功能,例如操作系统和服务检测,尽管这些与实际的端口扫描无关。
工作原理
编辑TCP连接()扫描
这是最简单的扫描方法。 端口扫描工具使用 connect系统调用进行端口扫描。 然后操作系统接管实际的连接建立。 如果系统调用成功,则端口打开。 然后使用 close立即再次关闭连接。 如果无法建立连接,则关闭端口。
这种方法的优点是编程非常简单。 由于几乎每个系统都可以使用 connect命令,因此 connect端口扫描工具非常便携。 通常不需要特殊权限。 由于如果连接成功则完全建立,它通常出现在服务的日志文件中。
TCP同步扫描
通过 TCP SYN 扫描,将带有 SYN 标志的 TCP 数据包发送到目标主机以模拟连接尝试。 主机的响应提供有关端口的信息:如果它发送 SYN/ACK 数据包,即 TCP 三向握手的第二部分,则端口正在接受连接,因此是开放的。 然后源主机通常用 RST 数据包响应以再次关闭连接(这通常不是由端口扫描工具完成的,而是由操作系统完成的,因为没有正式进行连接尝试)。 如果主机发送 RST 数据包,端口将关闭。 如果目标主机根本不发送任何数据包,则安装了数据包过滤器。
这种类型的扫描也称为隐形扫描,因为如果连接未完全建立,TCP 实现不会通知关联的服务。 因此,这不会为尝试的连接建立生成任何日志数据,或者根本不会从扫描中注意到任何内容。 从应用程序的角度来看,SYN 扫描因此是不可见的。 但是,这不适用于网络级别:防火墙或入侵检测系统仍然可以识别这种类型的扫描,并且如果有必要,可以在端口敲门过程的帮助下阻止它,其中端口仅在预先已收到约定的数据包序列。
大多数源系统也需要系统管理员权限,因为 TCP 数据包必须由端口扫描工具手工制作。
TCP SYN 扫描可用于 SYN 泛洪形式的拒绝服务攻击。
TCP FIN/圣诞节/空扫描
这些方法不建立连接,而是检查后续数据包的行为。 如果一个端口是开放的,后续的数据包应该被忽略,因为它们不属于现有的连接。 如果端口关闭,则应发送重置数据包。
具体设置哪些标志取决于扫描类型:
TCP空闲扫描
此扫描通过称为僵尸的中介运行。 空闲扫描是目前xxx已知的扫描方法,被扫描的主机无法得出任何关于扫描主机的结论,因为它只认为它看到了僵尸数据包。
僵尸主机
要有资格作为空闲扫描的僵尸主机,它必须满足以下条件:
- 僵尸主机必须能够接收来自目标的数据包
- IPID(IP 标识号,IP 标头的一部分)对于端口扫描工具必须是可预测的。
一方面,IPID 的可预测性源于大多数操作系统使用 IPID 的系统全局计数器,每当系统发送自生成的数据包时,IPID 都会增加一个特定值。 这些值因操作系统而异,通常为 1、4 或 8。僵尸本身在理想情况下不会在操作期间生成任何 IPID 更改数据包,即系统空闲 - 因此对于可预测性也很重要术语空闲扫描。
令人惊讶的是,路由器非常适合作为僵尸,因为它们通常只传递数据包(它们的 IPID 不会改变),但它们本身并不参与网络流量。
程序
对于实际扫描,端口扫描工具需要僵尸的当前 IPID。 要找出 IPID,例如 B. 简单地向他发送了一个 TCP 连接请求(SYN)。 僵尸回复SYN|ACK或RST,回复包中包含当前IPID(2)。
对于实际的端口扫描,攻击者向目标 (3) 发送一个欺骗性的 SYN 数据包。 攻击者将僵尸主机的IP地址设置为源IP地址。
内容由随风提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/369905/