如题,我想通过一个IP地址已经子网掩码,获得网络号,并计算出该网络内所有的主机号,然后通过得到的所有的主机的IP地址,判断有哪些主机是活动的?

解决方案 »

  1.   

    前后没关系吧。前面网络号通过最大匹配,主机号通过异或。这根后面什么关系?然后你怎么得到所有主机的IP地址?你不会把所有的可能IP遍历吧?不过话说回来,其实这样也能找到活动主机。
      

  2.   

    呵呵,加入IP和子网掩码都是字符串类型的“xxx.xxx.xxx.xxx”,怎么运算得到网络号和所有的主机号呢?我就是想所有的都遍历一遍,判断活动的主机因为我想不到其他更好的办法了
      

  3.   

    建议可以用snmp来试试 查查mib库 感觉应该可行
      

  4.   


    哈哈,是你啊~~这次还是snmp啊?我觉得似乎不可行~~~
      

  5.   


    String ipstr="123.234.10.22";
    int []ip=new int[4];
    String[] ip_split=ipstr.split("\\.");
    if(ip_split.length==4){
    for(int i=0;i<ip.length;i++){
    ip[i]=Integer.parseInt(ip_split[i]);
    }
    }
    for(int i:ip)
    System.out.println(i);
      

  6.   

    o 我咋说这帖有点熟呢 呵呵
    感觉可以啊 通过一个IP地址已经子网掩码,获得网络号,并计算出该网络内所有的主机号 这个你会吧然后对你获得的主机号 分别做一个 snmp的get操作 比如说获得对应ip主机的主机名称 有返回值的就是在线的 无返回的就不在线
      

  7.   

    呵呵,不瞒你说,这个我不大会。对于你说的通过get来判定是否在线,这个确实是可行的,但是我觉得那样是不是耗时间?
      

  8.   

    要不 你直接ping ip吧 呵呵
      

  9.   

    还可以用arp -a 这个命令查看 这个指令查看的是动态的arp表 即与你有过连接的主机ip 和 mac地址信息 详细的你可以再查查资料