半开放式扫瞄原理
Last Update:2002-07-07 21:00:48
原理图:
----------|---------------->(Request) |-------------
客户端 |<----------连接----------> | 服务器端
Client |<(Response)<--------------| Server
一般的TCP的三次握手连接程序(communication three way handshake)是:
Client--------Syn------->Server
Client<-----Syn/Ack------Server
Client-------Ack-------->Server
从而达成通讯连接程序(communication connection proces)。
半开放式连接(handshake cheating connection)
Client--------Syn------->Server
Client<-----Syn/Ack------Server
Client----->//延迟回应---Server
Client-connected--?<-----Server
Client--------RST------->Server
这时client和server已连接上,而server不知道client的准确身份,从而client达到隐瞒身份而与server接通的效果。这样 Server logging 就没有对client的正确性的记录,在这种情况下扫瞄时被发现的机会就大大减少了。
关键: Client------->//延迟回应------Server 的意义在Client不给Server及时回答Ack=Acknowledgment, Server就不知道Client的确实的回答与真正身份,但 Client 在
Client<-----Syn/Ack------Server 时已经和Server连接上了,Client故意推迟不回答Server的回问从而达到半开放式的连接扫描的目的, 当然这时client要较准确地估计server connection timeout 时间。这原是应用不正常的通讯握手方式而达成的 Communication handshake connection 连接.
半开放式的扫瞄器就应用这种原理达到隐瞒身份而与server接通的效果。但这种作法不太可靠。因为有监视性能较好的Server发现Client不正确地完成通讯三次握手程序(Three way handshake procedure),就会把连接裁断。
有较多较好的扫瞄器就是应用这种原理的进行扫瞄的。当然如果Server装备有IDS或其它监听设备或性能,那Client还是会被发现的。这是猫和鼠的斗争,强者为王!!!!