Trouver l'IP derrière un Routeur pour faire communiquer des winsocks

Signaler
Messages postés
176
Date d'inscription
mercredi 7 avril 2004
Statut
Membre
Dernière intervention
1 avril 2013
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
bonjour


j'ai fait un jeu pour 4 joueurs que je veux mettre en réseau internet.
j'utilise des winsocks  le poste serveur à un winsock en écoute et attends que le winsock client demande une conexion.
avant le jeu le joueur sur le poste serveur communique son adresse IP que j'obtiens avec la propriété "LocalIP" du winsock
Sur un réseau local ça fonctionne bien et sur le net ça fonctionne aussi lorsque le serveur est directement sur un modem et pas un routeur.
J'ai vu plusieur code sur le site permettant de trouver l'adresse IP
http://www.vbfrance.com/codes/DETECTION-IP-SANS-OCX-AVEC-API-WININET-VIA_5731.aspx
http://www.vbfrance.com/codes/DETECTION-ADRESSE-IP-AVEC-SANS-ROUTEUR-AVEC-PAGE_5981.aspx
http://www.vbfrance.com/codes/PROGRAMMATION-WSOCK32-VISUAL-BASIC_4283.aspx
http://www.vbfrance.com/codes/ADRESSE-IP-API-WINSOCK_5704.aspx
mais premièrement je n'ai pas de connexion derrière un routeur pour tester si ça me conviens
deuxièment j'avoue que j'ai du mal à tout saisir, toutes les fonctions utilisées
et dernièrement toutes ces sources dates

Si quelqu'un pouvait m'éclairer

14 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
il te faut configurer ton routeur.

les clients se connectent a ton routeur, en réalité, sur un port défini dans le programme client.

il faut que tu paramètre ton routeur pour qu'il fasse une redirection de port.
en gros, rediriger les communications effectuées sur le port spécifié vers ton ordinateur serveur.
Messages postés
176
Date d'inscription
mercredi 7 avril 2004
Statut
Membre
Dernière intervention
1 avril 2013
1
bonsoir
j'ai bien compris et appliquais qu'il fallait un port bien défini entre le serveur et le client.
Mais comment rediger un port specifique du routeur vers l'ordi serveur???
est il possible d'effectuer cette opération par une commande valable sur tout routeur???
car j'aimerai que mon logiciel puisse être utilisé, sans que l'utilisateur ait à se soucier de faire des bidouilles des manip pour rendre son poste serveur!!
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
je ne suis pas assez calé en matos...

peut etre, oui, je l'ignore....

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut
Oui, dans la conf de ton routeur, il faut configurer une "règle NAT"
Il te demandera le n° du port entrant (les sortants n'ont aucun verrouillage) + l'adresse IP de ta machine locale qui devra répondre sur ce port.
Le routeur joue simplement le rôle de filtre : Si une demande arrive sur le port X, le transmettre au PC dont l'IP est Y.
Tu dois même pouvoir réorienter sur un autre port local de ton PC serveur, si besoin.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
176
Date d'inscription
mercredi 7 avril 2004
Statut
Membre
Dernière intervention
1 avril 2013
1
merci jack
et ses manoeuvre ne peuvent se faire que sur le routeur avec je suppose le logiciel asapté de confiuguration du routeur et ceci étant bien évidement différent d'un routeur à l'autre, donc pas moyen de créer une procédure logiciel pour tous?
Messages postés
176
Date d'inscription
mercredi 7 avril 2004
Statut
Membre
Dernière intervention
1 avril 2013
1
resalut jack


j'ai vu ton code  "IP publique pour tout le monde" http://www.vbfrance.com//code.aspx?ID=6135
il n'y a pas d'autres moyen de trouver l'adresse IP derrière un routeur?
Car comme je le disais, cette méthode à l'inconvénient que si la page internet change il faut adapter le code!

Une petite confirmation: si j'utilise ta méthode et que j'obtiens mon adresse IP  et que j'arrive à rerouter mon routeur je pourrais communiquer cette IP à mon client qui pourra connecter son winsock client à mon winsock serveur?
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Re
Connaitre son IP public est facile grace à quelques sites ou ta propre page sur le net.
En effet, sous PHP, il est facile, côté serveur web, de connaitre l'adresse IP de la 'personne' qui se connecte. Il peut donc facilement la montrer.
Exemple : www.whatismyip.com ou encore http://whatismyipaddress.com

Donc, oui, tu la transmets au logiciel client qui pourra ainsi tenter de se connecter chez toi, moyennant la fameuse règle NAT sur ton routeur.
Pour accéder à l'interface de ton routeur, il te suffit de taper l'adresse IP de celui-ci sur ton réseau.
Classiquement, c'est 192.168.1.0 ou 1 ou 162.168.0.0 ou 1
Si ton routeur est de génération récente, il doit même être repéré parmi les connexions dans tes "favoris réseau" sous Windows.

Si ton adresse IP change fréquemment, tu avoir recourt à un petit logiciel que tu feras tourner sur ton poste serveur.
Il te suffit de t'inscrire gratuitement chez http://dyndns.com et de charger ce petit logiciel (DynDNS Updater).
Une fois que tu as créé un compte, tu crées un "Host" que tu nommeras.
Régulièrement, le logiciel ira donner signe de vie aux serveurs de dyndns.org pour qu'ils connaissent ton IP.
Pour accéder à ton poste, le logiciel client n'aura qu'à questionner monNomDeHost.dyndns.org et il sera automatiquement réorienté chez toi (à condition que le petit logiciel ait tenu à jour l'IP)
Comme ça, plus de souci d'IP

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
176
Date d'inscription
mercredi 7 avril 2004
Statut
Membre
Dernière intervention
1 avril 2013
1
bonjour
quand tu dis "ou ta propre page sur le net" qu'est ce que tu veux dire la page de démarrage d'internet? ou alors une page perso hébergé sur mon FAI?
Tu me donnes deux exemple de site pouvant fournir l'adresse IP, je suppose qu'en analysant ces pages on retrouve l'adresse IP, mais dans une page  autre qui n'est pas dédié à la recherche d'adresse IP on pourrait tout demême retrouver l'adresse IP????
 "Pour accéder à l'interface de ton routeur" là je pense qu'avec la propriété localIP du winsock je vais avoir l'adresse du routeur! mais une fois qu'on a cette adresse qui permet de communiquer avec le routeur comment faire pour appliquer une "règle NAT" ????
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Re
Sa propre page perso, oui.
Voilà le code PHP à mettre en ligne pour récupérer une page HTML facile à analyser sous VB6 avec une interrogation avec le composant INet et sa méthode OpenURL.
Place ce code dans le fichier index.php de la page www.monsiteperso.chezfournisseur.fr/monip :
<?
//
//  Permet d'afficher l'IP du client (pour le NoIP)
//
//
$HTTP_SERVER_VARS = $_SERVER;
$client_ip = ( !empty($HTTP_SERVER_VARS['REMOTE_ADDR']) ) ? $HTTP_SERVER_VARS['REMOTE_ADDR'] : ( ( !empty($HTTP_ENV_VARS['REMOTE_ADDR']) ) ? $HTTP_ENV_VARS['REMOTE_ADDR'] : $REMOTE_ADDR );
echo 'IP : '.$client_ip;
?>

Ton routeur ADSL a sa propre adresse IP, ce n'est pas la même que celle de ton PC que tu récupèrerais avec LocalIP de ton WinSock.
Pour y accéder, il te suffit d'ouvrir un exploratueur internet et de taper http://192.168.1.1 par exemple
Rappel : Regarde dans tes "favoris réseaux" dans ton explorateur de fichier : ton routeur a surement déjà été repéré par Windows (*) : suffit de double-cliquer dessus.
(*) selon les règles de sécurité de ton PC.

Il faudra faire le réglage de la règle NAT à la main.
--> Voir la doc de ton routeur

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés





<hr />

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
176
Date d'inscription
mercredi 7 avril 2004
Statut
Membre
Dernière intervention
1 avril 2013
1
bonsoir
j'essaie de créer une page perso simple sur mon FAI, j'ai donc créer une simple index.html!
je ne sais pas ou écrire ton code ? lorsque je renome ma page index.html en index.php j'ai le message suivant  de mon FAI : "PHP n'est pas activé sur cet hébergement."

petit rappel que tu n'as pas du voir : je n'ai pas de routeur, j'ai un modem donc l'adresse directe. C'est pour ça que j'ai du mal à tester et que je voudrais que mon logiciel puisse passer outre cet inconvénient.
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Ok
Si ton hébergeur ne supporte pas PHP, il faudra donc t'en passer.
Ils disent 'pas activé' : regarde si tu peux l'activer ...
Je n'ai pas d'exemple en pur html, désolé.
Il te faut donc te rabattre sur www.whatismyip.com

Ok pour le routeur, je pensais que ...
Pour un modem, il est possible que LocalIP te fournisse ton ton adresse public (pas d'expérience)
Il te faut donc passer par DynDNS.org si tu veux que tes clients n'aient qu'à taper www.tonIdentifiant.dyndns.org pour arriver sur ta machine (avec le Updater qui fonctionne sur ta machine)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
PS : Pense à déclarer ton EXE dans le parefeu.
Si tu as des questions concenrant le net et ses méandres, pense à aller faire un tour chez www.commentcamarche.net
Messages postés
176
Date d'inscription
mercredi 7 avril 2004
Statut
Membre
Dernière intervention
1 avril 2013
1
ok merci pour toutes ces infos


je crois que je vais mettre dans mon prog une recherche d'adresse IP sur plusieur site comme myadresseIp dynsorgip ou autres et je vais essayer de faire mon propre site qui renverra l'adresse ip.


merci encore
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Ok
Ma source 6883, dont tu parlais plus tôt, s'appuie sur ces sites pour renvoyer cette adresse.