Il existe quelques autres moyens qui ne reposent pas sur la vérification par Python d'un site Web externe, mais le système d'exploitation peut le faire. Le problème principal est que même si vous n'utilisez pas Python, si vous utilisez la ligne de commande, il n'y a pas de commandes "intégrées" qui peuvent simplement vous indiquer l'adresse IP externe (WAN). Des commandes telles que "ip addr show" et "ifconfig -a" vous indiquent les adresses IP du serveur au sein du réseau. Seul le routeur détient réellement l'adresse IP externe. Cependant, il existe des moyens de trouver l'adresse IP externe (WAN IP) à partir de la ligne de commande.
Ces exemples sont :
http://ipecho.net/plain ; echo
curl ipinfo.io/ip
dig +short myip.opendns.com @resolver1.opendns.com
dig TXT +short o-o.myaddr.l.google.com @ns1.google.com
Par conséquent, le code python serait :
import os
ip = os.popen('wget -qO- http://ipecho.net/plain ; echo').readlines(-1)[0].strip()
print ip
OU
import os
iN, out, err = os.popen3('curl ipinfo.io/ip')
iN.close() ; err.close()
ip = out.read().strip()
print ip
OU
import os
ip = os.popen('dig +short myip.opendns.com @resolver1.opendns.com').readlines(-1)[0].strip()
print ip
Ou, branchez n'importe quel autre exemple ci-dessus, dans une commande comme os.popen, os.popen2, os.popen3, ou os.system.
P.S. vous pouvez utiliser "pip3 install pytis" et utiliser/regarder le programme "getip", écrit en Python. Vous pouvez également trouver son code ici : https://github.com/PyTis/PyTis/blob/development/src/pytis/getip.py
0 votes
Liés : Découverte programmée de l'IP publique