Si je vérifie avec google Je peux voir mon IP publique. Y a-t-il quelque chose sur la ligne de commande d'Ubuntu qui me donne la même réponse ?
Réponses
Trop de publicités?
woahguy
Points
572
Il suffit de lancer un traceroute pour n'importe quel site web ou service
sudo traceroute -I google.com
La ligne 2 semble toujours être mon adresse IP publique après avoir passé la passerelle de mon routeur.
user@user-PC ~ $ sudo traceroute -I google.com
traceroute to google.com (173.194.46.104), 30 hops max, 60 byte packets
1 25.0.8.1 (25.0.8.1) 230.739 ms 231.416 ms 237.819 ms
2 199.21.149.1 (199.21.149.1) 249.136 ms 250.754 ms 253.994 ms**
Donc, faites une commande bash.
sudo traceroute -I google.com | awk -F '[ ]' '{ if ( $2 ="2" ) { print $5 } }'
Et la sortie...
(199.21.149.1)
Je ne pense pas que s'appuyer sur des scripts PHP et autres soit une bonne pratique.
Rolf
Points
605
- Réponses précédentes
- Plus de réponses
2 votes
"avoir une IP dynamique", "SSH utilisant un autre système à travers l'internet", "la commande qui affichera l'IP publique actuelle". Vous voyez le problème de la poule et de l'oeuf ici ? Comment seriez-vous en mesure d'exécuter des commandes sur un serveur distant sans connaître son adresse ? Vous pourriez être plus intéressé par des services comme no-ip.com / DynDNS.org.
0 votes
On ne peut pas SSH sans connaître l'IP publique mon ami... dynDNS coûte cher et le no-ip fonctionne mais la situation ne le permet pas... de toute façon la question a déjà été répondue... merci pour votre suggestion
1 votes
PS duckduckgo.com/?q=ip (pas de ligne de commande, mais pas de grand frère G non plus)
1 votes
Peut-être que cela devrait être une question distincte, mais j'aimerais voir une alerte lorsque mon adresse IP publique change. Pour l'instant, j'utilise simplement les réponses suivantes dans une crontab avec
notify-send
.0 votes
De bonnes solutions ci-dessous. Pour Centos, utilisez :
ifconfig eth1 | sed -nre '/^[^ ]+/{N;s/^([^ ]+).*inet *([^ ]+).*/\2/p}'
où eth1 est le périphérique réseau concerné, vous pouvez omettre la chaîne 'et1' pour afficher les adresses IP de tous les adaptateurs. Au lieu de\2
vous pouvez écrire\1 \2
pour afficher les noms de chaque adaptateur également.0 votes
Aucune des réponses ne montre l'approche correcte. Comme je n'ai pas assez de réputation pour poster une réponse, je vais poster un commentaire sur la façon de l'obtenir sans dépendre de services externes. Il suffit d'exécuter sur le terminal
$ hostname --ip-address