Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29336605
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: Java

2010-03-26 20:40:28

共三个文件分别贴代码:
第一个:写文件Log.java
package cn.ty.iputils;
import java.io.*;
import java.util.*;
public class Log {
    /**
     * 记录日志内容
     * */
    public static void writeComLog(String str) {
        String filename = "results.log";
        try {
            BufferedWriter bufOut;
            File f = new File(filename);
            if(f.exists()==true){
                bufOut = new BufferedWriter(new FileWriter(f,true));
            }else {
                bufOut = new BufferedWriter(new FileWriter(f));
            }
            bufOut.write(str + "\n");
            bufOut.close();
        
        } catch(Exception e) {
            System.out.println("Error");
        }
    }
}

第二个:NetUtils.java
package cn.ty.iputils;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.net.URLConnection;
public class NetUtils {   
    /**
     * @param URL
     * @return String
     * @throws IOException
     * @ses  抓取指定URL地址的网页内容值并返回内容
     * @exception IOException
     * */
    public String  parseContent(String urls) throws IOException {
        URL url = new URL(urls);
        BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
        String s = "";
        StringBuffer sb = new StringBuffer("");
        while ((s = br.readLine())!=null) {
            if (!s.startsWith("#")) {
                String[] resultStrings = s.split(" ");
                if(resultStrings[6].equalsIgnoreCase("cn")) {
                    sb.append(s+"\r\n");
                }
            }
        }
        br.close();
        return sb.toString();
    }
}

第三个:主程序IPExplain.java
/**
*文件名:        IPExplain.java
*创建人:       遥方
*日  期:       2010-03-25
*描  述:       分析中国IP段范围
*版本号:       V1.0
*/
package cn.ty.iputils;
import java.io.IOException;
import cn.ty.iputils.NetUtils;
import cn.ty.iputils.Log;
public class IPExplain {
    public static void main(String[] args) throws IOException {
        String outputs = new NetUtils().parseContent("");
        Log.writeComLog(outputs);
    }
    /**
    * FunName:           listIP
    * Description :      JAVA遍历IP地址段中的所有IP
    * @Create Date:      2010-03-25
    */
    private static void listIP() {
        int ipBegin[]=new int[4];
        ipBegin[0]=124;
        ipBegin[1]=66;
        ipBegin[2]=0;
        ipBegin[3]=0;
        int ipEnd[]=new int[4];
        ipEnd[0]=124;
        ipEnd[1]=66;
        ipEnd[2]=89;
        ipEnd[3]=255;
        long count=0;
        while(true) {
            count++;
            if(ipBegin[3]!=ipEnd[3]){
               ipBegin[3]+=1;
            } else if(ipBegin[2]!=ipEnd[2]){
               ipBegin[3]=0;
               ipBegin[2]+=1;
            } else if(ipBegin[1]!=ipEnd[1]){
                ipBegin[3]=0;
                ipBegin[2]=0;
                ipBegin[1]+=1;
            } else if(ipBegin[0]!=ipEnd[0]){
                ipBegin[3]=0;
                ipBegin[2]=0;
                ipBegin[1]=0;
                ipBegin[0]+=1;
            } else {
                System.out.println("end"); 
                break;
            }
            System.out.println(ipBegin[0]+"."+ipBegin[1]+"."+ipBegin[2]+"."+ipBegin[3]);
        }
        System.out.println(String.valueOf(count));
    }
}

运行即可!可以快速查找属于中国的IP段!

阅读(1401) | 评论(0) | 转发(0) |
0

上一篇:linux iptables 如何封IP段

下一篇:肉鸡IP段

给主人留下些什么吧!~~