Afficher instantanément l'adresse IP sous Linux en utilisant le script Showipaddr
Besoin d'un moyen rapide et facile de trouver vos adresses IP sous Linux ? Dans cet article, nous vous guiderons à travers deux scripts simples mais utiles nommés showipaddr qui vous aideront à afficher vos adresses IP privées (locales) et publiques sans effort sous Linux.
Bien sûr, vous pouvez toujours utiliser les commandes intégrées comme « ip » ou « nmcli » pour récupérer vos adresses IP, mais ces commandes peuvent vous fournir plus d'informations que nécessaire. Si vous cherchez un moyen rapide et simple d'obtenir uniquement vos adresses IP locales et publiques, vous pouvez utiliser ces scripts !
Voici ce que vous pouvez faire avec ces scripts :
- Vérifiez les informations de votre réseau local : Affichez le nom d'hôte de votre système Linux, les adresses IPv4 et IPv6, l'adresse de la passerelle (routeur) et les détails du serveur DNS.
- Découvrez votre adresse IP publique : Affichez votre adresse IP publique, ainsi que d'autres informations utiles telles que le FAI, la ville, la région, le pays et les coordonnées (latitude et longitude).
Les deux scripts sont disponibles gratuitement sur GitHub. Vous pouvez les télécharger, les mettre à jour selon vos besoins et les exécuter pour obtenir instantanément vos informations IP locales et publiques.
Tout d'abord, nous verrons comment utiliser le script BASH Showipaddr pour révéler l'adresse IP sous Linux.
Afficher les informations de l'adresse IP en utilisant un script BASH
Le script BASH showipaddr.sh est conçu pour afficher à la fois les informations IP locales et publiques sur les systèmes Linux et de type Unix. Par défaut, le script utilise ip-api.com pour récupérer les informations IP publiques. Cependant, vous pouvez modifier le script pour utiliser d'autres services comme ipinfo.io, ifconfig.me, etc.
Pour utiliser ce script, vous devez avoir les dépendances suivantes installées sur votre système Linux :
- Bash Shell : Le script est écrit en Bash, qui est typiquement le shell par défaut sur la plupart des distributions Linux.
- Curl : Cet outil est utilisé pour récupérer les informations d'adresse IP publique depuis Internet (
curl -s http://ip-api.com/json). La plupart des distributions Linux sont livrées avec curl préinstallé. Sinon, il peut être installé à l'aide du gestionnaire de paquets (comme apt pour Debian/Ubuntu, yum pour CentOS, etc.). - jq : Il s'agit d'un processeur JSON en ligne de commande léger et flexible. Il est utilisé pour analyser les données JSON renvoyées par le service ip-api.com. Il se peut qu'il ne soit pas préinstallé sur tous les systèmes, et vous pouvez l'installer en utilisant le gestionnaire de paquets de votre distribution.
- Connexion Internet : Pour récupérer les informations sur l'IP publique depuis ip-api.com.
Voyons comment obtenir instantanément les informations des adresses IP privées et publiques en utilisant le script Showipaddr :
1. Téléchargez le script depuis notre page GitHub :
$ git clone https://gist.github.com/09259a3da0e7190775d16aadef14580b.git showipaddrCela téléchargera le showipaddr.sh dans un répertoire local appelé showipaddr. Vous pouvez utiliser n'importe quel nom pour ce dossier.
2. Passez dans le répertoire :
$ cd showipaddr/3. Rendez le script exécutable en utilisant la commande chmod :
$ chmod +x showipaddr.sh4. Déplacez le script vers votre ` PATH :
$ sudo mv showipaddr.sh /usr/local/bin/showipaddr5. Maintenant, exécutez le script en utilisant la commande :
$ showipaddrLe script vous invitera à choisir l'une des options suivantes :
- Afficher uniquement les informations IP locales,
- Afficher uniquement les détails de l'adresse IP publique
- Afficher les adresses IP privées et publiques.
Entrez votre choix en tapant le numéro correspondant. Par exemple, taper 1 affichera votre adresse IP locale, taper 2 imprimera les détails de l'IP publique et 3 vous donnera les deux détails.
Voici la sortie d'exemple de mon système Ubuntu 22.04 après avoir saisi le numéro 3 :
Select the information to display:
1. Local IP
2. Public IP
3. Both Local and Public IP
Enter your choice (1/2/3):
3
------------------------------------------------------
Local Network Information:
Hostname : ubuntu2204
Local IPv4 Address : 192.168.1.40
Local IPv6 Address : fe80::6c26:bff:fe8e:338c/64
Router IP Address : 192.168.1.101
DNS Server : 127.0.0.53
------------------------------------------------------
------------------------------------------------------
Public IP Information:
IP Address : 49.37.192.210
ISP : Reliance Jio Infocomm Limited
City : Chennai
Region : Tamil Nadu
Country : India
Coordinates : 12.8996, 80.2209
------------------------------------------------------Comment fonctionne le script Showipaddr.sh ?
Le script effectue les tâches suivantes :
1. Vérifiez si jq est installé :
- Le script vérifie d'abord si
jqest installé ou non sur votre système Linux. Sijqn'est pas installé, le script se terminera et affichera les instructions d'installation de jq pour différentes distributions Linux.
2. Récupération des informations IP publiques :
- Le script utilise
curlpour effectuer une requête vers https://ip-api.com/json. Cette URL renvoie des informations sur l'adresse IP publique du système au format JSON. - L'outil
jqanalyse ensuite ces données JSON pour extraire des détails tels que l'adresse IP publique, le fournisseur d'accès à Internet, la ville, la région, le pays et les coordonnées géographiques.
3. Récupération des informations du réseau local :
hostname -I: Cette commande récupère les adresses IP locales de la machine. Elle renvoie généralement l'adresse IPv4.ip -6 addr show: Cette commande liste toutes les adresses IPv6. Le script filtre cela pour obtenir l'adresse IPv6 locale, en excluant les adresses de bouclage et les adresses locales au lien.ip route: Ceci est utilisé pour obtenir la passerelle par défaut (adresse IP du routeur) de la machine.grep nameserver /etc/resolv.conf: Cela récupère les informations du serveur DNS à partir du fichierresolv.conf.
4. Interaction de l'utilisateur :
- Le script invite l'utilisateur à choisir s'il souhaite afficher l'IP locale, l'IP publique ou les deux. En fonction du choix de l'utilisateur, il appelle la fonction respective pour afficher les informations pertinentes.
5. Format de sortie :
- Le script utilise les commandes
echoetprintfpour formater et afficher les informations de manière lisible et structurée.
Ce script est un outil utile pour récupérer et afficher rapidement des informations réseau sur un système Linux. Il combine diverses commandes et utilitaires Linux pour collecter et présenter ces données.
Si vous n'aimez pas ou ne préférez pas le script BASH, vous pouvez utiliser notre script Python qui effectue la même opération.
Afficher l'adresse IP sous Linux en utilisant un script Python
Le script Python pour révéler l'adresse IP sous Linux s'appelle showipaddr.py. Il fait exactement la même chose que le script Bash. La seule différence est qu'il est écrit en Python.
Les dépendances requises pour utiliser ce script sont indiquées ci-dessous :
- Python : Le langage de programmation dans lequel le script est écrit. Vous devez avoir Python installé sur votre système Linux pour exécuter ce script.
Bibliothèque requests: Une bibliothèque Python utilisée pour effectuer des requêtes HTTP. Ce script utilise requests pour récupérer des informations sur l'IP publique depuis le service ip-api.com. Pour installer cette bibliothèque, vous pouvez exécuterpip install requestsdans votre terminal.
Processeur JSON :
jq: Bien qu'il ne s'agisse pas d'une dépendance Python, jq est un processeur JSON en ligne de commande léger et flexible. Le script vérifie si jq est installé sur le système pour garantir la compatibilité avec le traitement JSON, bien qu'il n'utilise pas directement jq dans le code.
Utilitaires Linux :
hostname: Utilisé pour obtenir le nom d'hôte et les adresses IP locales.ip: Utilisé pour obtenir l'adresse IP du routeur et l'adresse IPv6 locale.grep,awk: Utilitaires pour le traitement du texte dans les commandes shell.
Voici les étapes pour afficher l'adresse IP sous Linux en utilisant le script Python Showipaddr :
1. Téléchargez le script en utilisant la commande :
$ git clone https://gist.github.com/27276f43e980aa3a468c4b39680a68ee.git showipaddrCette commande téléchargera le script dans un dossier local appelé 'sowipaddr'.
2. Passez en CD dans ce répertoire :
$ cd showipaddr/3. Exécutez le script :
$ python3 showipaddr.pySimilaire à notre script Bash précédent, il vous donnera également trois choix. Tapez le numéro 1 pour afficher l'IP privée, tapez le 2 pour l'IP publique et tapez le 3 pour afficher à la fois les adresses IP privée et publique.
Comment fonctionne le script
Le script effectue plusieurs tâches :
1. Vérifiez jq :
- Il vérifie d'abord si jq est installé. Sinon, il affiche des instructions pour installer jq sur différents systèmes.
2. Récupérer les informations IP :
- Détails IP locaux : Le script utilise des commandes Linux (exécutées via
subprocess.getoutput()de Python) pour récupérer le nom d'hôte local, l'IPv4, l'IPv6, l'IP du routeur et le serveur DNS. - Détails de l'IP publique : Il utilise la bibliothèque
requestspour envoyer une requête HTTP GET à ip-api.com. La réponse, qui est au format JSON, contient des détails sur l'IP publique, comme le FAI, la ville, le pays, etc.
3. Interaction de l'utilisateur :
- Efface l'écran.
- Invite l'utilisateur à choisir quelles informations afficher (IP locale, IP publique ou les deux).
- En fonction du choix de l'utilisateur, il récupère et affiche les informations pertinentes.
4. Affichage des informations :
- Formate et imprime les informations dans un format de tableau lisible.
Conclusion
Que vous soyez un passionné de technologie ou un utilisateur occasionnel, connaître vos adresses IP locales et publiques dans un environnement Linux peut être inestimable pour résoudre des problèmes réseau et configurer des serveurs. En utilisant ces deux scripts, vous pouvez instantanément obtenir soit les informations IP locales, soit les détails de l'IP publique, ou les deux.
Ressources :
- Script Bash Showipaddr
- Script Python Showipaddr
Lecture connexe :
- Comment trouver l'adresse IP publique depuis la ligne de commande sur Linux
- Comment trouver l'adresse IP de la passerelle par défaut dans Linux et Unix depuis la ligne de commande
- Trouver la géolocalisation d'une adresse IP depuis la ligne de commande
- Afficher les informations du réseau sous Linux en utilisant l'outil What IP
