nmap 上的 -sS 和 -sT 有什么区别?

nmap 上的 -sS 和 -sT 有什么区别?

nmap 上的 -sS 和 -sT 有什么区别?两个命令都给出相同的输出(除了过滤端口/关闭端口)。

答案1

nmap 上的 -sS 和 -sT 有什么区别?

扫描类型

-sS TCP SYN扫描:

这种技术通常被称为“半开”扫描,因为您不会打开完整的 TCP 连接。您发送一个 SYN 数据包,就好像您要打开一个真正的连接,然后等待响应。SYN|ACK 表示端口正在监听。RST 表示非监听者。如果收到 SYN|ACK,则立即发送 RST 以断开连接(实际上我们的操作系统内核会为我们执行此操作)。这种扫描技术的主要优势是记录它的站点较少。不幸的是,您需要 root 权限才能构建这些自定义 SYN 数据包。这是特权用户的默认扫描类型。

-sT TCP 连接()扫描:

这是最基本的 TCP 扫描形式。操作系统提供的 connect() 系统调用用于打开与机器上每个相关端口的连接。如果端口正在监听,connect() 将成功,否则端口无法访问。此技术的一个很大的优点是您不需要任何特殊权限。大多数 UNIX 机器上的任何用户都可以自由使用此调用。

这种扫描很容易被发现,因为目标主机日志将显示一堆连接和错误消息,这些消息用于 accept() 连接并立即关闭的服务。这是非特权用户的默认扫描类型。

来源nmap

答案2

使用 -sS 时,TCP 数据包流为 SYN - SYN/ACK - RST。监听端口的服务不会注意到,因为握手从未完成。另一方面,-sT 执行正确的握手(SYN - SYN/ACK - ACK),从而建立连接,因此服务会注意到。

因此,-sS 比 -sT 更隐秘。

相关内容