Olá Pessoal!
Um aluno me perguntou se tinha como fazer um portscan em Java. Então resolvi
fazer um protótipo.
Pra quem tiver curiosidade o link do protótipo é:
http://gvlabs.org/apps/portscan.jnlp
Pra quem quiser saber como é a implementação, o código consiste no seguinte:
SocketAddress sockaddr = new
InetSocketAddress(hostname, port);
Socket s = new Socket();
s.connect(sockaddr, timeout);
s.close();
Se conectar e não der erro a porta está aberta, senão a porta está fechada.
O resto é tudo firula de aparência.
Você pode colocar vários hosts separados por virgula e ele vai realizar o
port scan de maneira síncrona, ou seja um host após o outro. Ou você pode
colocar um host e pedir pra realizar o port scan, outro host e pedir
novamente e assim por diante e ele realizará de maneira assíncrona (busca de
todos os hosts ao mesmo tempo sem aguardar o outro terminar).
Sugetões são bem vindas!!!
Abraços
Thiago G. Vespa