2009-05-27 17 views
8

Ho un computer su una piccola rete, quindi il mio IP è 192.168.2.100.Ottenere il mio indirizzo IP

Sto cercando di ottenere il mio vero IP. Scarico il client no-ip ma sembra solo un sacco di problemi per una cosa così semplice.

Ho creato questo script php che ha ottenuto la pagina http://www.ip-adress.com/ e recuperato l'ip che mi ha fornito.

C'è un modo più semplice? O usando C, WSH o qualcosa del genere. O se c'è un modo più semplice in php per favore dimmelo.

Quando ho ricevuto l'IP lo ho caricato sul mio sito ftp in modo che possa vedere l'IP dal lavoro.

+0

Scrapare alcuni servizi esterni come quelli che hai già fatto è probabilmente abbastanza buono. Potrebbe anche essere l'unico modo. Il tuo router e/o modem su Internet conosceranno il tuo vero ip. Non so come si interfaccia a livello di programmazione con quello. – Albert

+6

http://www.whatismyip.org/ fornisce una pagina più semplice per lo scraping. – Albert

+1

Per cosa ti serve il tuo IP? Se si desidera un indirizzo statico, utilizzare DynDNS o simile. Successivamente, è possibile installare i server per le proprie esigenze (controllo remoto, HTTP/FTP/SSH ...) – schnaader

risposta

12

No, non c'è davvero un modo più semplice. Il tuo computer in realtà non conosce l'IP pubblico che è dietro - ci potrebbe essere un numero qualsiasi di livelli di NAT tra esso e l'internet pubblico. Tutto ciò che sa è che riceve messaggi a 192.168.2.100 e invia messaggi in uscita attraverso il gateway a 192.168.2.1. Non ha idea di cosa succede dopo che il pacchetto ha colpito il gateway.

2

Se si desidera ottenere l'IP finale che sembra il sito remoto durante l'elaborazione del proprio traffico, l'unico modo è di accedere effettivamente a un sito remoto. In molte situazioni il tuo computer potrebbe non sapere che l'IP viene modificato da un proxy o da un server NAT.

0

Il modo in cui lo stai facendo è probabilmente buono come qualsiasi altro.

Tu dici di avere un sito FTP pubblico - hai anche un sito web lì? La tua altra opzione è quella di far accedere la tua macchina locale a una pagina php su quel sito pubblico. Quella pagina php può verificare che sei tu e quindi utilizzare $ _SERVER ['REMOTE_ADDR'] per registrare il tuo IP esterno.

3

Non proprio quello che hai chiesto, ma si applica ancora a quello che vuoi. Ho configurato un Notificatore GMail sul mio computer di casa e vado alla pagina delle attività dell'account per vedere quale indirizzo IP sta accedendo al mio account Google. Sicuro, semplice e funziona.

+0

Bella idea :) Semplice e facile. – AntonioCS

0

Purtroppo, sei server sarà molto probabilmente sarà completamente ignaro di ciò che il proprio indirizzo esterno sembra essere (come potrebbe essere impostato più a monte tramite alcuni router/gateway)

si potrebbe avere uno sguardo a questo Link

http://ip-address.domaintools.com/myip.xml

potrebbe essere un po 'più facile da analizzare che cosa si sta facendo attualmente.

0

Non riesco a pensare a come risolvere il tuo indirizzo IP dal punto di vista di un'altra macchina. Ecco alcuni pensieri:

  • Automatizza il caricamento dell'indirizzo ip .Pagina com e analizzarlo
  • Guarda DynDNS
2

uso sempre curl http://whatismyip.org di ottenere il mio IP pubblico mentre dietro NAT.

0

Il computer non dispone di informazioni su alcun NAT o routing che si svolge tra esso e Internet eccetto il quale hop è il successivo (di solito l'ip interno del router). Semplicemente non sa a quale hop l'indirizzo interno viene tradotto in quale indirizzo pubblico.

Quindi non esiste una funzione o un metodo semplice da chiamare, in qualsiasi lingua.

Gli unici due modi sono chiedere a qualcun altro. Come ?:

  • Chiedi al tuo router NAT (perché esso stesso esegue la traduzione in un ip pubblico) recuperando e analizzando la pagina giusta sul sito di amministrazione del router. Probabilmente il più affidabile e giusto.
  • Chiedi a un host esterno come ti vede, recuperando e analizzando un servizio pubblico come http://dynamic.zoneedit.com/checkip.html. Un esempio nello script VB è here.
1

Quando ho bisogno di controllare il mio indirizzo IP pubblico, mi piace questo sito:

http://www.whatismyip.global/

Il sito mantiene una cronologia dei tuoi IP. Per me è molto utile!