Suite à un petit souci de serveur, les emails de confirmation d'inscription n'étaient plus envoyés. Si vous n'avez pas reçu votre mot de passe, utilisez l'option "Mot de passe oublié" et vous recevrez le nouveau. (February 23) x

En raison de spams récurrents, les messages des nouveaux inscrits sont modérés a priori. Ne vous inquiétez pas si vous ne voyez pas apparaitre votre message immédiatement sur le forum. (November 04, 2021) x

Sujet fermé
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()
#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
#3

Salut et bienvenue Smile.

Pas trop compris l'utilité d'envoyer ton IP sur un autre serveur =/.
#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
#5

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

Et au cas où il obtienne pas d'IP, le script en question ne marchera pas...
#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.
#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
#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é...
#9

Ouaip, j'étais resté aussi sur une IP locale ^^.
#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]
Smile
#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...
#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
#13

Ceci explique cela !!! Big Grin
#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).
#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
#16

+1 avec chris !
Sujet fermé


Atteindre :


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