import java.io.* ;
import java.net.* ;

public class SkanerTCP
{
    public static void main (String[] arg)
    {
        String host = "localhost" ;
        if (arg.length==1) host = arg[0] ;
        else if (arg.length>1)
        {
            System.err.println("Program mozna wywolac z co najwyzej jednym parametrem (nazwa hosta).") ;
            return ;
        }
        try
        {
            InetAddress adres = InetAddress.getByName(host) ;
            System.out.println("Analiza portow systemowych TCP hosta "+host+":") ;
            for (int p=1 ; p<1024 ; p++)
                try
                {
                    Socket gniazdo = new Socket(host,p) ;
                    System.out.println("- usluga na porcie tcp"+p+" - ") ;
                    gniazdo.close() ;
                }
                catch (IOException ex) { System.err.print(p+" ") ; }
			System.err.println() ;
        }
        catch (UnknownHostException ex) { System.err.println("Nieznany host ("+host+").") ; }
    }
}
