• 的神话少了没人相信我,继续,希望你造出更多的神话来 2019-03-16
  • 江西人存款1.66万亿元 2019-03-16
  • 25yicms利用ASP.NET(C#)+MSSQL技术全力打造功能最强大的营销型企业网站管理系统,企业做网站系统,做网站软件,提供div+css企业网站模板。
    阅读内容

    用Java写的一个C段查询的工具


    时间:2015/12/02   来源:黑龙江福彩22选5开奖
     一 介绍
     
    这是我用Java写的一个C段查询的工具,目前还在完善中,现在只有一个命令行版的,GUI界面还没有写。由于用的是免费的接口,因此请求过快会出现各种异常,所以当每个IP查询后我都让线程休眠了2秒钟。总体算下来,扫描一个C段大概需要花11-15分钟左右。
     
    二 这篇文章中用到的前置内容
     
    这里需要用到的是:(1)单个IP反查域名;(2)查域名IP
    C段查询雏形之在Java中反查一个IP上的所有域名(旁站查询)
    在Java中调用CMD的ping命令查询域名IP
     
    三 函数核心:
    /**
    * 针对一个域名或者IP,进行查询它C段上的域名
    * @param domainOrIP 域名或者IP的字符串
    * @return 暂时只是终端输出,无返回值
    * */
    public void CQuery(String domainOrIP){
    // StringBuffer stringBuffer = new StringBuffer();
    FindIP myIp = new FindIP();
    String ip = myIp.getDomainIP("/c ping " + domainOrIP);  //IP地址
    String ip_head = "";  //IP地址的前3段
    String ip_temp = "";  //C段中的临时IP
     
    String reg_ip = "(([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5]))?";  //取出IP的前3段
    Pattern pattern = Pattern.compile(reg_ip);
    Matcher matcher = pattern.matcher(ip);
    if(matcher.find()){
    ip_head = matcher.group();
    ip_temp = ip_head + "." + String.valueOf(1);
    //正式开始C段查询,前面3处相同,只有最后一处是从 1-->254
    SearchDomainByIP searchDomain = new SearchDomainByIP();
    Set<String> set = new HashSet<String>();
    for(int i = 1;i < 255;i++){
    ip_temp = ip_head + "." + String.valueOf(i);
    set = searchDomain.getDomains(ip_temp);
     
    Iterator<String> iterator = set.iterator();
    System.out.println("针对IP:" + ip_temp + ",一共查到 " + set.size() + "个旁站");
    while(iterator.hasNext()){
    // stringBuffer.append(iterator.next());
    System.out.println(iterator.next());
    }
    try {
    Thread.sleep(2000);  //每个IP查询结束休眠时间,单位是毫秒
    } catch (InterruptedException e) {
    e.printStackTrace();
    }
    }
    }else{
    System.out.println(ip);
    }
    // return stringBuffer.toString();
    }
     
    四 测试:
     
    测试用例:
    public static void main(String[] args) {
    CQueryDemo queryDemo = new CQueryDemo();
    queryDemo.CQuery("www.360360.pw");
     
    }
     
    输出:
     
    针对IP:162.211.183.1,一共查到 0个旁站
    针对IP:162.211.183.2,一共查到 3个旁站
    点击次数:       打印此页  关闭
  • 的神话少了没人相信我,继续,希望你造出更多的神话来 2019-03-16
  • 江西人存款1.66万亿元 2019-03-16