Рассмотрим список IP-адресов, предоставленных HTTP-заголовком X-Forwarded-For :
10.0.0.142, 192.168.0.10, 212.43.234.12, 54.23.66.43
Я хотел бы знать, какой из них является первым общедоступным адресом в этом списке. Я могу просматривать их достаточно легко, но как я могу определить, какие из них общедоступны? Мне кажется (мой неподготовленный глаз), что 10.0.0.142
это рабочая станция, 192.168.0.10
внутренний прокси и 212.43.234.12
общедоступный адрес, который пересылается через прокси на 54.23.66.43
. Есть ли способ рассчитать это в коде?
Моя первая интуиция заключается в том, что адреса, которые начинаются с 10.
или 192.
не являются общедоступными, но http://simplesniff.com показывает мой домашний IP-адрес 192.117.111.61
. Существует ли формула для определения того, какие адреса являются публичными, а какие зарезервированными? Обратите внимание, что даже попытка пропинговать рассматриваемый сервер может не помочь, так как некоторые серверы не отвечают на пинг, а также в моей локальной сети может быть адрес, который также соответствует внутреннему адресу.