Trouver son Adresse ip publique ?

Programmation d'applications complexes
Yves Rouquier
Messages : 40
Inscription : mar. 23/mars/2004 10:23

Trouver son Adresse ip publique ?

Message par Yves Rouquier »

Bonjour !
J'utilise l'adls derriere un routeur nat St510i.
J'aimerais faire un lien sur une page perso vers mon pc.( pour eberger un serveur web ftp etc ..)

je sais qu'il existe des services dyndns.org etc ...

Mais j'aime bien bricoler ! :wink:

Une des soluces qui marche :
copier via ftp la page htm de config de mon routeur.

Existe il une solution , fonction plus élégante qui retourne
l'adresse ip publique ?

Merci
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Moi j'utilise un petit fichier bat que j'ai fait :

Code : Tout sélectionner

@echo.
@ipconfig
@echo.
@pause
Mais je n'ai pas de routeur, donc essai mais je ne sais pas si ça va marcher
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Tu peux faire un petit prog qui relève ton adresse IP régulièrement et qui poste un fichier automatiquement par ftp quand cette adresse change.

J'avais fait un code comme ça, et ça fonctionnait bien, mais je ne sais pas ce que j'en ai fait.
Yves Rouquier
Messages : 40
Inscription : mar. 23/mars/2004 10:23

Message par Yves Rouquier »

Salut !
C'est exactement ce que j'ais fait en purebasic !
Je fait une copie via ftp de la page de config de mon modem.

Mais je trouve la manip lourde .

Extraction de la chaine ip de la page htm du modem
(lourd et ne fonctionne que sur mon type modem et encore pas sûr !
cela peut dependre du firmware , langage etc ).
Envoi en ftp vers le serveur de page perso ( là pas de probleme ).

J'aimerais quitte à écrire un programme qu'il marche pour tous le monde !

La vrais question est : Comment trouver sont ip publique de façon " universelle"
les prog de mise a jour pour dyndns.org le font bien !
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

J'avais utilisé l'Api pour retrouver mon adresse IP externe, à cause du routeur.
Pure ne sait pas le faire quand il y a un routeur.

Fouille dans le forum anglais, ou dans le musée. De mon côté, je vais regarder dans mes CD de sauvegarde, mais il me semble que ce code était sur mon disque dur qui a crashé.
Lukky
Messages : 340
Inscription : dim. 25/janv./2004 12:22
Localisation : Morbihan

Message par Lukky »

Il me semble que beaucoup de softs se contentent d'interroger une page et de récupérer l'info.

Voila ce genre de page : http://www.whatismyip.com.

Ca marche très bien et cela semble être très fiable.

Un peu chiant sans doute à faire mais bon ...

JL
Quand on me gonfle trop j'éclate, sinon ça va !
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

En php, c'est très simple.

Code : Tout sélectionner

<?php
print"$REMOTE_ADDR";
?>
après suffit d'avoir les requètes http:
GET (/page) HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*
Accept-Language: fr
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Host: (host du serveur)
Connection: Keep-Alive
Sans oublier deux lignes vides à la fin ou une je ne sais plus exactemant... mais j'avais fais ça puis un code qui marche.

Code : Tout sélectionner

#crlf=Chr(10)+Chr(13)
If InitNetwork()
  id = OpenNetworkConnection("gansta93.free.fr", 80)
  If id
    SendNetworkString(id, "GET /IP.php HTTP/1.1" + #crlf + "Accept: */*" + #crlf + "Accept-Language: fr" + #crlf + "User-Agent: Gansta93 Navigateur" + #crlf + "Host: gansta93.free.fr" + #crlf + "Connection: Keep-Alive" + #crlf + #crlf)
    Delay(20)
    FreeMemory(buffer)
    buffer = AllocateMemory(100000)
    ReceiveNetworkData(id, buffer, 100000)
    ip$ = Right(PeekS(buffer), 13)
    reponse = MessageRequester("Information", "Ton IP de connection  est:" + #crlf + ip$ + "." + #crlf + "Veux-tu la copier dans ton Presse-Papier?", #mb_yesno | #mb_iconasterisk)
    If reponse = #idyes
      SetClipboardText(ip$)
      MessageRequester("Information", "Ton IP (" + GetClipboardText() + ") est copiée dans ton Presse-Papier.", #mb_ok | #mb_iconasterisk)
    EndIf
  Else
    MessageRequester("Erreur", "Impossible de se connecter au serveur.", #mb_ok | #mb_iconstop)
  EndIf
Else
  MessageRequester("Erreur", "Impossible d'initialiser le réseau.", #mb_ok | #mb_iconstop)
EndIf
End
Oui mon buffer est énorme pour ce qu'il reçoie, mais bon... on ne sait jamais.
En tout cas ça marche très bien, surtout que l'on ne se complique pas la vie à couper plus que ne le pourait... on ne coupe que les éventuelles requètes web et on ne garde que l'IP.
J'espère avoir répondu le mieu possible à ta question.
Yves Rouquier
Messages : 40
Inscription : mar. 23/mars/2004 10:23

Message par Yves Rouquier »

Bonjour !

Si je comprends bien la page consulté "ip.php" doit etre sur un serveur web avec php et la page doit contenir le script php que tu donne en debut de message.

Le probleme est que mon fai ( wanadoo ) n'offre pas de service php gratuit !
Lukky
Messages : 340
Inscription : dim. 25/janv./2004 12:22
Localisation : Morbihan

Message par Lukky »

C'est pour ça que j'ai proposé whatismyip car il fait parti des sites spécialisé dans ce genre de job et que surtout il est toujours disponible sans se prendre la tête.

C'est très bien de passer par php, c'est ce que je fais la plupart du temps pour mes bases mysql mais ce n'est pas à la portée de tout le monde.

Il faut un site qui accepte le php, faut se pencher sur un nouveau langage.

Mais malgré tout ça reste une très bonne méthode.

JL
Quand on me gonfle trop j'éclate, sinon ça va !
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Effectivemant, mais dans ce cas-là, le découpage devient plus difficil à cause du code html de cette page.
Lukky
Messages : 340
Inscription : dim. 25/janv./2004 12:22
Localisation : Morbihan

Message par Lukky »

Tu noteras que j'avais précisé : un peu chiant !

Mais je viens d'avoir un doute et j'ai regardé le code source de la page et l'ip est aussi entre les balises <TITLE> en début de page.

Ca simplifie grandement le travail.

Allez en 15mn max je suis sur que c'est faisable.

JL
Quand on me gonfle trop j'éclate, sinon ça va !
Yves Rouquier
Messages : 40
Inscription : mar. 23/mars/2004 10:23

Message par Yves Rouquier »

En effet sur : http://www.whatismyip.com l'ip
est entre les balises <title> aucun probléme pour la récupation !

La soluce php est la plus sûr car on sait que notre page seras toujours
là.
Avec http://www.whatismyip.com si le web master change la
mise en page ça ne marche plus ! !

Dans un premier temp je vais choisir l'option http://www.whatismyip.com .

Merci à tous !
Lukky
Messages : 340
Inscription : dim. 25/janv./2004 12:22
Localisation : Morbihan

Message par Lukky »

J'ai testé deux trois petits softs qui sont sensés te renvoyer ton IP et les trois se servent de ce site.

A mon avis mise en page changera peut-être mais ça m'étonnerait.

De plus il peut changer toute la page sans changer le <TITLE> donc ...

JL
Quand on me gonfle trop j'éclate, sinon ça va !
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Oué c suremant faisable... mais bon c la rentrée j'ai la flême :-) mais oui j'en suis sure mais comme j'ai le support du php ben j'utilise ma page si tu veux utilise-la t'as juste l'IP dessus... je redonne l'adresse qui est dans le code mais je ne suis pas sur: http://gansta93.free.fr/IP;php pas sur au niveau des maj.
Lukky
Messages : 340
Inscription : dim. 25/janv./2004 12:22
Localisation : Morbihan

Message par Lukky »

Je dirais même plus :

http://gansta93.free.fr/IP.php :-)

JL
Quand on me gonfle trop j'éclate, sinon ça va !
Répondre