本人想写一个端口扫描程序,程序中主要想实现以下功能:
1、探测网段中存活主机。
2、探测存活主机中开放了哪些端口。
3、识别存活主机所运行的操作系统。
4、识别开放端口上所运行的网络服务类型。前两点没问题,第三点判断操作系统,本人也在网上查了很多资料,TTL什么的不准确,高手们都建议使用“基于TCP/IP协议栈的协议指纹技术”来判断,请问谁有这方面的资料或者源码。第四点判断网络服务类型,还没头绪,有建议的朋友帮帮忙,提供有用情报的都有分,谢谢大家了。

解决方案 »

  1.   

    这个可能要结合一些判断,比如TTL,ping,WMI等来分析
      

  2.   

    nmap可以实现识别操作系统,不知道是什么原理?
      

  3.   

    namap好像是开源吧    有时间研究代码最好
    不过看看介绍  大概的原理也能知道
    http://nmap.org/man/zh/man-os-detection.html
      

  4.   

    根据传说,,TTL能判断主机是 linux/unix 还是 windows。