Geçerli bir genel IP adresi nasıl kontrol edilir?


39

X-Forwarded-For HTTP üstbilgisi tarafından sağlanan IP adreslerinin bir listesini göz önünde bulundurun :

10.0.0.142, 192.168.0.10, 212.43.234.12, 54.23.66.43

Bu listedeki halka açık ilk adresin hangisi olduğunu bilmek istiyorum. Onlara yeterince kolayca bakabilirim, ama hangisinin halka açık olduğunu nasıl söyleyebilirim? Bana 10.0.0.142bir iş istasyonu olan eğitimsiz gözüm gibi geliyor 192.168.0.10, bir iç proxy ve 212.43.234.12vekil üzerinden iletilen kamuya açık bir adres 54.23.66.43. Bunu kodda hesaplamanın bir yolu var mı?

Benim ilk sezgim şununla başlayan 10.veya 192.herkese açık olmayan adreslerdir , ancak http://simplesniff.com , ev IP adresimi açıklar 192.117.111.61. Hangi adreslerin herkese açık ve hangilerinin özel olarak rezerve edildiğini belirleyen bir formül var mı? Söz konusu sunucuyu pinglemeye çalışmanın bile, bazı sunucular ping işlemine yanıt vermediğinden yardımcı olamayabileceğini ve yerel ağımda da iç adresiyle eşleşen bir adres olabileceğini unutmayın.


3
Ayrıca bile işaret olur eğer sen bir adres yönlendirilebilir bulmak, bazı şirketler içten kamu adres alanını kötüye. İç ağlarında RFC1918 alanı yerine AFRINIC ve AT&T IPv4 alanlarını açık bir şekilde kullanan çok büyük ve iyi bilinen bir şirket adı hakkında ilk elden bilgim var ... tüm HTTP trafiğini ... ve X-Forwarded - Şirket ağlarından gelen başlık için, aslında sahip olmadıkları kamusal alanları gösterecektir.
Mike Pennington

@MikePennington bu konuda da ilk elden deneyime sahip, ancak APNIC numaraları kullanıyorlardı. Dahili bir makine (özellikle hedefini alt
ağlarında bulanlar)

@MikePennington - aslında özel ağın dışında kullanılan puplic IPv4 adreslerini kullanan özel bir ağ için (yani: internet), özel ağ içindeki bir kişi aynı aralıktaki IP adresli bir genel siteye nasıl ulaşır? Bu istek özel ağ içindeki bazı bilgisayarlara (hatta kendi bilgisayarlarına bile) yönlendirilmez mi?
Kevin Fegan

Körü körüne x-forward-for'a güvenmek kötü bir fikirdir. Herhangi bir tacizcinin, istedikleri adresi talep etmek için sahte bir x iletme-üstbilgisi ayarlaması önemsizdir.
Peter Green

Yanıtlar:


24

RFC 1918, özel IP adres aralıklarını tanımlar. Buraya bir göz atın .

Bu belgeden:

  1. Özel Adres Alanı

    İnternet Atanmış Numaralar Kurumu (IANA), özel internetler için IP adres alanının aşağıdaki üç bloğunu ayırmıştır:

    10.0.0.0 - 10.255.255.255 (10/8 öneki)

    172.16.0.0 - 172.31.255.255 (172.16 / 12 öneki)

    192.168.0.0 - 192.168.255.255 (192.168 / 16 öneki)


Teşekkür ederim. 127.0.0.0/16Bu listede (ve belki de daha fazlasının) olmaması ilginç buluyorum .
dotancohen


4
@dotancohen: Geridöngü bloğu a / 16, a / 16 değil ve bu listede değil çünkü özel adres alanı değil.
Blrfl

@ Brlfl: Teşekkürler, geridöngü bloğunun ne kadar geniş olduğundan emin değildim. Aslında özel adresleri tanımlamak için değil, genel olmayan adresleri (altkümeleri özel olan) tanımlamak istemiyorum. RFC 1918/6890 adresleri ve 127.0.0.0/8 alanı dışında, birinin görülebileceği açık olmayan diğer adresler var mı?
dotancohen

1
en.wikipedia.org/wiki/… 240.0.0.0 - 254.255.255.254 (240.0.0.0/4 ve 255.0.0.0/8)
David Houde

37

Orijinal RFC 1918 alanının yanı sıra (şu anda RFC6890'a güncellenmiştir ), 192.0.2.0 gibi kamuya açıklanmayan başka birkaç blok daha vardır. Ayrıca, birisinin halka açık internette duyurulmamış geçerli bir IPv4 alanı olması da mümkündür.

Yapılacak en basit şey telnet route-views.oregon-ix.net, giriş yapın rviewsve kendinizi arayın ... örneğin, bu AS7018 (AT&T) tarafından açıklanan "192" alandır ...

route-views>sh ip route 192.199.1.0
Routing entry for 192.199.1.0/24
  Known via "bgp 6447", distance 20, metric 0
  Tag 7018, type external
  Last update from 12.0.1.63 3w1d ago
  Routing Descriptor Blocks:
  * 12.0.1.63, from 12.0.1.63, 3w1d ago
      Route metric is 0, traffic share count is 1
      AS Hops 2
      Route tag 7018

route-views>

Öte yandan, 192.0.2.0/24 (ref RFC6890 ) bulunacak bir yer olmadığını göreceksiniz ...

route-views>sh ip route 192.0.2.0 255.255.255.0
% Subnet not in table
route-views>

169.254.0.0/16 (veya daha uzun) de ...

route-views>sh ip route 169.254.0.0 255.255.0.0 longer
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is 128.223.51.1 to network 0.0.0.0

route-views>

1
RFC 1918 , (ya da) RFC 6890 tarafından güncellenmemiştir. RFC 6890, sadece " IPv4 adres bloğunun (192.0.0.0/24) IANA'ya atanmasını tekrar eder. Ayrıca, IANA'ya IPv4 ve IPv6 Özel Amaçlı Adresini yeniden yapılandırması talimatını verir. Kayıtlar. "Özel Kullanım için IPv4 Özel Amaçlı Adres Kayıt Girişlerini güncellemez ve 192.0.0.0/24 IPv4 adres bloğu" IETF Protokolü Atamaları "olarak kategorize edilir .
saat

2
@ one.time, RFC 6890, RFC 1918'de ayrılan adres alanının üstünü içerir. Neden 192.0.0.0/24 hakkında konuştuğunuz hakkında hiçbir fikrim yok; belki de cevabımı daha yakından okumalısınız :-)
Mike Pennington

IPv4 bloğu 192.0.0.0/24, RFC 6890'ın ana konuşma noktalarındandır, bu yüzden RFC 1918 ile iyi bir ölçüm ve karşılaştırma için referans verdim. "Orijinal RFC 1918 uzayının yanı sıra (şu anda RFC6890'a güncellendi)" Görevinizi okurken merakımı arttırdı. 192.0.0.0.24'ün eklenmesi için IPv4 ve IPv6 için özel amaçlı adres kayıt defteri girişlerinin yanı sıra, RFC 6890, RFC 1918 için bir güncelleme değildir. Sadece ifadenin doğruluğu ile ilgili bir gözlem yapmak istedim. HTHs ;-)
one.time

5
@ one.time, pedantically RFC 6890, RFC 1918 için bir güncelleme değildir. İşlevsel olarak, kamuya açık bir BGP tablosunda geçerli olan IP alanını dikkate alırken, RFC 1918 yerine RFC 6890 kullanılmalıdır ...
Mike Pennington

13

Team Cymru , atanmamış / ayrılmış / özel IP adreslerini filtrelemek için kullanabileceğiniz IPv4 ve IPv6 için bir bogon referansı sunar - hem iyi bilinen önekler için basit bir liste hem de daha geniş bir listede yer alan daha geniş bir listede sunulur. RIR'ler tarafından henüz atanmamış.

Ayrıca, internete varsayılan serbest bir bölge çalıştıramazsanız, paha biçilmez bir eşleşme hakkı isteyebileceğiniz bir BGP bogon sunucusu çalıştırırlar.


2
Açıkçası 'atanmamış', filtrelemenin faydasız olduğu, filtrelemenin çözdüğünden çok daha fazla soruna neden olduğu bir şeydir. Ve gerçek bogonslar kolaydır, çünkü çok stabil / statiktirler.
ytti

2
Tamam, o zaman bunu kullanmayın, Dediğim gibi, çeşitli lezzetler sunuyorlar.
Olipro

2

Çeşitli kullanım durumları için ayrılmış bir dizi aralık vardır. IANA'nın yetkili ve kapsamlı bir listesi var . RFC1918, RFC6761'in yanı sıra 100.64 / 10 CGN bloğu gibi daha yeni rezervasyonları içerir. Eğer orada herhangi bir adres bulursanız, muhtemelen bir şekilde özel bir ağda kullanılırlar ve ilk genel adresi bulmak için diğerlerinin lehine atılmalıdırlar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.