PDA

View Full Version : [Java] Lan...


ally
02-10-2007, 17:08
...ciao...

...come poteri analizzare la rete locale in cerca di computer online?...esiste qualche classe specifica?...

...ciao...

andbin
02-10-2007, 17:29
...come poteri analizzare la rete locale in cerca di computer online?...esiste qualche classe specifica?...Le principali classi "di base" per il networking sono nel package java.net (c'è anche qualcos'altro in altri package ma per cose più specifiche).

Poi dovresti anche specificare meglio cosa vuoi fare ... una cosa è voler fare ad esempio un "port scanner" e un'altra cosa è voler fare ad esempio uno "sniffer" (che in Java puro non è fattibile perché non gestisce i raw socket).

Il networking principalmente è "fatto" di indirizzi IP, porte e protocolli. Stabilisci tu cosa e come fare.

ally
02-10-2007, 19:14
...molto banalmente ho partorito questo...


for(int i=1;i<255;i++)
try {
InetAddress addr = InetAddress.getByName("192.168.0."+i);

if(addr.isReachable(5000))
{
System.out.println("host 192.168.0."+i+" is up");
try {
Socket s = new Socket("192.168.0."+i, 3306);
System.out.println("host 192.168.0."+i+" database found");
}
catch(SocketException se)
{
System.out.println("host 192.168.0."+i+" database not found");
}
}
else
System.out.println("host 192.168.0."+i+" is down");

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


...controlla per il range di ip disponibili quanti sono up e quanti espongono un db...il controllo risulta pero' piuttosto lento e abbassando il timeout si rischia di segnare down macchine semplicemente lente a rispondere...

...penso sia necessario rendere il tutto multithread ma non sono certo un esperto in questo campo...qualche idea?...

...ciao...

pisto
03-10-2007, 14:12
per i rawsocket se ti interessa ti consiglio jpcap (attenzione, ci sono due progetti omonimi, intendo questo (http://netresearch.ics.uci.edu/kfujii/jpcap/doc/)), che ti permette anche di craere un raw socket per il protocollo tcp (cosa impossibile secondo le api normali di windows, a partire dal sp2)

ally
22-12-2007, 18:20
...sono arrivato alla conclusione che delegare il so sia la scelta migliore...

...tramite Jsch prendo controllo della console e poi lancio un nmap e lato java ne analizzo l'output...la scansione del range di 256 ip avviene in un tempo inferiore ai 5 secondi...dipende poi dal numero di macchine presenti...

...grazie ciao...