Gå til innhold

Finne IP adressen


Anbefalte innlegg

Videoannonse
Annonse
  • 2 uker senere...

Du kan ikke bruke WinSock til å finne den FAKTISKE IP addressa di. Dvs, internett-IP-en din hvis du er under non-transparent-router/NAT (ettersom Windows aldri får vite at routeren gjør om headerene (om hvor den skal) til pakkene som mottas og som skal til din PC til din lokale IP). Fex, Windows kan tror at din internett IP er 10.0.0.2, men den IP-en som andre bruker for å sende deg ting fra nettet kan værra 80.202.44.22 for eksempel.

 

En enkel måten å finne den faktiske IP addressa på, er å lage en PHP fil, som har denna koden:

 

<?php
 echo($_SERVER['REMOTE_ADDR']);
?>

 

Og laste den opp til www.blabla.com/ip.php for eksempel (eller ett annet sted du eier, og for alltid kommer til å eie). Så får du programmet ditt til å resolve IP-en til www.blablabla.com, connecte, og sende:

 

GET http://www.blabla.com/ip.php HTTP/1.0$0D0A0D0A

 

De siste hex-letterne betyr dobbel-linjeskift i Windows, og sier serveren at du er ferdig med å sende kommandoen.

 

Så mottar du noe lignende til dette:

 

HTTP/1.1 200 OK

blablablablablabla

$D$A

<ip'en din>

 

 

Dvs, du må motta inntill du treffer på $D$A. Da kommer IP'en din (kan være på forskjellig lengde, så motta inntill serveren kobler fra (PS: Sjekk for at du ikke går over bufferstørrelsen, som kan skje hvis serveren sender mer enn expecta).

 

 

Det er kanskje en fungerende måte, som funker for alle med internett tilkobling (og sålenge fila di er oppe på serveren).

Lenke til kommentar
Du kan ikke bruke WinSock til å finne den FAKTISKE IP addressa di.

 

Ikke ved å forespørre interfacet(?) "direkte", men tror nok uansett PHP bruker WinSock, akkurat som det meste som bruker sockets under Win32.

 

Ellers har man denne hvis man ikke har tilgang til en egen "ekstern" server, som bør vere grei å parse v.h.a. et lite C/C++-program:

http://checkip.dyndns.org/

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...