Es posible que con REMOTE_ADDR te devuelva una dirección IP intermediaria. Por eso se declaran las otras variables, por si falla una, que pase a la siguiente.
La array SERVER, en PHP, contiene datos sobre el servidor y el cliente, entre los que se encuentra la dirección IP, así que no te hará falta capturar ningún paquete...