Yo estoy buscando exactamente lo mismo. Vengo del ASP y bueno... necesito esa información (incluso si me apuras el nombre del host). Pero después de dar muchas vueltas me estoy decidiendo por hacer un APPLET para introducir una aplicación en el cliente (con el permiso de este) y me capture estos datos. ¿Por qué? pues porque cuando lo hacía en ASP me capturaba la IP del proxy o si era una ip del tipo 192.168.X.X (ip de red local) me pillaba la ip por la que salía el ADSL.
Llevo dos semanas dándole vueltas a lo mismo. Si se puede hacer con PHP, bendito sea.
Saludos y espero vuestras respuesta y opiniones.