|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre chevronné
![]() Inscription : août 2010 Messages : 416 ![]() |
Bonjour,
j'aimerai savoir s'il y'a une commande linux qui permet de connaitre son adresse IP Publique (evidemment une commande ). Je sait que ifconfig te donne l'adresse en LAN, mais pas en WAN. Merci |
|
|
00
|
|
|
#2 | ||
|
Membre chevronné
![]() Inscription : août 2010 Messages : 416 ![]() |
ce que je sait c'est que un petit script shell comme ca
Code :
De ce fait , je veux trouver une solution solide qui me permet de recuperer mon adresse IP publique ou au moins ma gateway |
||
|
|
00
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 071 ![]() |
http://checkip.dyndns.com/ ce serveur là ne risque pas de tomber.
|
|
|
00
|
|
|
#4 | ||
|
Membre chevronné
![]() Inscription : août 2010 Messages : 416 ![]() |
pour plus de securité, peut-etre il vaut mieux tester les deux, de ce fait je peux ptre faire :
Citation:
Sinon qui a une idée comment comparer en shell cette adresse si elle se trouve dans une plage d'IP bien précise genre : Citation:
|
||
|
|
00
|
|
|
#5 | ||
|
Membre chevronné
![]() Inscription : août 2010 Messages : 416 ![]() |
Bon deja IP_2=`wget -q -O - http://checkip.dyndns.com/ ` ne fonctionne pas donc j'ai du changer le script comme ca :
Code :
|
||
|
|
00
|
|
|
#6 | |||
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Salut,
Citation:
Code :
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|||
|
|
00
|
|
|
#7 | |||||
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 071 ![]() |
comment ça
Citation:
Code :
pour ne récupérer que l'adresse, je suggères quand même : Code :
w3m -dump http://checkip.dyndns.com | sed 's/.*: //' pour comparer des adresses ip, il vaut mieux adapter inet_aton en shell : Code bash :
|
|||||
|
|
10
|
|
|
#8 | |
|
Membre chevronné
![]() Inscription : août 2010 Messages : 416 ![]() |
bon voila j'ai fait quelques changements comme suit :
Citation:
Sauf que la j'ai pas trés compris la commande inet-aton(), malgrès les recherches que j'ai fait.. Enfet ce que je veux faire c'est vérifier si mon adresse IP appartient à un sous réseau bien déterminé.. |
|
|
|
00
|
|
|
#9 | ||
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 071 ![]() |
Code BASH :
? ça dira si l'adr_pub est dans l'intervalle, pas vraiment si elle appartient à un sous-réseau. |
||
|
|
00
|
|
|
#10 | |||
|
Membre chevronné
![]() Inscription : août 2010 Messages : 416 ![]() |
Citation:
Sinon, la comparaison se fait sur tous les octets, c'est à dire si adr_deb=95.107.1.125 adr_fin=95.110.1.255 adr_pub=95.108.55.21 il doit normalement m'annoncer que c'est dans 'intervalle c'est ca ? |
|||
|
|
00
|
|
|
#11 | ||||
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 071 ![]() |
Citation:
Code :
Citation:
|
||||
|
|
00
|
|
|
#12 | ||
|
Membre chevronné
![]() Inscription : août 2010 Messages : 416 ![]() |
voila le fichier globale :
Code :
|
||
|
|
00
|
|
|
#13 |
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 071 ![]() |
ah ? ça fonctionne bien pour moi.
ton script est exécutable ? tu le lances ainsi ? j'ai la même erreur si je lance le script avec ash tonScript ! |
|
|
00
|
|
|
#14 | ||
|
Membre chevronné
![]() Inscription : août 2010 Messages : 416 ![]() |
enfet je le lancais avec un sh et non avec un ./ apparamment c'est pour ca qu'il n'a pas fonctionné.
Bon jusqu'a la tout va bien : ) merci beaucoup... juste je veux te demander un truc, ..: Mon prb est le suivant, j'ai un modem qui peut se connecter sur deux gateway, donc moi je veux le forcer à se connceter sur une gw bien précise.. Jusqu'a la mon script me permet de détecter mon IP publique et puis de savoir sur qu'elle gw je suis connecté... ce que j'envisage de faire c'est de lancer mon script qui detecte l'adresse IP, puis si elle n'est pas dans ma plage annoncé, je redemarre mon modem automatiquement jusqu'a ce qu'il soit dans mon réseau ...ca donne ca Code :
j'aimerai savoir comment faire pour que mon je ne quitte le script que si je suis dans le network desiré.. ché pas si c'est claire |
||
|
|
00
|
|
|
#15 |
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 071 ![]() |
utilise une boucle until au lieu d'un if.
|
|
|
10
|
|
|
#16 | ||||
|
Membre chevronné
![]() Inscription : août 2010 Messages : 416 ![]() |
voila ce que j'ai fait,
Code :
Sinon si je veux n'accepter la connexion que s'il elle appartien a deux réseaux je peux bien faire ca non ? Code :
|
||||
|
|
00
|
|
|
#17 | ||
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 071 ![]() |
là, ça redémarrera le modem si l'adresse publique appartient à l'un ou (||) à l'autre.
donc, ta phrase est fausse, mais le code paraît correct, mais vérifie les parenthèses ! on pourrait aussi utiliser l'opérateur ternaire (( expr ? expr_if_true : expr_if_false )) : Code :
|
||
|
|
00
|
|
|
#18 | ||||
|
Membre chevronné
![]() Inscription : août 2010 Messages : 416 ![]() |
si je me trompe pas, quand je fait ca :
Code :
---> Si elle appartient à cet intervalle, je quitte le script Code :
--->Si je trv que l'IP appartient à l'intervalle, le modem ne redemarre pas non? |
||||
|
|
00
|
|
|
#19 |
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 071 ![]() |
c'est ça.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com