端口扫描技术

端口扫描

常见的扫描类型:

  • 全连接扫描:
    • TCP connect 扫描
  • 半连接扫描:
    • TCP SYN 扫描
    • IP 头信息 dumb 扫描
  • 秘密扫描
    • TCP FIN 扫描
    • TCP ACK 扫描
    • NULL 扫描
    • XMAS 扫描
    • SYN/ACK 扫描
  • 其他扫描
    • UDP 扫描

全连接扫描

与目标主机建立一次完整的连接, 如果建立成功, 则表明端口开放.

优点: 准确度高, 实现简单.

缺点: 容易被 (防火墙, IDS) 检测到, 并留下大量日志记录.

客户端发送 SYN 包, 如果服务端:

  • 返回 SYN + ACK, 则端口开放, 回应 ACK 建立连接.
  • 返回 RST + ACK, 表示端口未开放.
客户端 服务端 SYN SYN + ACK ACK

半连接扫描

向服务端发送 SYN 包, 如果服务器:

  • 回应 SYN + ACK, 则端口开放, 继续向服务端发送 RST 重置连接.
  • 回应 RST, 则端口关闭.

半连接的另一个应用是发起SYN 洪流攻击, 向服务端发送带伪造的源地址的 SYN 包, 服务器接收后会回应 SYN + ACK, 因为源地址是伪造的, 所以服务器永远收不到 ACK. 根据 TCP 协议, 服务端收不到响应重发 3 到 5 次并每次等待一个 SYN Time (一般是 30 秒到 2 分钟). 这可以消耗服务器的资源.

优点: 可以较少的在服务端留下痕迹, 较稳定.

缺点: 需要 root 权限.

客户端 服务端 SYN SYN + ACK RST

秘密扫描

秘密扫描是指扫描过程不会被审计工具发现的扫描技术.

  • 秘密扫描可以躲过 (IDS, 防火墙, 包过滤器, 日志审计).
  • 不包含 TCP 3 次握手的任何部分, 比半连接扫描更隐蔽.
  • 需要扫描主机自己构造 IP 包, 不稳定因素增加.

NULL 扫描

基于 RFC 793, 在收到一个没有设置标志位的 TCP 数据包 (ACK, FIN, RST, SYN, URG, PSH 标准全部置 0):

  • 如果目标主机没有返回任何信息, 则端口开放.
  • 如果目标主机返回 RST, 则端口关闭.

优点: 隐蔽

缺点: Windows 系统无论端口开放还是关闭都返回 RST, 所以稳定性较低.

FIN 扫描

向服务端发送 FIN 包, 如果服务端:

  • 响应 RST, 则表示端口关闭.
  • 无响应, 则表示端口开放.

ACK 扫描

基于 RFC 793, 向服务端发送一个只有 ACK 的数据包, 服务端回复 RST:

  • 回复的数据包 TTL < 64, 则端口开放.
  • 否则端口关闭.

缺点: 无法用于 Windows 系统, 它的 TTL 原始值是 128. 判断不太可靠.

XMAS 扫描

与 NULL 扫描类似, 构造设置标志位 (ACK, FIN, RST, SYN, URG, PSH) 的数据包, 同样不能用于 Windows.

UDP 扫描

构造一个空的 UDP 包到指定端口, 如果目标主机:

  • 返回 ICMP 不可达(类型 3, 代码 3), 则端口关闭.
  • 否则端口开启.

缺点: 需要服务端防火墙未设置 ICMP 过滤规则.

参考

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值