IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Connaître son adresse IP Internet [FAQ]


Sujet :

Entrée/Sortie Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 20
    Points : 16
    Points
    16
    Par défaut Connaître son adresse IP Internet
    Salut à tous,

    Je cherche à récupérer l'adresse IP Internet de la machine qui exécute le programme.

    Je connais le principe pour l'adresse IP locale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InetAddress.getLocalHost().getHostAddress()
    Mais comment dois-je m'y prendre afin d'obtenir l'adresse IP Internet ?

    Merci d'avance.

    Oups... Désolé pour la balise Didier.

    [Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java

  2. #2
    Nouveau membre du Club Avatar de tooney
    Inscrit en
    Avril 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 54
    Points : 29
    Points
    29
    Par défaut
    Essaie ces méthodes :

    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    socket.getInetAddress()
    Normalement, avec getInetAddress, tu peux l'utiliser dans l'affichage d'un texte, il t'affichera l'adresse IP sous la forme /192.127.215.28.

    Si tu veux récupérer le port, tu as cette méthode :

    A+

    DD

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    Salut tooney !

    Merci pour ta réponse.
    J'ai effectué des tests mais "socket.getInetAddress()" donne l'adresse internet de ce à quoi on est connecté (site, ftp).

    Or moi je voudrais simplement connaître mon adresse IP.

    En gros mon IP locale est 192.168.*.*
    et je souhaiterais savoir quelle est celle fournie par mon provider 82.*.*.*

    Si quelqu'un a une idée...

    Merci.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par Kenshiro1980
    y a-t-il une possibilité de connaître non seulement notre adresse réseau wan ainsi que le masque qui va avec ?
    Pour l'adresse réseau, tu peux utiliser ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InetAddress.getLocalHost().getHostAddress()
    Par contre au niveau du masque, je ne sais vraiment pas...

  5. #5
    Nouveau membre du Club Avatar de tooney
    Inscrit en
    Avril 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 54
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par ADIDASman
    Salut tooney !

    Merci pour ta réponse.
    J'ai effectué des tests mais "socket.getInetAddress()" donne l'adresse internet de ce à quoi on est connecté (site, ftp).

    Or moi je voudrais simplement connaître mon adresse IP.

    En gros mon IP locale est 192.168.*.*
    et je souhaiterais savoir quelle est celle fournie par mon provider 82.*.*.*

    Si quelqu'un a une idée...

    Merci.
    Salut ADIDASman,

    Je comprends que tu souhaites avoir l'IP que ton provider te fournit, mais justement avec la méthode que tu indiques un peu plus haut :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InetAddress.getLocalHost().getHostAddress()
    il te ressort cette IP... En tout cas pour moi ça marche. J'ai mis cette méthode dans un petit serveur de ma création, et il me sort l'@IP : 80.119.*.*. En essayant de connecter un client sur cet IP, le client envoie bien une résolution extérieure par mon provider, et je retombe sur mon serveur...

    A moins que j'ai mal compris ta question???

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    Je pense savoir pourquoi ça marche chez toi...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InetAddress.getLocalHost().getHostAddress()
    renvoit les valeurs que tu peux obtenir directement par "ipconfig" sous Windows.

    Or je passe par un routeur pour me connecter à Internet et en aucun cas ma carte réseau n'est configurée avec l'IP que me fournit mon provider.

    Je pense que tu dois donc avoir ton modem directement connecté à ton PC ?

  7. #7
    Nouveau membre du Club Avatar de tooney
    Inscrit en
    Avril 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 54
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par ADIDASman
    Je pense savoir pourquoi ça marche chez toi...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InetAddress.getLocalHost().getHostAddress()
    renvoit les valeurs que tu peux obtenir directement par "ipconfig" sous Windows.

    Or je passe par un routeur pour me connecter à Internet et en aucun cas ma carte réseau n'est configurée avec l'IP que me fournit mon provider.

    Je pense que tu dois donc avoir ton modem directement connecté à ton PC ?
    Exact, je n'y avais pas pensé...

    Mais du coup je ne sais pas si tu peux récupérer l'IP fournie par ton provider, car par défaut ta carte réseau balance toutes les infos au routeur (si celles-ci ne sont pas destinées au réseau local) qui se charge ensuite de les redistribuer non???
    Quand tu fais un ipconfig, tu as accès à l'adresse fournie par le provider?

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    OK.

    Merci d'avoir cherché avec moi.

    Il semblerait qu'il existe une solution "bricolée" qui consisterait à récupérer l'IP publique (celle fournie par mon provider) en passant par l'intermédiaire d'un site de type http://testip.free.fr/ip.php

    Par exemple en récupérant le code source de la page (équivalent au Get Source des navigateurs).

    Quelqu'un sait-il comment récupérer le code source d'une page web en Java ?

    Merci d'avance.

  9. #9
    Nouveau membre du Club Avatar de tooney
    Inscrit en
    Avril 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 54
    Points : 29
    Points
    29
    Par défaut
    Au fait tu as testé le lien http://testip.free.fr/ip.php???

    Il te ressort bien ton IP du routeur???

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    Re tooney !

    Oui, j'ai bien testé le lien et il affiche mon IP publique (82.*.*.*) : heureusement ! Le contraire serait pas très rassurant au niveau sécurité

    Je jette un oeil à la récupération de la source d'ici un moment et je poste le code dès que tout sera complet.

    Merci pour ton aide & @tte

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    Voilà, c'est enfin au point (même si la méthode n'est pas forcément très satisfaisante, ça marche au poil) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    // On initialise l'URL "http://lufrima.free.fr/ip.php"
     
    URL u = new URL("http://lufrima.free.fr/ip.php");
     
    // On récupère le flux de cette URL
     
    InputStream i = u.openStream();
     
    // On le met dans un buffer
     
    BufferedReader b = new BufferedReader(new InputStreamReader(i));
     
    // On lit la première ligne (la seule dans le cas de la page en question)
     
    String s = b.readLine();
     
    // La chaîne "s" contient l'adresse IP publique du PC
     
    System.out.println(s);
    Je pense qu'il est possible que ça serve à d'autres. Peut-être que l'on pourrait mettre la solution dans la FAQ...

    Merci pour ton aide en tout cas tooney !

    @+

  12. #12
    Nouveau membre du Club Avatar de tooney
    Inscrit en
    Avril 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 54
    Points : 29
    Points
    29
    Par défaut
    Vraiment super comme méthode, fallait y penser, même si c'est un peu de la bidouille...



    Content d'avoir pu t'aider!!!

    @+

    DD

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 349
    Points : 409
    Points
    409
    Par défaut
    je ne suis pas rentré ds le détail de ta demande ....
    mais , essayes de décrypter puis d'adapter mon code.

    Ce code sert à mettre à jour, l'adresse de mon serveur ( qui est à la maison ) dans un environnement wanadoo. Cette page est destinée à redirriger : http://ma_machine_wandoo.fr sur mon poste ( je n'ais pas d'IP fixe ), entre temps, j'ai trouvé + simple d'utiliser http://ma_machine.no-ip.org !


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <%@ page contentType="text/html;charset=windows-1252"%>
    <% 
      String urlServer ="http://www.showmyip.com/simple/";
      String ipAddress = "";
      try { java.net.URL getIp = new java.net.URL (urlServer);
            java.io.InputStream is = getIp.openStream();
            java.io.BufferedReader  in =   new java.io.BufferedReader (new java.io.InputStreamReader(is));
            String line = "";
           while ((line = in.readLine()) != null){  
              if (line.indexOf("(FR-France)")>=0){ipAddress =line.substring(0,line.indexOf("(FR-France)")-1).trim()+":8888/budgest";}
                }}
      catch (Exception e){}
    %>
    <title>Vous allez être redirigé sur l"application</title>
    <meta http-equiv="refresh" content="2;URL=http://<%=ipAddress%>">
     
    <body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
    <p align="center">
    <a href ="http://<%=ipAddress%>">BUDGEST</a></p>
     
    </html>

    néanmoins, il est à noter que je ne peux adresser directement la machine de ma fille qui est étudiante et qui est placée deriièrre un proxy. Lors de conversations téléphonique gérées par PicoPhone164 , elle peut m'appeler sur mon adresse wanadoo, mais l'inverse n'est pas possible, en effet, je tombe sur l'adresse de son routeur que je ne peux squizzer!

    Cordialement

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    Hello taska.

    Ton code est basé sur le même principe que ce par quoi j'ai fini à aboutir : tu récupères l'IP normalement affichée par une page Web.

    Au niveau de No-IP / DynDNS... Je voulais éviter d'avoir à les utiliser car j'aurais voulu dépendre le moins possible d'une tierce partie.

    C'est le cas vu que la page sur laquelle je récupère l'IP est hébergée chez Free mais il est bien sûr possible de faire une liste d'URL chez des providers différents afin d'être (quasiment... absolument...) sûr que l'une d'entre elles au moins fonctionnera.

    @+

  15. #15
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bonjour a tous grace a vous je commence a entrevoir une solution a mon probméme, neanmoins je suis un newb averti en java et j'aimerai savoir si en plus de recuperer l'adresse ip de son propre pc on ne pourrait pas recuperer celles des autres ordinateurs qui se trouve sur un méme reseaux local via un switch.
    merci d'avance

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    Salut !

    Pour récupérer les IP locales des autres machines se trouvant sur ton réseau, tu peux :

    - soit essayer d'interagir avec une éventuelle interface d'administration de ton switch (s'il en est pourvu : 3Com chers...)

    - soit tenter de "pinger" tous les IP du même type que celui de ta machine locale :

    1 - Récupérer l'IP de ta machine : ex : 192.168.0.x
    2 - Pinger les adresses de 192.168.0.1 à 192.168.0.254
    3 - Voir les adresses qui répondent pour les utiliser...

    @+

  17. #17
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Merci je vais essayer
    ++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Récupérer son adresse IP sur Internet
    Par Thomas Lebrun dans le forum Windows Forms
    Réponses: 11
    Dernier message: 28/07/2014, 16h19
  2. Connaître son type d'adresse IP (Fixe ou Dynamique)
    Par mehdiing dans le forum Langage
    Réponses: 3
    Dernier message: 09/04/2009, 17h35
  3. Réponses: 6
    Dernier message: 08/11/2008, 11h58
  4. Connaitre son adresse IP sur internet
    Par dafdan dans le forum C++Builder
    Réponses: 4
    Dernier message: 25/01/2007, 21h12
  5. Réponses: 2
    Dernier message: 10/04/2006, 13h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo