44 votes

Recherche de l'adresse IP publique dans un Shell Shell.

Je peux trouver mon adresse IP en utilisant la commande ifconfig ou hostname -i.

Mais comment trouver mon IP public ?

(J'ai une IP publique statique mais je veux la trouver en utilisant une commande unix)

1voto

Stefan Lasiewski Points 22459

Une solution simple Shell Shell peut être trouvée ici :

http://bash.cyberciti.biz/misc-Shell/read-local-ip-address/

Fonctionne sur Linux, FreeBSD, SunOS et Apple Darwin (avec une modification mineure).

0voto

Vous pouvez utiliser uniquement le Shell pour vérifier votre ip externe, en utilisant également des fournisseurs externes.

#!/bin/bash
TCP_HOST="checkmyip.com"
TCP_PORT=80              
exec 5<>/dev/tcp/"${TCP_HOST}"/"${TCP_PORT}"
echo -e "GET / HTTP/1.0\nHOST:${TCP_HOST}\n" >&5
while read -r line 
do  
    case "$line" in
        *"Your local IP address is"* ) 
            line="${line#*Your local IP address is&nbsp;}"
            line=${line%%</p>*}
            echo "Your ip is: $line"
            exec >&5-
            exit
            ;;            
    esac
done <&5

sortie

0voto

lynx --dump http://www.whatismyip.com/ | grep -o '\[0-9\].\*\\.\[0-9\].\*\\.\[0-9\].\*\\.\[0-9\].\*'
-m1

0voto

Robert D Points 9

Je fais ça. Ça me donne juste l'IP sans aucune implication d'une tierce partie

ip addr show | grep eth0 | grep inet | tr -s " " | cut -f3 -d " " | cut -f1 -d "/"

0voto

Fathi Points 1
wget -q -O - checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X