Obtenir de la passerelle par défaut en java
Je veux extraire de la passerelle par défaut pour l'ordinateur local à l'aide de java. Je sais comment l'obtenir par l'exécution de dos ou des commandes du shell, mais est-il un autre moyen de récupérer?
Aussi besoin de récupérer dns primaire et secondaire de la propriété intellectuelle.
Vous devez vous connecter pour publier un commentaire.
Il n'y a pas un moyen facile de le faire. Vous aurez à appeler système local de commandes et d'analyser les données en sortie, ou de lire des fichiers de configuration ou le registre. Il n'existe pas de plate-forme indépendante de sorte que je suis conscient de faire ce travail, vous aurez à code pour linux, mac et windows, si vous voulez exécuter sur chacun d'eux.
Voir Comment puis-je déterminer l'adresse IP de mon routeur/passerelle en Java?
Qui couvre la passerelle, et vous pouvez utiliser la commande ifconfig ou ipconfig ainsi d'obtenir cette. Pour les DNS info, vous aurez pour appeler un autre système de commande tels que ipconfig sous Windows ou analyser /etc/resolv.conf sur Linux ou mac.
Ma façon est:
Raison de l'utilisation de datagramme (UDP), il n'est pas connecté n'importe où, donc numéro de port peut être vide de sens et d'adresse à distance (1.1.1.1) n'a pas besoin d'être accessible, juste routable.
a.root-servers.net
est garanti pour toujours exister, et il est peu probable d'être dans votre réseau local.Dans Windows à l'aide de
ipconfig
:Ici, je suis de la passerelle par défaut adresse IP de mon routeur, et de l'ouvrir dans un navigateur pour voir mon routeur à la page de configuration.
Il n'existe actuellement aucune norme d'interface en Java pour obtenir la passerelle par défaut ou les adresses de serveur DNS. Vous aurez besoin d'une commande shell.
Je ne suis pas sûr si cela fonctionne sur tous les systèmes, mais au moins ici, j'ai trouvé ceci:
Pour moi ce produit: