大家好~我的意思是别的机器ping我的IP,在自己开发的应用程序中能不能将其反映出来呢?我这个应用程序就是想实现:如果别人ping我的话,我就ping别人,呵呵可是如何得知别人ping我呢?

解决方案 »

  1.   

    要检测啊我也不知道,但是我知道利用TTL(Time-To-Live,活动时间)值可以鉴别操作系统的类型,通过Ping指令能判断目标主机类型。Ping的用处是检测目标主机是否连通。因为攻击某一台计算机需要根据对方的操作系统,是Windows还是Unix。如过TTL值为128就可以认为你的系统为Windows 2000,如下表:
    操作系统类型 TTL返回值
    Windows 2000 128
    Windows NT 107
    win9x         128 or 127
    solaris         252
    IRIX         240
    AIX         247
    Linux         241 or 240
    就会用到HKEY_LOCAL_MACHINE的子键:
    SYSTEM\CURRENT_CONTROLSET\SERVICES\TCPIP\PARAMETERS,所以我觉得可以检测下注册表的情况是不是可以看到是否别人在ping你,但是我也不知道那样是不是有点复杂了。对了,在这里我们可以修改TTL的值,入侵者就无法入侵电脑了。比如将操作系统的TTL值改为111,就在一定程度上可以保护你的电脑了……
      

  2.   

    通常防火墙都能拦截Ping。
    你要得到ping的通知,要写NDIS驱动拦截ICMP协议才行。
      

  3.   

    不知道 winpcap行不行  好像是这么写的吧?