探测远程主机操作系统指纹的全新技术
2010-05-12 20:35:36 来源:WEB开发网4.2 DIY
这种操作系统指纹探测技术将会使用探测仪器的两个部分。一个数据报过滤装置,比如个人防火墙,另一个就是数据报监听装置。
探测仪器的配制:一种简单的模仿网络阻塞的方法就是在扫描主机上安装一个个人防火墙,并设置一些过滤规则来禁止接收所有来自目标主机的数据报。这时,数据报监听装置将会接收到所有的来自目标主机的数据报,由于防火墙的存在,扫描主机不会发送任何确认信息,这样就无法建立起完整的TCP连接。在某个时间段之后,远程主机就会终止与扫描主机的任何关系。
测试过程:测试过程将由三个不同的步骤组成。
- 防火墙的设置
- 试图与目标主机建立标准的连接
- 目标主机发送确认数据报
下面将详细的描述实现的过程:
- 选择一台主机,并确认某个存在的打开的端口。比如远程主机为192.168.0.10,它的TCP 80端口是打开的(系统开启的Web服务);
- 配置防火墙使其阻塞掉所有的来自目标主机;(192.168.0.10)的数据报。
- 监听来自目标主机TCP80端口的所有数据报;
- 向目标主机发送一个SYN数据报,试图与之建立连接;
- 分析所有来自目标主机的相邻数据报之间的延迟 。
实际上,我们测量的并不是目标主机发送连续数据报之间的时间间隔,而是我们收到的来自目标主机连续数据报之间的时间间隔。如果这些时间间隔几乎是固定的,那么我们可以大胆的假设他们是相等的。
下面是探测时数据报的流动情况(A表示扫描主机,B表示被探测的目标主机,A与B之间的无箭头直线表示没有数据传输):
A B
│--------SYN--------->│
│<------SYN-ACK-------│--------------
│---------------------│ 时间间隔为 t1
│<------SYN-ACK-------│--------------
│---------------------│ 时间间隔为 t2
│---------------------│
│<------SYN-ACK-------│--------------
│---------------------│
│---------------------│ 时间间隔为 t3
│---------------------│
│---------------------│
│<------SYN-ACK-------│--------------
更多精彩
赞助商链接