Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
récupérer son IP publique
Envoyé par: YuGiOhJCJ

Bonjour,
je souhaite développer un script bash qui irait récupérer mon adresse IP publique.

Pour cela, il devra se connecter à un site web (en PHP?) qui donnera l'IP.
Ensuite je retorunerai le contenu de la page web.

N'y a t'il pas une solution plus simple? Un utilitaire par exemple, qui parvient à récupérer mon IP publique.

Merci.

---

[yugiohjcj.cf]

Poste le Monday 10 March 2008 10:01:41
Répondre     Citer    
Re: récupérer son IP publique
Envoyé par: nicola

Tu peux le faire soit en utilisant ifconfig, soit en utilisant whatsmyip.net.

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Monday 10 March 2008 14:56:24
Répondre     Citer    
Re: récupérer son IP publique
Envoyé par: lapipao

Tiens ça marche ça :
wget [checkip.dyndns.org] -O - -o /dev/null | cut -d: -f 2 | cut -d\< -f 1

Poste le Monday 10 March 2008 22:43:45
Répondre     Citer    
Re: récupérer son IP publique
Envoyé par: lapipao

wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d\< -f 1

Poste le Monday 10 March 2008 22:46:05
Répondre     Citer    
Re: récupérer son IP publique
Envoyé par: YuGiOhJCJ

nicola> Non ifconfig ne m'affiche que l'adresse IP privée.
Pourwhatsmyip.net, je cherche justement une autre solution que d'alle récupérer l'adresse à l'aide d'un serveur web distant.

lapipao>Oui moi aussi j'ai finalement développé mon petit script qui va chercher l'adresse sur le web mais je cherche justement une autre alternative.

ippub="$(elinks -dump www.monip.org)"
ippub=`echo ${ippub} | cut -d " " -f 3`
echo ${ippub}
Ce script utilise elinks, le navigateur WWW en console. On peut utiliser lynx aussi.

Est-ce le seul moyen d'intérroger un serveur web distant?

---

[yugiohjcj.cf]

Poste le Tuesday 11 March 2008 09:22:26
Répondre     Citer    
Re: récupérer son IP publique
Envoyé par: |/|BaH

ippub=$(ping www.monip.org -c 1 -n | grep icmp | awk -F " " ' { print $4 }' | sed s/:/" "/)
ce qui te donne l'adresse ip du site monip.org

ping : affiche plein de renseignement (dont l'IP)
grep : repère la ligne où se trouve l'IP
awk : découpe la ligne en champs, prenant pour séparateur l'espace
sed : remplace le : par un espace

"GNU/Linux est libre, et est distribué gratuitement.
Ce n'est pas pour autant qu'il ne vaut, ni ne coûte rien :
il vaut incommensurablement plus que les quelques Witre$ qui nous privent d'ouverture,
et sa maîtrise se paye en opiniâtreté.

Poste le Friday 21 March 2008 04:56:18
Répondre     Citer    
Re: récupérer son IP publique
Envoyé par: |/|BaH

ping www.monip.org -c 1 -n | grep icmp | awk -F " " ' { print $4 }' | sed s/://
Ici, sed ne remplace pas le ':', il l'enlève (en fait, si. Il le remplace, mais par rien => il l'enlève!).


"GNU/Linux est libre, et est distribué gratuitement.
Ce n'est pas pour autant qu'il ne vaut, ni ne coûte rien :
il vaut incommensurablement plus que les quelques Witre$ qui nous privent d'ouverture,
et sa maîtrise se paye en opiniâtreté.

Poste le Friday 21 March 2008 05:03:46
Répondre     Citer    
Re: récupérer son IP publique
Envoyé par: Raph__

Salut,

Il existe une méthode qui repose sur l'enregistrement de route du protocole ICMP.
Bien que les routeurs ne soient pas obligés d'ajouter leur IP lorsqu'ils reçoivent le paquet ICMP. Cette méthode est à mon avis relativement fiable. En tout cas plus fiable que de consulter un site HTTP.

Pour la mettre en oeuvre c'est assez simple. Par contre il faut l'adapter à la topologie de ton réseau. Tu peux être derrière trois routeurs privés et souhaiter obtenir l'IP WAN du 4eme routeurs.

Exemple : Tu veux connaitre l'IP publique de ta passerelle par défaut.
traceroute -Inm 3 1.1.1.1
ping -Rc1 <l'ip lan du 3eme routeurs>
-m 3 : TTL vaut 3 (Pour éviter les timeouts)

La première IP retourné par le ping est celle de ta pate LAN. La seconde est celle de la pate WAN du routeur.

Avec un petit script du devrait pouvoir obtenir ce que tu souhaites.

NOTE: Le nombre de routes (record route) est limité au nombre de 9 !

A Ciao.

Poste le Saturday 22 March 2008 13:21:13
Répondre     Citer    
Re: récupérer son IP publique
Envoyé par: Raph__

Bon je vois que tout le monde suit... :-p
En me relisant à l'instant je viens de voir que j'ai dit une bêtise. L'enregistrement de route n'est pas géré par le protocole ICMP. Mais par le protocole IP !

Poste le Monday 24 March 2008 17:37:29
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
récupérer son IP publique
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons