No estoy seguro, pero creo que esa información no se transmite a nivel de TCP.
Por ejemplo, a nivel de HTTP, sí que se hace:
Using perl Syntax Highlighting
$ip = $req->header('Client-IP') || $req->header('Remote-Addr');
if ($req->header('X-Forwarded-For')) {
$proxy = $ip;
$ip = $req->header('X-Forwarded-For');
}
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Es decir: la IP original está indicada en una de las cabeceras HTTP que recibimos.
Lo más parecido que he encontrado es un módulo que no siquiera está en CPAN: ProxyChecker, que lo que hace es comparar la IP que se conecta con una lista de IP de
proxies conocidos.
WWW::ProxyChecker permite comprobar si una lista de
proxies están vivos. Lo mismo que
proxyhunter.
Cosa distinta es que quieras montar tu propio
proxy, y de esa manera, capturar peticiones externas para ver de dónde vienen. En ese caso, tienes
unas cuantas opciones.