Java IP Scanner and Port Scanner Source Code

import java.net.InetAddress;
import java.net.Socket;

import java.net.UnknownHostException;

 

/**

*

* @author x86

*/

public class scan {

    public static void main(String[] hx) throws UnknownHostException{

        String[][] port = new String[][] {

            {"21","FTP Server"},

            {"22","SSH Secure Shell"},

            {"23","Telnet"},

            {"25","SMTP(Simple Mail Transport Protokol)"},

            {"80","Web Server"},

            {"81","Web Server Alternatif"},

            {"110","POP Server"},

            {"111","Portmap"},

            {"119","News (NNTP) Server"},

            {"143","IMAP4 Server"},

            {"389","LDAP Server"},

            {"443","HTTP Secure Sockets Layer (SSL) Server"},

            {"445","SMB over IP, File Sharing"},

            {"1503","Microsoft NetMeeting and VOIP"},

            {"1720","Microsoft NetMeeting and VOIP"},

            {"2525","SMTP (Alternate Server)"},

            {"3306","Mysql Database"},

            {"3389","Remote Desktop"},

            {"5631","PCAnywhere"},

            {"5432","Postgre Database"},

            {"5900","Virtual Network Computing (VNC)"}

        };

 

        if(hx.length>0){

            ipcheck(hx,port);

        }

 

        //atau dengan inisialisasi sendiri

        //String ip[] = {"173.194.38.165","google.com","192.168.44.3","192.168.44.4"};

        //ipcheck(ip,port);

    }

 

    // IP Scan

    static void ipcheck(String[] ip,String[][] port) throws UnknownHostException{

        for(int a=0; a<ip.length; a++){

            if(!isIPv4(ip[a]).equals("nop")){

                System.out.print("IP "+ip[a]);

                InetAddress tar = InetAddress.getByName(ip[a]);

                try{

                    if(tar.isReachable(3000)){

                        System.out.println(" [Active].");

                        System.out.println("==================");

                        portcheck(tar,port);

                    }else{

                        System.out.println(" -down-.");

                        System.out.println("==================");

                    }

                }catch(Exception e){}

            }else{

                System.out.println(ip[a]+" <== Invalid IP Address.");

            }

            System.out.println();

        }

    }

 

    // Port Scan

    static void portcheck(InetAddress ip,String[][] port){

        for(int a=0; a<port.length; a++){

            try{

                Socket sock = new Socket(ip,Integer.valueOf(port[a][0]));

                if(sock.isConnected()){

                    System.out.println("Port "+port[a][0]+" [OPEN]"+" ("+port[a][1]+")");

                }

            }catch(Exception sd){

                System.out.println("Port "+port[a][0]+" -closed-");

            }

        }

    }

 

    // untuk validasi IP Address versi 4

    static String isIPv4(String ip) throws UnknownHostException{

        String[] place = ip.split("\\.");

        if(place.length != 4){

            try{

                ip = String.valueOf(InetAddress.getByName(ip));

                place = ip.split("/");

                ip = place[1];

                place = place[1].split("\\.");

                if(place.length != 4) return "nop";

            }catch(Exception asd){

                return "nop";

            }

        }

 

        for (int d=0; d<place.length; d++) {

            int i;

            try{

                i = Integer.parseInt(place[d]);

            }catch(Exception s){

                return "nop";

            }

            if ((i < 0) || (i > 255)) return "nop";

        }

        return ip;

    }

}

Post a Comment

Mới hơn Cũ hơn