首页 > 编程语言 > 详细

线程分段扫描端口

时间:2014-11-21 14:20:07      阅读:318      评论:0      收藏:0      [点我收藏+]
import java.net.Socket;

public class portScan extends Thread {

    private int minPort; 
    private int maxPort;
    
    public portScan(int minPort, int maxPort) {
        
        this.minPort = minPort;
        this.maxPort = maxPort;
    }
    
    public void run() {
        
        for(int i=minPort; i<=maxPort; i++) {
            try {
                Socket socket = new Socket("127.0.0.1", i);
                System.out.println(String.valueOf(i) + ":ok");
                socket.close();
            }
            catch (Exception e) {
                
            }
        }
    }
    
    
    public static void main(String[] args) {
        
        int minPort = Integer.parseInt(args[0]);
        int maxPort = Integer.parseInt(args[1]);
        int threadCount = Integer.parseInt(args[2]);
        
        int portIncrement = ((maxPort - minPort + 1) / threadCount) + (((maxPort - minPort + 1) % threadCount) == 0 ? 0 : 1);
        portScan[] portscan = new portScan[threadCount];
        
        for(int i=0; i<threadCount; i++) {
            portscan[i] = new portScan(minPort + portIncrement * i, minPort + portIncrement + portIncrement * i -1);
            portscan[i].start();
        }
    }
}

 

线程分段扫描端口

原文:http://www.cnblogs.com/starzou/p/4112701.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!