Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

Récupérer l'IP locale au boot
#1

Je fais profiter le forum de mon petit job de ce jour : un script en Python3 qui envoie l'adresse IP locale sur un serveur FTP. Il suffit de l'exécuter au boot (voir les histoires de init.d et compagnie) et le tour est joué :-)

Code :
[== Indéfini ==]
import ftplib, subprocess, time

time.sleep(10)

p = subprocess.Popen(["hostname", "-I"], stdout=subprocess.PIPE)
ip = p.stdout.read().decode("ascii")

f = open("/home/pi/local_ip.txt", "w")
f.write(ip);
f.close()

connect = ftplib.FTP("serveur","user","password")

connect.storbinary("STOR local_ip.txt", open("/home/pi/local_ip.txt", "rb"))

connect.close()
Répondre
#2

Salut,
Merci pour le partage, je suis sur qu'il servira à plus d'un ici !
N'hésites pas à aller te présenter que l'on connaisse mieux tes compétences (puisque tu as l'air d'en avoir qui pourrait en aider plusieurs !)

@+
Nicolas.

Projet en cours : Commande de projecteurs via un Raspberry
Mon blogTopic sur le forumDépôt GitHub
Répondre
#3

Salut et bienvenue Smile.

Pas trop compris l'utilité d'envoyer ton IP sur un autre serveur =/.
Répondre
#4

Connaitre l'IP de son Raspberry quand il démarre en DHCP ? Mais même là, un bail basé sur l'adresse MAC fixe l'IP. Je vois pas sinon

Raspberry Pi Home Server : http://www.pihomeserver.fr
Hotspot Wifi avec portail captif pour Raspberry Pi: Kupiki Hotspot
Répondre
#5

Effectivement, voire même une IP fixe...

Et au cas où il obtienne pas d'IP, le script en question ne marchera pas...
Répondre
#6

Re,

J'utilise le même système que Treizav. Cela me permet d'avoir une sorte de service à la DynDns.
Lorsque je connecte mon mini-serveur RaspPi, celui ci envoie l'adresse Ip publique vers mon serveur dédié par FTP.
La page qui contient la nouvelle adresse ip publique est donc mis-à-jour : http://longwy.framboisepi.fr/
De l'extérieur, je vais donc sur cette page qui me redirige automatique vers mon serveur RaspPi
Je peux ainsi me connecter au server Raspberry de cette manière.

Pour l'envoie automatique et la modification de la page : http://framboisepi.fr/ajouter-un-script-...-raspbian/
Ici, le script "DyndnsRasPi" récupe l'adresse ip publique, il parse la page d'accueil de ma LiveBox où il y a l'adresse ip, puis l'envoie sur serveur avec ftp en php.

J'ai aussi une tâche cron qui exécuté le fichier DyndnsRasPi.
Répondre
#7

Ok sur le principe. Pas bête même Cool
Juste que le script d'origine parle d'IP locale du coup ca limite la portée

Raspberry Pi Home Server : http://www.pihomeserver.fr
Hotspot Wifi avec portail captif pour Raspberry Pi: Kupiki Hotspot
Répondre
#8

chris57100 a écrit :Juste que le script d'origine parle d'IP locale du coup ca limite la portée
Ah oui... Effectivement, je vois pas trop l'utilité...
Peut-être qu'il s'est trompé dans le terme employé...
Répondre
#9

Ouaip, j'étais resté aussi sur une IP locale ^^.
Répondre
#10

Si si, c'est bien l'IP locale que je veux récupérer ! Imaginez-vous dans un lycée sur un réseau avec environ 600 PC... Je connecte ma Raspberry Pi, le serveur DHCP me donne une IP, et je n'ai pas du tout envie de brancher clavier et écran à la carte...
Alors je récupère mon IP tranquillement par FTP (et avec mon smartphone !) et je peux me connecter à ma Raspberry : ssh [email protected].xxx
Smile
Répondre
#11

J'ajoute que l'IP externe ne m'intéresse pas du tout dans mon cas, puisque c'est l'adresse du serveur du lycée, qui blinde tous ses ports !
Moi je cherche à joindre ma carte DANS le réseau local.
Celà dit, il n'est pas difficile de récuper l'IP externe...
Répondre
#12

L'IP externe peut se récupérer comme ceci :
Code :
[== Indéfini ==]
import urllib.request

request = urllib.request.Request("http://icanhazip.com/")
response = urllib.request.urlopen(request)
ip = (response.read().decode('utf-8'))
Par ce "http://icanhazip.com/", vous récupérez votre IP externe, ni moins, et surtout ni plus (juste une chaine de caractères).
Cliquez sur le lien et vous verrez Wink
Répondre
#13

Ceci explique cela !!! Big Grin
Répondre
#14

treizav a écrit :Si si, c'est bien l'IP locale que je veux récupérer ! Imaginez-vous dans un lycée sur un réseau avec environ 600 PC... Je connecte ma Raspberry Pi, le serveur DHCP me donne une IP, et je n'ai pas du tout envie de brancher clavier et écran à la carte...
Alors je récupère mon IP tranquillement par FTP (et avec mon smartphone !) et je peux me connecter à ma Raspberry : ssh [email protected]
Smile

Je comprends mieux ! Donc ton FTP est sur ton réseau local...

L'idée n'est pas bête, encore faut-il que les flux nécessaires soient ouverts (FTP).
Répondre
#15

Si tu es joueur tu connectes un LCD et dessus tu affiches l'ip locale :-)
http://www.pihomeserver.fr/2013/05/09/co...ns-de-10e/

Raspberry Pi Home Server : http://www.pihomeserver.fr
Hotspot Wifi avec portail captif pour Raspberry Pi: Kupiki Hotspot
Répondre
#16

+1 avec chris !
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)