ciao!
ho questo pezzo di codice con il quale vorrei identificare gli IP raggiungibili nella LAN, e in caso trovare il nome della macchina:
codice:
public class Main {
public static void main(String[] args) {
String baseNetwork = "192.168.1.";
for (int i = 0; i < 256; i++) {
String currIp = baseNetwork + String.valueOf(i);
try {
InetAddress addr = InetAddress.getByName(currIp);
if (addr.isReachable(50)) {
String host = addr.getHostName();
System.out.println("OK: " + currIp + " - " + host);
}
} catch (UnknownHostException ex) {
System.out.println(ex.getMessage());
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
}
}
}
però ho notato che per molti IP non mi stampa il nome della macchina:
codice:
OK: 192.168.1.93 - 192.168.1.93
OK: 192.168.1.94 - 192.168.1.94
OK: 192.168.1.96 - COMMERCIALE.laltramoda.local
OK: 192.168.1.97 - 192.168.1.97
OK: 192.168.1.98 - LOGISTICA3.laltramoda.local
quelli che hanno il nome sono tutte stampanti di rete.
avete qualche idea del perchè?
i pc non sono a dominio, ma hanno tutti lo stesso WORKGROUP (non so se può essere una info utile).