你去网上找一个ping的源码就可以了
你想想,现实中,你刚装一台机器,然后你想给它安个ip,不是先到另外一台机器,ping出一个没有反应的地址来嘛反正我经常这么干

解决方案 »

  1.   

    http://www.codeguru.com/internet/cping.shtml
      

  2.   

    比较快速稳妥的办法是使用win2000sdk的sendarp函数(IP帮助函数),该函数通过IP地址获得对应的MAC地址,不受单机防火墙限制。
      

  3.   

    #include "iphlpapi.h"//IPHLP支持,需要链接iphlpapi.lib
    int getmac(char * ip,UCHAR * mac,int maclen)
    {
    if(maclen<6)
    {
    return -1;
    }

    IPAddr destIP;
    DWORD dret;
    ULONG ulen; destIP=inet_addr(ip);
    ulen=maclen;
    if(NO_ERROR==(dret=SendARP(destIP,NULL,(PULONG)mac,&ulen)))
    {
    return 1;//成功则返回
    }
    }
      

  4.   

    我想要得是将所有局域网中已经分配ip的机子列出来
    to:zb_china(小张同志zb_china@sina)
    可以举一下例子吗
      

  5.   

    对本子网所有的IP进行PING类似的操作。
    比如掩码255.255.255.0,从10.2.3.1 --- 10.2.3.255就可以了。
      

  6.   

    具体方法我不知道,不过从协议角度看,ping的方法不太好,有些防火墙可以使主机不对你的ping有反应。还是用arp/rarp利用这个协议,ping属于icmp协议,就是基于arp/rarp的。
    小张同志的方法也许可以。
      

  7.   

    我的方法没问题
    取得主机名可以用gethostbyaddr但是比较慢而且受单机防火墙影响。
    NETBIOS也可以取得MAC地址和机器名,但是处理多IP主机有问题。另外2000不再默认支持这个协议。
    ping 受单机防火墙影响。
      

  8.   

    iphlpapi.h和iphlpapi.lib
    在哪里啊
    我机子上面没有啊
      

  9.   

    看看 http://www.csdn.net/cnshare/soft/11/11418.shtm 。
    这是不是你要的效果?
      

  10.   

    请问用JAVA怎么样实现跨平台的list ip功能呢?
    谢谢!