/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Detektering af ekstern ip
Fra : Trygleren [9000]


Dato : 28-11-02 09:32

Hej gruppe,

vi sidder med et projekt vi skal have rundet af, men vi mangler en enkelt
ting. Er der en metode/pakke der kan returne en maskines eksterne ip? Vi har
forsøgt med et par stykker, men har hver gang fået den interne. Det skal
måske lige nævnes at jeg har to netkort i maskinen.

--
"Sic gorgiamus allos subjectatos nunc"
Lars 'Trygleren' Winther

www.hesteskelet.dk




 
 
Martin Moller Peders~ (28-11-2002)
Kommentar
Fra : Martin Moller Peders~


Dato : 28-11-02 11:00

In <3de5d4a4$0$82084$edfadb0f@dtext01.news.tele.dk> "Trygleren [9000]" <TryglerenSLETDETHER@hesteskelet.dk> writes:

>Hej gruppe,

>vi sidder med et projekt vi skal have rundet af, men vi mangler en enkelt
>ting. Er der en metode/pakke der kan returne en maskines eksterne ip? Vi har
>forsøgt med et par stykker, men har hver gang fået den interne. Det skal
>måske lige nævnes at jeg har to netkort i maskinen.

En computer kender ikke noedvendigvis sin egen eksterne ip.
Men det er vel bare at parse outputtet fra
http://myip.com/ eller noget lign.

/Martin



Trygleren [9000] (28-11-2002)
Kommentar
Fra : Trygleren [9000]


Dato : 28-11-02 11:08

> Men det er vel bare at parse outputtet fra
> http://myip.com/ eller noget lign.

Hej Martin. Du skulle vel ikke ligge inde med et eksempel på en sådan
fremgangsmåde?

--
"Sic gorgiamus allos subjectatos nunc"
Lars 'Trygleren' Winther

www.hesteskelet.dk




Jesper Sørensen (28-11-2002)
Kommentar
Fra : Jesper Sørensen


Dato : 28-11-02 13:06

URL url = getDocumentBase();
String host = url.getHost();
Socket socket = new Socket(host, 80);
InetAddress addr = socket.getLocalAddress();
String hostAddr = addr.getHostAddress();
System.out.println("Addr: " + hostAddr);

Dette er taget fra http://www.jguru.com/faq/view.jsp?EID=15832 og gælder for
en applet. Hvis der er tale om en applikation så skal url nok sættes til
noget andet.

mvh
JS

"Trygleren [9000]" <TryglerenSLETDETHER@hesteskelet.dk> wrote in message
news:3de5eb1b$0$82091$edfadb0f@dtext01.news.tele.dk...
> > Men det er vel bare at parse outputtet fra
> > http://myip.com/ eller noget lign.
>
> Hej Martin. Du skulle vel ikke ligge inde med et eksempel på en sådan
> fremgangsmåde?
>
> --
> "Sic gorgiamus allos subjectatos nunc"
> Lars 'Trygleren' Winther
>
> www.hesteskelet.dk
>
>
>



Trygleren [9000] (28-11-2002)
Kommentar
Fra : Trygleren [9000]


Dato : 28-11-02 19:43

>Hvis der er tale om en applikation så skal url nok sættes til
> noget andet.

Det er en applikation, og den skal kende sin egen eksterne ip. Er det muligt
med dit eksempel? Min applikation ligger jo ikke på nogen server som eks. en
applet, så jeg kan jo ikke kalde tilbage til en sådan. Og vel slet ikke vha.
getDocumentBase(), som returnerer "webplaceringen".

--
"Sic gorgiamus allos subjectatos nunc"
Lars 'Trygleren' Winther

www.hesteskelet.dk




Jesper Sørensen (29-11-2002)
Kommentar
Fra : Jesper Sørensen


Dato : 29-11-02 01:29

"Trygleren [9000]" <TryglerenSLETDETHER@hesteskelet.dk> wrote in message
news:3de663d2$0$82091$edfadb0f@dtext01.news.tele.dk...
> >Hvis der er tale om en applikation så skal url nok sættes til
> > noget andet.
>
> Det er en applikation, og den skal kende sin egen eksterne ip. Er det
muligt
> med dit eksempel? Min applikation ligger jo ikke på nogen server som eks.
en
> applet, så jeg kan jo ikke kalde tilbage til en sådan. Og vel slet ikke
vha.
> getDocumentBase(), som returnerer "webplaceringen".

hvad får du hvis du kører følgende lille program:
<kode>
import java.net.*;

class test {
public static void main(String args[]){
try {
URL url = new URL("http://www.jubii.dk");
String host = url.getHost();
Socket socket = new Socket(host, 80);
InetAddress addr = socket.getLocalAddress();
String hostAddr = addr.getHostAddress();
System.out.println("Addr: " + hostAddr);
} catch (Exception e) {System.out.println(e);}
}
}
</kode>
mvh
JS



Trygleren [9000] (29-11-2002)
Kommentar
Fra : Trygleren [9000]


Dato : 29-11-02 09:02

> hvad får du hvis du kører følgende lille program:
<snip>

Jeg takker og bukker så rigtig mange gange
Men er det virkelig eneste måde? Jeg er pt. i et projekt, hvor vi laver
Trivial Pursuit distribueret,
og hele netværksdelen er baseret på at hver klient skal kunne finde sin egen
eksterne ip.
Hvad nu hvis eksempelvis jubii lukker eller lign.? Så har vi jo et problem -
er der slet ikke en pakke
eller metode der kan gøre dette?

Vi kan selvfølgelig bruge suns hjemmeside istedet - hvis den engang lukker,
er java vel også fortid =)

--
"Sic gorgiamus allos subjectatos nunc"
Lars 'Trygleren' Winther

www.hesteskelet.dk




Lasse Westh-Nielsen (29-11-2002)
Kommentar
Fra : Lasse Westh-Nielsen


Dato : 29-11-02 15:02

Er det den her du mener?

java.net.InetAddress.getLocalHost()

- Lasse


"Trygleren [9000]" <TryglerenSLETDETHER@hesteskelet.dk> wrote in message
news:3de71f22$0$82065$edfadb0f@dtext01.news.tele.dk...
> > hvad får du hvis du kører følgende lille program:
> <snip>
>
> Jeg takker og bukker så rigtig mange gange
> Men er det virkelig eneste måde? Jeg er pt. i et projekt, hvor vi laver
> Trivial Pursuit distribueret,
> og hele netværksdelen er baseret på at hver klient skal kunne finde sin
egen
> eksterne ip.
> Hvad nu hvis eksempelvis jubii lukker eller lign.? Så har vi jo et
problem -
> er der slet ikke en pakke
> eller metode der kan gøre dette?
>
> Vi kan selvfølgelig bruge suns hjemmeside istedet - hvis den engang
lukker,
> er java vel også fortid =)
>
> --
> "Sic gorgiamus allos subjectatos nunc"
> Lars 'Trygleren' Winther
>
> www.hesteskelet.dk
>
>
>



Trygleren [9000] (29-11-2002)
Kommentar
Fra : Trygleren [9000]


Dato : 29-11-02 17:35

> java.net.InetAddress.getLocalHost()

Nej. Den returnerer 192.168.0.1, dvs min interne ip. Som jeg nævnte
tidligere i tråden, så har jeg to netkort i maskinen. Jeg er ved at udvikle
et spil med min projektgruppe, og vi har behov for at spillet finder den
eksterne ip, på den maskine det kører på.


--
"Sic gorgiamus allos subjectatos nunc"
Lars 'Trygleren' Winther

www.hesteskelet.dk




Martin Moller Peders~ (29-11-2002)
Kommentar
Fra : Martin Moller Peders~


Dato : 29-11-02 19:29

In <3de79763$0$33078$edfadb0f@dtext01.news.tele.dk> "Trygleren [9000]" <TryglerenSLETDETHER@hesteskelet.dk> writes:

>> java.net.InetAddress.getLocalHost()

>Nej. Den returnerer 192.168.0.1, dvs min interne ip. Som jeg nævnte
>tidligere i tråden, så har jeg to netkort i maskinen. Jeg er ved at udvikle
>et spil med min projektgruppe, og vi har behov for at spillet finder den
>eksterne ip, på den maskine det kører på.

Der findes ikke maade at faa et eksterne ip-nummer paa automatisk, som
vil virke 100%. F.x. vil http://myip.com/ give mig et forkert nummeret
(nummeret paa vores firewall), hvis jeg gjorde det fra mit arbejde.

Men det vil virke i de fleste tilfaelde at hente siden
http://myip.com/ og parse den html-side. Det kan laves paa
faa linier i perl, saa det skulle vel ogsaa kunne laves i java.

Det eneste maade at vaere 100% sikker er at spoerge brugeren.

/Martin




Michael Banzon (29-11-2002)
Kommentar
Fra : Michael Banzon


Dato : 29-11-02 21:17

"Martin Moller Pedersen" <tusk@daimi.au.dk> skrev i en meddelelse
news:as8bki$14gs$1@news.net.uni-c.dk...
> In <3de79763$0$33078$edfadb0f@dtext01.news.tele.dk> "Trygleren [9000]"
<TryglerenSLETDETHER@hesteskelet.dk> writes:
>
> >> java.net.InetAddress.getLocalHost()
>
> >Nej. Den returnerer 192.168.0.1, dvs min interne ip. Som jeg nævnte
> >tidligere i tråden, så har jeg to netkort i maskinen. Jeg er ved at
udvikle
> >et spil med min projektgruppe, og vi har behov for at spillet finder den
> >eksterne ip, på den maskine det kører på.
>
> Der findes ikke maade at faa et eksterne ip-nummer paa automatisk, som
> vil virke 100%. F.x. vil http://myip.com/ give mig et forkert nummeret
> (nummeret paa vores firewall), hvis jeg gjorde det fra mit arbejde.
>
> Men det vil virke i de fleste tilfaelde at hente siden
> http://myip.com/ og parse den html-side. Det kan laves paa
> faa linier i perl, saa det skulle vel ogsaa kunne laves i java.
>
> Det eneste maade at vaere 100% sikker er at spoerge brugeren.
>
> /Martin
>
>
>

Men, ekstern ip??
Hvordan skal den forstås, ekstern i forhold til hvad??
Jeg kan forstå at det i dette tilfælde er i forhold til "Internettet"... men
ellers
er _ekstern_ vel et vidt begreb...
Eksempelvis er der folk der sidder bag proxies der tildeler ny ip efter
hvert request!!! Altså!!!

/ Michael



Trygleren [9000] (30-11-2002)
Kommentar
Fra : Trygleren [9000]


Dato : 30-11-02 11:30

> > Det eneste maade at vaere 100% sikker er at spoerge brugeren.

Jeps, men hvis du f.eks. spiller CS eller Diablo II på nettet, ville du så
mene det var praktisk at du skulle indtaste din ip hver gang du ville
spille?

> Men, ekstern ip??
> Hvordan skal den forstås, ekstern i forhold til hvad??

I forhold til den interne. Når jeg har to netkort, kører jeg eksempelvis med
et til internetforbindelsen og det andet fungerer som router.
Så er det henholdsvis ekstern(internet) og intern(internt for mig = lokalt =
LAN).

> Jeg kan forstå at det i dette tilfælde er i forhold til "Internettet"...
men
> ellers
> er _ekstern_ vel et vidt begreb...
> Eksempelvis er der folk der sidder bag proxies der tildeler ny ip efter
> hvert request!!! Altså!!!

Javel, men jeg har altså ikke en proxy jeg sidder bag og uddeler nye iper
efter hver request. Jeg sidder bare her med min TeleDanmark Bredbånd og
hygger mig.

--
"Sic gorgiamus allos subjectatos nunc"
Lars 'Trygleren' Winther

www.hesteskelet.dk




Martin Moller Peders~ (30-11-2002)
Kommentar
Fra : Martin Moller Peders~


Dato : 30-11-02 19:59

In <3de89359$0$47411$edfadb0f@dtext01.news.tele.dk> "Trygleren [9000]" <TryglerenSLETDETHER@hesteskelet.dk> writes:

>> > Det eneste maade at vaere 100% sikker er at spoerge brugeren.

>Jeps, men hvis du f.eks. spiller CS eller Diablo II på nettet, ville du så
>mene det var praktisk at du skulle indtaste din ip hver gang du ville
>spille?

I CS er det klienten, der kontakter en server og dermed kan
serven saa klientens eksterne ip-nummere automatisk.
Er du sikker paa at klienten har brug for at kende sin egen
eksterne ip-nummer for at kunne loese dit problem ?

/Martin

Trygleren [9000] (01-12-2002)
Kommentar
Fra : Trygleren [9000]


Dato : 01-12-02 14:43

> Er du sikker paa at klienten har brug for at kende sin egen
> eksterne ip-nummer for at kunne loese dit problem ?

Ja.

--
"Sic gorgiamus allos subjectatos nunc"
Lars 'Trygleren' Winther

www.hesteskelet.dk




Trygleren [9000] (30-11-2002)
Kommentar
Fra : Trygleren [9000]


Dato : 30-11-02 11:31

> > Det eneste maade at vaere 100% sikker er at spoerge brugeren.

Jeps, men hvis du f.eks. spiller CS eller Diablo II på nettet, ville du så
mene det var praktisk at du skulle indtaste din ip hver gang du ville
spille?

--
"Sic gorgiamus allos subjectatos nunc"
Lars 'Trygleren' Winther

www.hesteskelet.dk




Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste