操作系统指纹识别一般用来帮助用户识别某台设备上运行的操作系统类型。通过分析设备往网络发送的数据包中某些协议标记、选项和数据,我们可以推断发送这些数据包的操作系统。
只有确定了某台主机上运行的操作系统,攻击者才可以对目标机器发动相应的攻击。例如,如果要使用缓冲区溢出攻击,攻击者需要知道目标的确切操作系统与架构。
TCP与ICMP指纹识别
TCP指纹识别
对操作系统的扫描是通过TCP/IP协议簇进行的。TCP/IP是互联网的基础协议,网络上所有的通信交互都通过该协议簇进行,因此操作系统必须实现该协议,使其与网络上其它计算机进行通信。IP用来将一个逻辑地址分配给网络上的机器,TCP用一种网络公认的方式传输IP数据包。这些标记对操作系统特别重要,每个操作系统根据数据包的不同类型做出不同的反应,如果是TCP包就发送到系统自己的网络栈。
ICMP指纹识别
ICMP协议也经常被用来进行指纹识别。许多traceroute功能使用ICMP协议发现起点到目标的网络路径。如果数据报没有被正确处理,不管是设备没有激活还是数据报自己的问题,ICMP都会返回错误消息,这些错误消息有时也很有用。
TIPS
数据库监听端口
MS SQL:1433
Oracle :1521
IBM DB2:6790,6789
MySQL : 3306