Accueil Portail ScL
Nouveautés Nos Articles Lexique Participez ! Forum
Réseau   »»   Récupérer son IP externe par Script (Linux/Windows) (par Zéfiris)
Bas de Page

Récupérer son IP externe par Script

Combien de fois avez-vous eu besoin de votre adresse IP rapidement, et combien de temps avez-vous passé sur google à chercher un site dynamique qui pourrait vous la fournir ? Parce que vous utilisez un logiciel qui en a besoin dans sa configuration, parce que vous possédez un serveur chez vous accessible depuis l'extérieur, et que vous venez d'avoir votre déconnexion avec changement d'IP - qui est systématique pratiquement chez tous les FAI si vous ne payez pas expressément ce service, à l'exception de la freebox au moment où ce texte est écrit -. Quoi qu'il en soit, c'est une donnée qui vous servira très souvent, pour peu que vous utilisiez quelques outils en rapport avec l'Internet.

Nous allons ici voir plusieurs méthodes pour toujours avoir à disposition son IP Externe, aussi bien sous Linux que sous Windows.

Sommaire

  1. Notions d'IP Interne et d'IP Routable
  2. Un moyen simple, un site Web Dynamique
  3. Par un script
  4. Script Shell sous Linux
  5. Script VBS sous Windows

Sommaire Notions d'IP Interne et d'IP Routable

Afin d'éviter tout malentendu, il convient de bien séparer l'IP dite locale, de celle dite routable, ou encore externe.

IP Interne :
Elle existe pratiquement chaque fois que vous êtes connectés à un réseau local, ou derrière un routeur. Celle-ci est non-routable, c'est-à-dire qu'elle n'a aucun sens pour toute personne en-dehors de votre réseau local.
Par exemple, les IP en 10.0.0.x, 192.168.x.x ... sont des plages réservées aux IP locales.

IP Externe ou Routable :
Contrairement à la précédente, cette IP permet de vous repérer sur l'ensemble de l'Internet, et ce parce qu'elle est garantie unique pendant tout le temps où vous la possédez sur tout l'Internet. Dans le cas d'une IP fixe, ce délai est bien plus important que dans le cas d'une IP dynamique.

Dans le cas où vous êtes dans un réseau local, ou derrière un routeur, votre IP Interne, est disponible par la commande

Sous Windows
ipconfig
-> Ouvrez d'abord une fenêtre console en tappant :
Démarrer
Exécuter (ou Run)
cmd
et validez

Sous Linux
ifconfig
toujours dans une fenêtre console

Sommaire Un moyen simple, un site Web Dynamique

Un moyen très simple pour récupérer son IP - vous l'avez sans doute déjà utilisé - c'est de chercher un site web dynamique : technologies php, asp, cgi, webdev ...

Pour ceux ou celles qui n'en ont pas encore eu besoin, un des moyens les plus rapides est d'utiliser votre moteur de recherche favoris, et d'y tapper mon ip ou my ip ; vous tomberez à coup sûr sur un des très nombreux sites qui proposent entre autre ce service.

Pour éviter d'avoir à chercher continuellement un tel site, nous en mettons un à disposition dans notre section Outils : http://tools.scl.free.fr/me/

Sommaire Par un script

Comme toutes nos rubriques, dont vous trouverez la liste sur notre portail, notre section Outils sera maintenue disponible autant que faire ce peut. Elle satisfait par ailleurs à un cahier des charges précis ; ainsi, tout le "look" est inclus dans des fichier CSS, ce qui assure que le code de chaque page ne changera que très peu.
Nous garantissons en outre que les champ "intéressants" à récupérer garderont toujours le même format ; ici :

<client_ip>xxx.xxx.xxx.xxx</client_ip>
Par contre, nous ne garantissons pas l'ordre d'apparition des renseignements, ni leur libellé (la description du renseignement). Il faudra donc en tenir compte dans nos scripts.

Sommaire Script Shell sous Linux :

Ouvrer une console Linux et tappez ou copiez-collez la ligne suivante :

lynx -source http://tools.scl.free.fr/me/ | grep -F "client_ip" | sed -e 's/.*>\(.*\)<.*/\1/'

Une petite explication :

Au final, nous avons bien extrait l'IP depuis la page http://tools.scl.free.fr/me/

Sommaire Script sous Windows :

Windows dispose aussi de scripts shell connus comme scripts batch (.bat) ou command (.cmd) qui sont une version plus puissante de ces derniers. Contrairement à Linux, Windows ne dispose pas au niveau console d'outils aussi puissants que Linux ; en particulier pas de lynx, et telnet n'écrit pas sur la sortie standard, ce qui rend impossible l'exploitation des données récupérées. De même, les outils de traitement des chaînes de caractères telles que SET nécessitent des affectations de variables se rapprochant du ${ ... } de Linux, et sont bien plus lourds à utiliser que des outils comme grep ou sed.

C'est pourquoi nous avons choisi de fournir un script VBS (Visual Basic Script). Pour vous en servir, vous n'avez qu'à créer ouvrir le bloc-note, copier-coller cet exemple, ou saisir votre propre code, et l'enregistrer en quelquechose.vbs . Son exécution lancera automatiquement l'environnement de Script de Windows (Windows Scripting Host).

Mise-en-garde : Attention, les scripts VBS ne sont pas anondins. Que ce soit sur un site ou dans votre boîte mail, un fichier .VBS ou .JS (Java Script) peut causer des dégâts très importants dans votre système ; pour vous en convaincre, renseignez-vous sur les conséquences dramatiques du Virus I Love You (totalement écrit en VBS). De même, ce n'est pas parce qu'un code commenté vous paraît "innocent" qu'il l'est ... restez vigilant.
Une page sécurité sera bientôt disponible rapelant quelques principes de bases de sécurité.

Dim IE, Page, Tag, TagPos, Longueur
Set IE = CreateObject("InternetExplorer.Application")

IE.Navigate "http://tools.scl.free.fr/me/"
While IE.Busy: WScript.Sleep 100: Wend

Page = IE.Document.Body.InnerHTML
IE.Quit
Set IE = Nothing

Tag="client_ip>"
TagPos = InStr(1, Page, "<" + Tag, vbTextCompare)
Longueur = InStr(TagPos + Len(Tag), Page, "</" + Tag, vbTextCompare) - TagPos - Len(Tag) - 1

MsgBox Mid(Page, TagPos + Len(Tag) + 1, Longueur)

Une petite explication :

Nous avons bien, ici aussi, extrait notre IP depuis la page http://tools.scl.free.fr/me/. Vous n'avez plus qu'à placer ce script, ou un raccourci vers celui-ci sur votre bureau, ou dans votre barre de lancement rapide afin de pouvoir y accéder rapidement lorsque vous en aurez besoin !

Merci pour votre attention,
Zéfiris
Haut de Page
Oeuvres de Zéfiris :
-> Gérez facilement vos correctifs (patchs) Windows !
-> Lexique de termes techniques
-> Page Liens
-> Récupérer son IP externe par Script (Linux/Windows)
-> Routage, mode actif et mode passif
-> Supprimer un fichier rebel

Tous les documents présents dans cette Galerie sont l'oeuvre des personnes de la Team ScL.
Ils restent leur propriété et ne paraissent sur ce site qu'avec leur autorisation.

Si vous souhaitez proposer un article, faites-le auprès du Conservateur de la Bibliothè ScL.

Conservateur de la Bibliothèque ScL : Zéfiris
Le contacter : Profil sur le Forum