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.
sumber
Jawaban:
RFC 1918 mendefinisikan rentang alamat IP pribadi. Silahkan lihat di sini.
Dari dokumen itu:
Ruang Alamat Pribadi
Internet Assigned Numbers Authority (IANA) telah mencadangkan tiga blok ruang alamat IP berikut untuk internet pribadi:
10.0.0.0 - 10.255.255.255 (awalan 10/8)
172.16.0.0 - 172.31.255.255 (awalan 172.16 / 12)
192.168.0.0 - 192.168.255.255 (awalan 192.168 / 16)
sumber
127.0.0.0/16
(dan mungkin lebih) tidak ada dalam daftar itu.Selain ruang RFC 1918 asli (yang sekarang diperbarui ke RFC6890 ), ada beberapa blok lain seperti 192.0.2.0 yang tidak diumumkan secara publik. Selain itu, mungkin saja seseorang memiliki ruang IPv4 yang valid yang tidak diumumkan di internet publik.
Hal paling sederhana untuk dilakukan adalah
telnet route-views.oregon-ix.net
, login sebagairviews
dan cari sendiri ... misalnya, ini adalah ruang "192" yang diumumkan oleh AS7018 (AT&T) ...Di sisi lain, Anda akan melihat bahwa 192.0.2.0/24 (ref RFC6890 ) tidak ditemukan di mana pun ...
Juga tidak 169.254.0.0/16 (atau lebih lama) ...
sumber
Team Cymru menyediakan referensi bogon untuk IPv4 dan IPv6 yang dapat Anda gunakan untuk memfilter alamat IP yang tidak ditugaskan / dicadangkan / pribadi - itu ditawarkan baik sebagai daftar sederhana untuk awalan terkenal dan juga dalam daftar yang jauh lebih besar yang mencakup ruang yang yang belum ditugaskan oleh RIR.
Mereka juga menjalankan server bogon BGP dimana Anda dapat meminta peering gratis - tidak ternilai jika Anda tidak dapat menjalankan zona bebas-standar ke internet.
sumber
Ada sejumlah rentang yang dicadangkan untuk berbagai kasus penggunaan. IANA memiliki daftar otoritatif dan komprehensif . Ini termasuk RFC1918, RFC6761 serta pemesanan yang lebih baru seperti blok 100,64 / 10 CGN. Jika Anda menemukan alamat di sana, mereka kemungkinan entah bagaimana digunakan dalam jaringan pribadi dan harus dibuang demi yang lain untuk mencari alamat publik pertama.
sumber