Page 1 sur 1

IP Publique sans passer par PHP ou autre

Publié : dim. 16/sept./2007 16:52
par Fortix
Salutation,

Est-il possible de récupérer l'adresse IP local ou publique d'un ordinateur sans passer par une page web: http://www.mon-ip.com/ ?

merci :D

Publié : dim. 16/sept./2007 16:56
par Ar-S
demarrer/executer => cmd

puis

ipconfig /all

voilou

Publié : dim. 16/sept./2007 16:57
par Fortix
pardon je voulais dir via le PureBasix, désolé :lol:

Publié : dim. 16/sept./2007 17:05
par wolfjeremy
Juste au passage, c'est Pure BasiC lol :wink:

Tu peut sans problème récupérer l'ip via PB en fesans un invite de commande "invisible" :wink:

Publié : dim. 16/sept./2007 17:14
par Fortix
sauf qu'il est impossible d'obtenir l'adresse IP publique avec cmd, cmd renseigne uniquement sur l'adresse du pare feu, le masque réseau et l'adresse rootable :lol:, et quelques IP cripter mais je suis incapable de les décripter :oops:

Publié : dim. 16/sept./2007 17:43
par venom
bonjour,

pour recuperer ton ip avec purebasic j'ai sa :wink: :

Code : Tout sélectionner

Procedure.s OpenURL(Url.s, OpenType.b)
isLoop.b=1
  INET_RELOAD.l=$80000000
  hInet.l=0: hURL.l=0: Bytes.l=0
  Buffer.s=Space(2048)
 
  hInet = InternetOpen_("PB@INET", OpenType, #Null, #Null, 0)
  hURL = InternetOpenUrl_(hInet, Url, #Null, 0, INET_RELOAD, 0)
 
  Repeat
   
    Delay(1)
    InternetReadFile_(hURL, @Buffer, Len(Buffer), @Bytes)
    If Bytes = 0
      isLoop=0
    Else
      res.s = res + Left(Buffer, Bytes)
    EndIf
  Until isLoop=0
  InternetCloseHandle_(hURL)
  InternetCloseHandle_(hInet)
  ProcedureReturn res
  EndProcedure 
  
  
URL.s = ;entree votre url
HTML.s = OpenURL(URL, 1)
debut.l = FindString(HTML,"IP : ",1) + 5
fin.l = FindString(HTML,"END",1)
ip.s = Mid(HTML,debut,(fin - debut))
SetClipboardText(ip.s) 
MessageRequester("information", "votre ip est : "+ip.s+" est elle est copier dans le presse papier", 0)
A MINCE J'AVAIS PAS VU DANS LE TITRE
pas par php :oops:



@++

Publié : dim. 16/sept./2007 17:46
par wolfjeremy
venom refile pas l'adresse de la page php de mon hebergement à tout le monde, si tout le monde l'utilise je vais me retrouver avec une bande passante exploser mdr :lol:

Publié : dim. 16/sept./2007 17:48
par venom
:oops: desol no souci :wink:


@++

Publié : dim. 16/sept./2007 20:13
par Fortix
Merci @venom :D comme tu viens de le remarquer je recherches une methode différente de la tienne c'est à dire sans passer par une page web
car cette methode est très instable :lol:

Publié : lun. 17/sept./2007 9:51
par erix14
Ce code permet de connaitre l'adresse IP de ton ordinateur, mais si tu as un routeur, il te faut obligatoirement passé pas une page Web pour connaitre l'IP de ce dernier.

Code : Tout sélectionner

wsaversion.w = $101
If WSAStartup_(wsaversion, wsa.WSADATA) = #NOERROR
	ConputerName.s = Space(128)
	GetHostName_(@ConputerName, 128)
	*host.HOSTENT = gethostbyname_(@ConputerName)
	If *host <> #Null
		While PeekL(*host\h_addr_list + AdressNumber * 4)
			IpAddress = PeekL(*host\h_addr_list + AdressNumber * 4)
			ResultIP.s = StrU(PeekB(IpAddress),0)+"."+StrU(PeekB(IpAddress+1),0)+"."+StrU(PeekB(IpAddress+2),0)+"."+StrU(PeekB(IpAddress+3),0)
			AdressNumber + 1
		Wend
	EndIf
	WSACleanup_()
EndIf
Debug ConputerName + " : " + ResultIP

Publié : lun. 17/sept./2007 11:09
par Fortix
Merci @Erix14, ton code fonctionne bien, mais il me donne l'adresse du parfeu, en principe si je désactive le parfeu il doit pouvoir me donner la bonne adresse?? :idea:

Publié : lun. 17/sept./2007 11:35
par erix14
Le parfeu n'a rien à voir, il ne fait que fileter les données. C'est le routeur (ta machin truc Box) qui déteint d'adresse IP pour aller sur le Web. Ton ordinateur lui ne connait que son adresse IP locale pour communiquer avec le routeur. Il te faut donc passer par une page PHP.

Publié : lun. 17/sept./2007 17:16
par Fortix
Merci pour ton explication @Erix14, comme tu l'as remarquer j'ais des lacunes concernant le réseau :oops:

Publié : mer. 26/sept./2007 18:01
par Fortix
J'ais pensé à un truc, par exemple envoyer une requette au serveur DNS
pour qu'il nous retourne le résultat, techniquement c'est faisable, non??