精确一些比较好,追捕获取的是“winNT/UNIX”,闹的我也搞不出到底是UNIX还是NT

解决方案 »

  1.   

    idAnts:
          我想做twwwscan这样的东西,我不想用它啊
      

  2.   

    难道主机用了IIS就判断其是NT或2K
    用了Netscape-Enterprise就用UNIX? 除了这么判断有没有别的方法啊?
    要是一定需要这么判断,那么,那些服务程序跟操作系统是一一对应的?
      

  3.   

    ping 下也能知道
      返回的TTL为126即是WINDOWS系列。243是UNIX
       至于其它的, 多多观察就知道了。
                 
      

  4.   

    ping csdn.net
    TTL= 118
    ping www.hl.cninfo.net 
    TTL= 252
    ping www.vcdv.net
    TTL= 244
    ping www.whitehouse.gov
    Destination Net Unreachable
    ping www.microsoft.com [www.microsoft.akadns.net]
    time out
    ping www.csdn.com
    TTL= 49TTL真不好观察啊,不过多谢人狼了,起码有点思路了.
    还有一点啊,好象TTL的值是从0开始排列到2百多,有这么多种操作系统么?
      

  5.   

    ftp好象可以返回,如果他设置了的话
      

  6.   

    NetBIOS?
        
          请问greensleeve,NetBIOS怎么用?NetBIOS的端口不是139么?很多网站把NetBIOS都关闭了。
          具体怎么实现?
      

  7.   

    NetBios能看出来吗?怀疑,关注!
      

  8.   

    利用ICMP请求报文探测主机操作系统作者:Ofir Arkin
       Alfredo Andr's Omella
    翻译:XUNDI
       http://focus.silversand.net
    补充:backend
    整理:backend
       http://www.nsfocus.com
    1) 根据ICMP地址掩码请求探测SUN操作系统对于ICMP地址掩码请求,只有少数操作系统会产生相应的应答,这些系统
    包括ULTRIX OpenVMS, Windows 95/98/98 SE/ME, NT below SP 4, 和 SUN 
    Solaris机器。但其中SUN机器对碎片ICMP地址掩码请求(fragmented ICMP 
    Address Mask Requests)的应答不一样,所以允许远程用户来鉴定SUN主
    机操作系统。下面是通过由Alfredo Andres Omella写的SING(http://sourceforge.net/
    projects/sing)对SUN SOLARIS2.7机器正常的地址掩码请求:# ./sing -mask IP_Address
    SINGing to IP_Address (IP_Address): 12 data bytes
    12 bytes from IP_Address: icmp_seq=0 ttl=236 mask=255.255.255.0
    12 bytes from IP_Address: icmp_seq=1 ttl=236 mask=255.255.255.0
    12 bytes from IP_Address: icmp_seq=2 ttl=236 mask=255.255.255.0
    12 bytes from IP_Address: icmp_seq=3 ttl=236 mask=255.255.255.0
    12 bytes from IP_Address: icmp_seq=4 ttl=236 mask=255.255.255.0--- IP_Address sing statistics ---
    5 packets transmitted, 5 packets received, 0% packet loss操作系统会回答一个ICMP的地址掩码请求并带有其响应的网络地址掩码。下面我们来看我们发送一些碎片请求,下面的例子是通过发送8字节的IP数
    据碎片到同样上面操作的SUN SOLARIS2.7机器上,就可以看到我们获得的
    回应和刚才的不一样了(-c 2是允许SING发送两个ICMP地址掩码请求):# ./sing -mask -c 2 -F 8 IP_Address
    SINGing to IP_Address (IP_Address): 12 data bytes
    12 bytes from IP_Address: icmp_seq=0 ttl=241 mask=0.0.0.0
    12 bytes from IP_Address: icmp_seq=1 ttl=241 mask=0.0.0.0--- IP_Address sing statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss如果用tcpdump监听,有如下输出:20:02:48.441174 ppp0 > slip139-92-208-21.tel.il.prserv.net > Host_Address:
    icmp: address mask request (frag 13170:8@0+)
                             4500 001c 3372 2000 ff01 50ab 8b5c d015
                             xxxx xxxx 1100 aee3 401c 0000
    20:02:48.442858 ppp0 > slip139-92-208-21.tel.il.prserv.net > Host_Address:
    (frag 13170:4@8)
                             4500 0018 3372 0001 ff01 70ae 8b5c d015
                             xxxx xxxx 0000 0000
    20:02:49.111427 ppp0 < Host_Address > slip139-92-208-21.tel.il.prserv.net:
    icmp: address mask is 0x00000000 (DF)
                             4500 0020 3618 4000 f101 3c01 xxxx xxxx
                             8b5c d015 1200 ade3 401c 0000 0000 000020:02:49.441492 ppp0 > slip139-92-208-21.tel.il.prserv.net > Host_Address:
    icmp: address mask request (frag 13170:8@0+)
                             4500 001c 3372 2000 ff01 50ab 8b5c d015
                             xxxx xxxx 1100 ade3 401c 0100
    20:02:49.442951 ppp0 > slip139-92-208-21.tel.il.prserv.net > Host_Address:
    (frag 13170:4@8)
                             4500 0018 3372 0001 ff01 70ae 8b5c d015
                             xxxx xxxx 0000 0000
    20:02:50.011433 ppp0 < Host_Address > slip139-92-208-21.tel.il.prserv.net:
    icmp: address mask is 0x00000000 (DF)
                             4500 0020 3619 4000 f101 3c00 xxxx xxxx
                             8b5c d015 1200 ace3 401c 0100 0000 0000这样你就可以看到SUN SOLARIS回应的网络地址掩码是0.0.0.0。我们可以使用下面的方法解决这个问题:ndd -set /dev/ip ip_respond_to_address_mask_broadcast 0
    ndd -set /dev/ip ip_respond_to_echo_broadcast 0
    ndd -set /dev/ip ip_respond_to_timestamp 0
    ndd -set /dev/ip ip_respond_to_timestamp_broadcast 0
    ndd -set /dev/ip ip_forward_directed_broadcasts 0
    2、利用ICMP时间戳请求报文探测Windows 98/98 SE/ME/2000操作系统Microsoft Windows 98/98 SE/ME/2000 Profressional/2000 Server操作
    系统对于将代码(code)段置为0的ICMP时间戳请求报文将不产生任何应
    答报文。根据这个特性,可以通过两种格式的ICMP时间戳请求探测并确定Microsoft
    Windows的操作系统类型。首先是正常的请求报文,不产生应答报文的
    Windows主机的操作系统类型为Microsoft Windows 95、Microsoft Windows
    NT 4.0 Workstation with SP6a(及以下版本)。其它的操作系统(包括
    UNIX系列)则会产生相应的应答报文。接着发送定制格式的时间戳请求ICMP
    报文,其中的代码(code)段置为非零值,Windows98/98 SE/ME/2000 
    Profressional/2000 Server等较新版本的操作系统将不产生应答报文,
    而其它操作系统则根据此请求回复正确的应答报文。涉及(经过测试)的操作系统:
    LINUX Kernel 2.4t2; LINUX Kernel 2.2.14; FreeBSD 4.0, 3.4; 
    OpenBSD 2.7 & 2.6; Solaris 2.5.1, 2.6, 2.7 & 2.8; HP-UX 10.20; 
    AIX 4.1; ULTRIX; Microsoft Windows 95 / 98 / 98SE / ME / NT 4 SP3, 
    SP4, SP6a WRST & SERVER / 2000 Professional & Server.
    参考:1)SING可以到以下网址下载:http://download.sourceforge.net/sing/SING-1.0b7.tgz2)相关链接:http://www.sys-security.com
    http://sourceforge.net/projects/sing
      

  9.   

    发某些错误的IP包可以知道远程机器的操作系统,因为TCPIP至规定了正确应该怎么样做,错误的美中操作系统的处理不同,往上有类似的文章
      

  10.   

    如果远程机器有WWW服务,一般的WEB服务都会准确的告诉你操作系统及版本号。
    如连接到www。remote.org的80端口,然后GET / HTTP/1.0,得到的前几行就告诉你
    “我的操作系统及版本号,我的WEB服务器名称和版本号”。。,如果不想写程序,可用Telnet。/*[email protected]*/
      

  11.   

    to usage:
    "GET / HTTP/1.0 \r\n"返回都都是WEB SERVER的类型/版本,如下面:HTTP/1.1 200 OK
    Server: Microsoft-IIS/5.0
      

  12.   

    vcbear的这个sing真是太正点了!
    可是,unix的,本来我就不大懂,还不是windows的,真是雪上加霜啊
    哪位大峡有过移植程序的经验?哪位大峡愿意帮忙?
    unix的那些头文件对应在windows下vc中用的的头文件是什么?
    函数做的改动大不大?要注意些什么?我先给您鞠个躬了!!!!源代码在:
    http://prdownloads.sourceforge.net/sing/SING-1.1.tgz
      

  13.   

    主题: 利用TTL值来鉴别操作系统 一、关于PING的介绍 PING命令来检查要到达的目标IP地址并记录结果。 ping 命令显示目标是否响应以及接收答复所需的时间。   如果在传递到目标过程中有错误,ping 命令将显示错误消息。 ICMP ECHO(Type 8) 和ECHO Reply (Type 0)   我们使用一个ICMP ECHO数据包来探测主机地址 HOST B 是否存活(当然在主机没有被配置为过滤ICMP形式)   通过简单的发送一个ICMP ECHO(Type 8)数据包到目标主机   如果ICMP ECHO Reply(ICMP type 0)数据包 HOST A 可以接受到,说明主机是存活状态。   如果没有就可以初步判断主机没有在线或者使用了某些过滤设备过滤了ICMP的REPLY。 +---------------------------------------------------------------+ 
    | | 
    | +-------+ +-------+ | 
    | | | ICMP Echo Request | | | 
    | | HOST | --------------------------> | HOST | | 
    | | | | | | 
    | | A | | B | | 
    | | | <-------------------------- | | | 
    | | | ICMP Echo Reply | | | 
    | +-------+ +-------+ | 
    | | 
    +---------------------------------------------------------------+   这种机制就是我们通常所用的ping命令来检测目标主机是否可以ping到。   典型的例子 C:\>ping 192.168.0.1 Pinging 192.168.0.1 with 32 bytes of data: Reply from 192.168.0.1: bytes=32 time<10ms TTL=128 
    Reply from 192.168.0.1: bytes=32 time<10ms TTL=128 
    Reply from 192.168.0.1: bytes=32 time<10ms TTL=128 
    Reply from 192.168.0.1: bytes=32 time<10ms TTL=128 Ping statistics for 192.168.0.1: 
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), 
    Approximate round trip times in milli-seconds: 
    Minimum = 0ms, Maximum = 0ms, Average = 0ms 二、注意TTL TTL:生存时间   指定数据报被路由器丢弃之前允许通过的网段数量。   TTL 是由发送主机设置的,以防止数据包不断在 IP 互联网络上永不终止地循环。转发 IP 数据包时,要求路由器至少将 TTL 减小 1。   使用PING时涉及到的 ICMP 报文类型 一个为ICMP请求回显(ICMP Echo Request) 一个为ICMP回显应答(ICMP Echo Reply)   三、TTL 字段值可以帮助我们识别操作系统类型。 UNIX 及类 UNIX 操作系统 ICMP 回显应答的 TTL 字段值为 255 Compaq Tru64 5.0 ICMP 回显应答的 TTL 字段值为 64 微软 Windows NT/2K操作系统 ICMP 回显应答的 TTL 字段值为 128 微软 Windows 95 操作系统 ICMP 回显应答的 TTL 字段值为 32 当然,返回的TTL值是相同的   但有些情况下有所特殊 LINUX Kernel 2.2.x & 2.4.x ICMP 回显应答的 TTL 字段值为 64 FreeBSD 4.1, 4.0, 3.4; 
    Sun Solaris 2.5.1, 2.6, 2.7, 2.8; 
    OpenBSD 2.6, 2.7, 
    NetBSD 
    HP UX 10.20 
    ICMP 回显应答的 TTL 字段值为 255 Windows 95/98/98SE 
    Windows ME 
    ICMP 回显应答的 TTL 字段值为 32 Windows NT4 WRKS 
    Windows NT4 Server 
    Windows 2000 
    ICMP 回显应答的 TTL 字段值为 128   这样,我们就可以通过这种方法来辨别 操作系统 TTL LINUX 64 
    WIN2K/NT 128 
    WINDOWS 系列 32 
    UNIX 系列 255   经过测试的操作系统如下: LINUX Kernel 2.2.x, Kernel 2.4t1-6; FreeBSD 4.1,4.0,3.4; OpenBSD 2.7,2.6; NetBSD 
    1.4.2; Sun Solaris 2.5.1,2.6,2.7,2.8; HP-UX 10.20, 11.0; AIX 4.1, 3.2; Compaq 
    Tru64 5.0; Irix 6.5.3,6.5.8; BSDI BSD/OS 4.0,3.1; Ultrix 4.2-4.5; OpenVMS 7.1-2; 
    Windows 95/98/98SE/ME; Windows NT 4 Workstation SP3, SP4, SP6a; Windows NT 4 
    Server SP4; Windows 2000 Professional, Server, Advanced Server.   附:   ICMP报文的类型包括如下: ECHO (Request (Type 8), Reply (Type 0))--回显应答, Time Stamp (Request (Type 13), Reply (Type 14))--时间戳请求和应答, Information (Request (Type 15), Reply (Type16))--信息请求和应答, Address Mask (Request (Type 17), Reply (Type 18))--地址掩码请求和应答等   参考资料来源: WINDOWS 2K 系统帮助文件 
    http://www.sys-security.com http://www.patching.net 
    中华补天网 
    [email protected] -----BEGIN PGP SIGNATURE----- 
    Version: PGP 7.0 iQA/AwUBOmGYKPsP3TpG7iPFEQIOsQCfar2y+FYhUePy6HjJJ3J/7d8+JO4AniCj 
    b9/eLXXx18XFtt0YDldeYrAE 
    =b5RY 
    -----END PGP SIGNATURE-----
      

  14.   

    了解原理之后,用RAW_SOCKET发送ICMP报文就行了
      

  15.   

    阿丰的这个容易点,ping接触的多有一点
    拘我所知csdn.net是win2k,拘阿丰所说ttl应该是128
    可我ping出来的是118?
    阿丰贴文中说的192.168.0.1显示ttl为128
    我刚才ping出来的是246246和118是什么系统呢?
      

  16.   

    ahphone(阿丰) 的做法应该可以的