2011-12-21 9 views

risposta

3

No, non possibile. NAT significa Network Address Translation - l'indirizzo IP dei pacchetti viene riscritto sul dispositivo NAT, quindi l'indirizzo IP pubblico è l'unico, per quanto ne sa il server.

Tuttavia, è possibile utilizzare alcuni trucchi, ad esempio il controllo dell'indirizzo IP interno mediante un'applet Java. Vedere questo: Get the correct local IP address from java applet

+0

(Non sono sicuro di cosa avresti bisogno l'indirizzo IP interno, comunque, e nota che sono possibili NAT nidificati multipli - in modo che un computer possa essere visto ad esempio come 192.168.0.153, 10.53.0.1, 192.168.42.12 e 1.2.3.4, a seconda della topologia di rete) – Piskvor

+0

Ho bisogno di un IP interno per tracciare i sistemi all'interno della rete. Qui usano più NAT per la rete. –

+0

Proverà questo codice applet ... –

4

Non è possibile ottenere l'IP dietro un NAT utilizzando HTTP e php.

+0

Okay ... Grazie ..... –

2

No. PHP vede solo l'IP esterno.

'REMOTE_ADDR' L'indirizzo IP da cui l'utente sta visualizzando la pagina corrente.

2

se stanno utilizzando il proxy è possibile utilizzare

 $real_ip = $_SERVER['HTTP_X_FORWARDED_FOR'] 

in caso contrario, non è possibile

+0

Buon punto; ma nella maggior parte delle configurazioni NAT, questo non è il caso. – Piskvor

+0

$ real_ip = $ _SERVER ['HTTP_X_FORWARDED_FOR'] è usato per il rilevamento del proxy giusto? –

+0

Potrebbe per favore controllare http://en.wikipedia.org/wiki/X-Forwarded-Per – mustafa

0

Non è possibile visualizzare l'indirizzo privato di cliente e di solito non ti importa di vedere perché non puoi accedervi. Anche se ha utilizzato un proxy, a volte puoi ottenere l'indirizzo:

$_SERVER['HTTP_X_FORWARDED_FOR'] 
+0

Ok ... Ma per il rilevamento del proxy giusto? –

Problemi correlati