Ho bisogno di informazioni di configurazione di rete nella mia applicazione che è più di quanto forniscono java.net.NetworkInterface
e java.net.InetAddress
. Vorrei includere informazioni come Subnet, Gateway e server DNS, ma il codice deve essere trasferibile su piattaforme Windows e Linux.Ottenere informazioni di rete su Java su piattaforme Windows e Linux
Ho cercato di farlo eseguendo Runtime.getRuntime().exec("ipconfig")
per Windows e Runtime.getRuntime().exec("ifconfig")
per Linux e analizzando i risultati. Forse c'è un modo migliore per farlo o un progetto open source che potrei usare.
Grazie in anticipo per tutte le idee che mi può orientare nella giusta direzione
invocando ifconfig e ipconfig interrompe l'utilizzo della portabilità. Potresti postare il codice che hai attualmente? – Woot4Moo
Ho creato un metodo factory per chiamare le implementazioni separate per ciascun sistema operativo. Per Windows, sto chiamando 'ipconfig/all' e analizzando i risultati. Per Linux, chiamo 'ifconfig', 'route -n' e 'cat /etc/resolv.conf'. –
Inoltre, le installazioni predefinite di alcune distribuzioni Linux non includono/sbin nel percorso, quindi la chiamata potrebbe non riuscire a seconda dell'utente –