网站设计和建设,wordpress有多个页脚,海门建网站公司,使用php做网站基于TCP的探测
关于三次握手(Three-way Handshake) 向处于开放或关闭状态的端口发送不同字段设置的探测请求包时#xff0c;被探测端口的回应如下表所示#xff1a;
closed portopen portSYN 包丢弃并返回一个RST包回复SYN或ACKSYN关闭的包丢弃不回复丢弃不回复RST包丢弃不…基于TCP的探测
关于三次握手(Three-way Handshake) 向处于开放或关闭状态的端口发送不同字段设置的探测请求包时被探测端口的回应如下表所示
closed portopen portSYN 包丢弃并返回一个RST包回复SYN或ACKSYN关闭的包丢弃不回复丢弃不回复RST包丢弃不回复丢弃不回复ACK包丢弃并回复一个RST包丢弃并回复一个RSTFIN包丢弃并回复一个RST丢弃不回复
TCP全连接Full Tcp Connection
在不需要特殊权限的情况下使用connect()函数发起连接请求开放端口成功建立连接关闭端口返回-1. 特点已被发现日志会记录TCP全连接的序列。检测程序 Courtney,Gabriel,Tcp Wrappers可阻止特定主机发起的全连接。
半开放连接-half-open scanningTCP SYN Scanning
分别介绍被探测端口处于开放和关闭状态下的情景
open port被探测端口回复SYN或ACK包探测方得知端口开放后回复一个RST包以终止刚刚建立的连接过程。closed port:被探测方丢弃并回复RST包。
优点半开放连接依然会被日志记录但记录频率比全连接要低 缺点需要自定义构建整个IP数据包需要super-user或特权组权限才能构造自定义包
隐形扫描Stealth Scanning
此类探测不进行三次握手中的任意一环因此隐藏性较半开放探测更高 缺点此类扫描只能针对UNIX及部分操作系统由于Windows95和NT在端口开放和关闭时都返回RST包。
FIN scanning
open port:直接丢弃不予以回应closed port:丢弃并回复一个RST包 优点绕过只针对SYN的包过滤器
Xmas scanning
是对于FIN scanning 的改进将FIN、PSH、URG全部置为1 优点可绕过FIN flag过滤器
NULL scanning
是对于FIN scanning的改进将FIN、PSH、URG全部置为0 优点可绕过FIN falg过滤器
间接扫描dump host scan
通过傀儡主机进行对目标主机端口的扫描从而隐藏发起扫描的真实主机 傀儡主机需要满足在扫描方扫描期间傀儡机不可以向其他主机发送数据包。 探测流程如下
扫描方向傀儡机发送ICMP echo请求监视傀儡机回复报文序列的递增情况。由于傀儡机只与扫描主机之间发送数据包故常态下报文序列递增1.扫描方以傀儡机的IP向目标主机端口发送SYN请求包。当目标端口关闭时目标主机回复给傀儡机相同数量的RST包傀儡机将收到的RST包全部丢弃且不予以回复当扫描方再对傀儡机发送ICMP echo时傀儡机回复的报文序列依然相较于上一个报文增加1当目标端口开放时目标主机将会给傀儡机回复SYN|ACK报文傀儡机收到回复报文后会给目标主机回复相同数量的RST报文消耗傀儡机序号当扫描机再向傀儡机发送ICMP echo时收到的回复报文序列将不会只增1.
碎片化扫描fragmented packets scanning
将TCP首部划分为几个小报文从而进一步提升SYN、FIN、Xmas和Null 扫描的匿名性。
诱饵扫描(Decoy scanning)
同时发送多个探测数据包其中只有一个数据包具有真实的地址其余数据包都含有虚假地址。使得目标主机无法区分哪个是真实的探测包。 作为发送虚假探测包的主机需要是开放且可达的否则会使得目标主机收到洪泛攻击SYN flooded 由于某些“扫描检测器”的反应是拒绝访问尝试端口扫描的主机因此可能会导致目标主机遭受非自愿的Dos攻击目标主机失去于诱饵主机的正常通信。
合作扫描Coordinated Scanning
天南海北的物理隔绝的IP针对同一目标进行合作扫描。 特点隐藏性弱化单个IP的特征难以通过常规手段检测探测包高效性更短的时间、使得防御方难以追踪且难以通过禁IP的方法阻止探测获取更多的数据获取单个探测IP难以获得的数据例如发现更短的路由数据获取潜在的后门。
基于UDP的探测
由于UDP扫描容易被block,故很少用UDP扫描 攻击者发送0比特UDP探测包。若收到ICMP port unreachable,表明端口关闭若没收到任何回复往往表明端口开放当然可能是报文丢失的情况。
Ident Scanning
通过Identification protocol 检索指定端口上运行进程的用户名。步骤如下
对指定端口建立连接若端口开放进行下一步向目标主机的113端口的identthe Identification Protocol 进程发送给ident request
代理扫描Proxy Scanning
通常两个主机之间会开放21和20端口作为ftp文件传输协议端口但这很容易被滥用例如ftp代理扫描ftp proxy scanning:
扫描主机S将通过代理主机F建立于目标主机T之间的连接S与F建立ftp连接使用PORT命令指定T上的某个端口作为被动端口S通过LIST命令向T上的端口进行代理数据的传输如果T上的端口开放则发送成功否则S返回425S持续重复上述步骤知道扫描到S上的开放端口
其他扫描技术
Ping scanning
目的通过探测大量端口发现主机是否存活。
ICMP pingsTCP pings首先发送没有被过滤的特定标志位TCP分片报文其次非root用户的扫描方可以使用connect()函数进行连接建立最后发送ACK报文若收到RST回复表明开放。
指纹匹配
根据端口响应数据包进行指纹提取与指纹库的操作系统特征进行匹配从而达到识别特定的操作系统的目的。
参考 De Vivo M, Carrasco E, Isern G, et al. A review of port scanning techniques[J]. ACM SIGCOMM Computer Communication Review, 1999, 29(2): 41-48. 总结尚浅望各位读者补充指正