Pertimbangkan daftar alamat IP yang disediakan oleh header X-Forwarded-For HTTP :
10.0.0.142, 192.168.0.10, 212.43.234.12, 54.23.66.43
Saya ingin tahu yang merupakan alamat yang dapat diakses publik pertama dalam daftar itu. Saya bisa melihat mereka dengan cukup mudah, tetapi bagaimana saya bisa tahu mana yang dapat diakses publik? Bagi saya (mata saya yang tidak terlatih) 10.0.0.142
adalah workstation, 192.168.0.10
proxy internal, dan 212.43.234.12
alamat yang dapat diakses publik diteruskan melalui proxy di 54.23.66.43
. Apakah ada cara untuk menghitung ini dalam kode?
Intuisi pertama saya adalah bahwa alamat yang diawali dengan 10.
atau 192.
tidak dapat diakses oleh publik, tetapi http://simplesniff.com mengungkapkan alamat IP rumah saya 192.117.111.61
. Apakah ada rumus untuk menentukan alamat mana yang publik dan yang dilindungi undang-undang? Perhatikan bahwa bahkan mencoba melakukan ping ke server yang dimaksud mungkin tidak membantu karena beberapa server tidak akan menanggapi ping, dan mungkin juga ada alamat di jaringan lokal saya yang juga cocok dengan alamat internal.