Obtenir son IP WAN, dans un script shell |
Bienvenue invité ( Connexion | Inscription )
Il est interdit de poster directement à la racine de ce forum.
Veuillez créer votre topic dans le sous-forum approprié.
Obtenir son IP WAN, dans un script shell |
20 Jul 2004, 00:09
Message
#1
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 1 599 Inscrit : 20 Sep 2003 Membre no 9 702 |
Bonsoir,
je voidrais savoir s'il est possible d'obtenir facilement l'adresse IP WAN d'un ordinateur dans un script shell? Je suis en train d'écrire un script qui devra fonctionner sur plusieurs ordi d'un petit réseau local connecté au net via un routeur (c'est donc lui qui aura l'IP WAN), et j'ai besoin de récupérer cette adresse depuis chacun des ordi. J'arrive parfaitement à récupérer les autres IPs (avec ifconfig), mais pour celle-là je vois pas... -- Arthur; -------------------- |
|
|
20 Jul 2004, 01:26
Message
#2
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 4 687 Inscrit : 28 Nov 2001 Lieu : Pas loin du grand pic qu'on surnomme Tour Eiffel Membre no 1 440 |
un moyen un peu "bidouille" est de ce connecter à un site genre http://www.whatismyip.com/ ... C'est bidouille mais ça marche tant que le site marche...
-------------------- Mordu de Mac depuis 1996, avec un Performa 6230CD sous Mac OS 7.5.1. Depuis l'extinction de Steve Jobs, le logiciel libre se fait de plus en plus présent dans ma vie numérique.
|
|
|
20 Jul 2004, 01:38
Message
#3
|
|
Moderating Daemon Groupe : Modérateurs Messages : 6 345 Inscrit : 22 Feb 2004 Lieu : Yvelines/Cambridge (GB), dans mon pantalon Membre no 15 207 |
Le problème c'est que l'ordinateur ne la connaît pas cette ip, puisque c'est une propriété d'une autre machine sur le réseau.
Il faut donc déterminer ça de façon experimentale, et ca sans l'aide d'un autre hote, en dehors de ton reseau local, c'est pas facile. -------------------- G5 Bi 2GHz rev A, ATI X800 XT
Alu 17" rev A MacBook core duo 1.83 GHz |
|
|
20 Jul 2004, 06:53
Message
#4
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 1 293 Inscrit : 25 Apr 2003 Membre no 7 294 |
Héhé, intéressant. Je suggère ça :
CODE traceroute -m2 1.2.3.4 | tail -1 et ensuite cut/sed/awk selon le champ que tu veux récupérer (IP ou nom) Edit : je précise, 1.2.3.4 est une adresse IP arbitraire, le seul truc qui compte c'est que sa route passe par le routeur. -m2 c'est pour dire de pas se fatiguer plus loin que le routeur (2 sauts à faire ("hops")). Bon, je suis persuadé qu'il y a mieux que sed, mais par exemple ceci pour moi fonctionne : CODE bash: traceroute -m2 1.2.3.4 2>&1 | tail -1 | sed -e 's/.*(//' -e 's/).*//' tcsh : traceroute -m2 1.2.3.4 |& tail -1 | sed -e 's/.*(//' -e 's/).*//' Ah oui : évidemment ça ne fonctionne que pour un réseau en étoile où toutes les machines sont à la même "distance" du routeur ! Si c'est pas le cas, il faut connaître l'adresse IP LAN du routeur, et analyser chaque ligne de résultat du traceroute jusqu'à trouver l'IP LAN du routeur, et prendre la ligne suivante (IP WAN). Et augmenter le -m2 pour la bonne valeur. Mais bon, la version de base devrait te suffire Ce message a été modifié par ploute - 20 Jul 2004, 07:07. |
|
|
20 Jul 2004, 10:26
Message
#5
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 1 599 Inscrit : 20 Sep 2003 Membre no 9 702 |
Super, merci beaucoup.
-------------------- |
|
|
20 Jul 2004, 12:41
Message
#6
|
|
Moderating Daemon Groupe : Modérateurs Messages : 6 345 Inscrit : 22 Feb 2004 Lieu : Yvelines/Cambridge (GB), dans mon pantalon Membre no 15 207 |
moi quand je fais traceroute comme ca, j'ai l'IP LAN de mon routeur (soit 10.0.0.138) mais pas l'IP WAN (j'avais pensé au début a tracroute)
-------------------- G5 Bi 2GHz rev A, ATI X800 XT
Alu 17" rev A MacBook core duo 1.83 GHz |
|
|
20 Jul 2004, 13:09
Message
#7
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 1 293 Inscrit : 25 Apr 2003 Membre no 7 294 |
Ooops, ouais, ok, il était définitivement trop tôt ce matin pour pouvoir poster quoi que ce soit qui nécessite plus de 2 neurones
-> ce que j'ai pris pour mon ip wan c'est l'ip du premier noeud de mon FAI (elles se ressemblent beaucoup...). Vraiment, la teutê dans le luc. Désolé. J'avais dit "je suggère" en pensant qu'éventuellement ça marcherait pas pour tout le monde, bah en fait c'est pire que ça EDIT : (et en plus en voyant que ça avait l'air de marcher, j'ai bien complété mon post et tout... la honte ) BREF : une autre idée alors. Ton routeur il doit la connaître son IP WAN. Et il vaut mieux lui demander à lui qu'à un serveur sur le net dont tu dépendrais (whatismyip par exemple, ou un truc en php sur free que tu ferais toi-même). A-t-il une interface web que tu peux interroger avec curl/wget/lynx ? Exemple pour le DLINK DI-604 : curl http://ip.l.a.n/status.htm (bon après y'a du sed/perl/awk/cut à faire, mais on a l'info) Ce message a été modifié par ploute - 20 Jul 2004, 13:21. |
|
|
20 Jul 2004, 14:28
Message
#8
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 1 599 Inscrit : 20 Sep 2003 Membre no 9 702 |
QUOTE (ploute @ 20 Jul 2004, 14:09) Ooops, ouais, ok, il était définitivement trop tôt ce matin pour pouvoir poster quoi que ce soit qui nécessite plus de 2 neurones -> ce que j'ai pris pour mon ip wan c'est l'ip du premier noeud de mon FAI (elles se ressemblent beaucoup...). Vraiment, la teutê dans le luc. Désolé. J'avais dit "je suggère" en pensant qu'éventuellement ça marcherait pas pour tout le monde, bah en fait c'est pire que ça EDIT : (et en plus en voyant que ça avait l'air de marcher, j'ai bien complété mon post et tout... la honte ) BREF : une autre idée alors. Ton routeur il doit la connaître son IP WAN. Et il vaut mieux lui demander à lui qu'à un serveur sur le net dont tu dépendrais (whatismyip par exemple, ou un truc en php sur free que tu ferais toi-même). A-t-il une interface web que tu peux interroger avec curl/wget/lynx ? Exemple pour le DLINK DI-604 : curl http://ip.l.a.n/status.htm (bon après y'a du sed/perl/awk/cut à faire, mais on a l'info) Oui, j'ai pas fait gaffe non plus tellement les deux IPs se ressemblent... Pour ce qui est de demander directement au routeur, je pense que c'est possible aussi. Je vais étudier la question. Merci pour l'idée -------------------- |
|
|
20 Jul 2004, 16:59
Message
#9
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 527 Inscrit : 24 Mar 2003 Lieu : St Martin La Garenne Membre no 6 805 |
CODE curl -s http://www.whatismyip.com/ | grep '<TITLE>' | cut -f 4 -d ' ' Ca marche chez vous? Chez moi, oui |
|
|
20 Jul 2004, 18:13
Message
#10
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 850 Inscrit : 8 Mar 2003 Lieu : Lausanne(CH) Membre no 6 586 |
QUOTE (alterego @ 20 Jul 2004, 16:59) CODE curl -s http://www.whatismyip.com/ | grep '<TITLE>' | cut -f 4 -d ' ' Ca marche chez vous? Chez moi, oui Nickel, ca marche aussi chez moi ! -------------------- L'expérience est une lanterne que l'on tient allumée dans son dos mais qui n'éclaire hélas que le chemin parcouru.
MacBook Pro 3.1 2.4Ghz / 2Go Ram / 160Go HD / GeForce 8600M GT / 10.6.1 |
|
|
20 Jul 2004, 18:53
Message
#11
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 1 599 Inscrit : 20 Sep 2003 Membre no 9 702 |
QUOTE (Whistle Master @ 20 Jul 2004, 19:13) QUOTE (alterego @ 20 Jul 2004, 16:59) CODE curl -s http://www.whatismyip.com/ | grep '<TITLE>' | cut -f 4 -d ' ' Ca marche chez vous? Chez moi, oui Nickel, ca marche aussi chez moi ! Oui, chez moi aussi. -------------------- |
|
|
24 Jul 2004, 09:43
Message
#12
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 886 Inscrit : 14 Apr 2003 Lieu : Montréal, Québec, Canada Membre no 7 121 |
QUOTE(Arty @ 20 Jul 2004, 19:53) QUOTE(Whistle Master @ 20 Jul 2004, 19:13) QUOTE(alterego @ 20 Jul 2004, 16:59) CODE curl -s http://www.whatismyip.com/ | grep '<TITLE>' | cut -f 4 -d ' ' Ca marche chez vous? Chez moi, oui [right][snapback]784048[/snapback][/right] Nickel, ca marche aussi chez moi ! [right][snapback]784122[/snapback][/right] Oui, chez moi aussi. [right][snapback]784177[/snapback][/right] Nickel, alors que : CODE [PowerBook-Damien:~] damien% traceroute -m2 1.2.3.4 |& tail -1 | sed -e 's/.*(//' -e 's/).*//' 2 * * * [PowerBook-Damien:~] damien% Et la commande prenait du temps avant de rendre la main. cela dit, je pense que mon routeur (di 614+) me bloque les TraceRoute. Quelqu'un sait pouquoi d'ailleurs ? (Mon Mac est en DMZ pourtant !). -------------------- Machine: MacBook Pro 13' 2.66 / 4go RAM
Réseau: TimeCapsule / Airport Express / NAS Synology 110J Mon blog - Mini Bulles - Aviation |
|
|
24 Jul 2004, 16:25
Message
#13
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 866 Inscrit : 21 Sep 2002 Membre no 3 651 |
ton routeur doit avoir, via un navigateur, une page d'acceuil puis d'autres de renseignement et configuration.
chez moi, la page qui donne l'info IP WAN est : 192.168.0.1/MainPage à partir de là, il suffit de : sudo curl -s --url 'admin:[email protected]/MainPage?id=2' pour obtenir les infos de la page chez moi, la ligne que je veux est la 39ième sudo curl -s --url 'admin:[email protected]/MainPage?id=2' | sed -n "39p" et je veux, en plus, uniquement le deuxième champ sudo curl -s --url 'admin:[email protected]/MainPage?id=2' | sed -n "39p" | awk '{print $2}' cela permet d'être libre d'un site web qui peut être inaccessible sur le réseau on peut remplacer l'ip donné par le routeur par une info donnée dynamiquement en DHCP Ce message a été modifié par Pedro - 24 Jul 2004, 16:26. -------------------- la jeunesse est un état d'esprit. la vieillesse le mal français du siècle
La France est un pays extrêmement fertile. On y plante des fonctionnaires, il y pousse des impôts © Clemenceau La Paix, c'est la tranquillité de l'ordre. On ne peut résoudre les problèmes avec les gens qui les ont créés © Einstein On devrait construire les villes à la campagne car lair y est plus pur. Un cocu ? Un entier qui partage sa moitié avec un tiers. |
|
|
Nous sommes le : 28th April 2024 - 16:12 |