IPB

Bienvenue invité ( Connexion | Inscription )

> Programmation

Il est interdit de poster directement à la racine de ce forum.
Veuillez créer votre topic dans le sous-forum approprié.

 
Reply to this topicStart new topic
> Obtenir son IP WAN, dans un script shell
Options
Arty
posté 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;


--------------------
MacBook Pro 15" Core [email protected]
Mac OS 10.9.3
iPhone 5 - 32 Go Black
Go to the top of the page
 
+Quote Post
macuserfr
posté 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.
Go to the top of the page
 
+Quote Post
f_cam
posté 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
Go to the top of the page
 
+Quote Post
ploute
posté 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 smile.gif

Ce message a été modifié par ploute - 20 Jul 2004, 07:07.
Go to the top of the page
 
+Quote Post
Arty
posté 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.


--------------------
MacBook Pro 15" Core [email protected]
Mac OS 10.9.3
iPhone 5 - 32 Go Black
Go to the top of the page
 
+Quote Post
f_cam
posté 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
Go to the top of the page
 
+Quote Post
ploute
posté 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 wacko.gif

-> 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 biggrin.gif

EDIT : (et en plus en voyant que ça avait l'air de marcher, j'ai bien complété mon post et tout... la honte biggrin.gif ) 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.
Go to the top of the page
 
+Quote Post
Arty
posté 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  wacko.gif

-> 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 biggrin.gif

EDIT :  (et en plus en voyant que ça avait l'air de marcher, j'ai bien complété mon post et tout... la honte biggrin.gif ) 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 smile.gif


--------------------
MacBook Pro 15" Core [email protected]
Mac OS 10.9.3
iPhone 5 - 32 Go Black
Go to the top of the page
 
+Quote Post
alterego
posté 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 smile.gif
Go to the top of the page
 
+Quote Post
Whistle Master
posté 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 smile.gif
*


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

Go to the top of the page
 
+Quote Post
Arty
posté 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 smile.gif
*


Nickel, ca marche aussi chez moi !
*


Oui, chez moi aussi.


--------------------
MacBook Pro 15" Core [email protected]
Mac OS 10.9.3
iPhone 5 - 32 Go Black
Go to the top of the page
 
+Quote Post
Dam-le-Damdam
posté 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 smile.gif
[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
Go to the top of the page
 
+Quote Post
Pedro
posté 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 wink.gif

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 l’air y est plus pur.
Un cocu ? Un entier qui partage sa moitié avec un tiers.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 28th April 2024 - 16:12