IP címből tartomány meghatározása

 ( procika | 2013. szeptember 11., szerda - 17:44 )

Sziasztok!

Kérdezni akartam, de mire a végét leírtam rájöttem, vagyis remélem.

Legyen adva egy IP pl. : 112.213.89.71

WHOIS alapján megtudom, hogy az ezt tartalmazó tartomány 112.213.80.0 -tól 112.213.95.255 -ig tart.

Átalakítva a kezdő és záró IP címeket IPv4 formátumra kapok két egész számot ahol a záró tagból a kezdő tagot kivonva, valamint 1-et hozzáadva kapok egy számot ( 4096 ) ebből következik, hogy ez egy /20 -as tartomány.

CIDR formátumban ez 112.213.80.0/20

Helyes ez így? Egyenlőre nincs szükségem több infóra a tartományról, csak az a fontos ez így helyes-e.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Igen, ha jól látom, ennek az utolsó 12 bitje változik, tehát /20-as a címtartomány.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Köszönöm. Biztos ennyi, kalkulátorok szerint. A logika a lényeg mert nagy mennyiségű címről kell megmondanom, hogy milyen tartományba tartozik.

"A logika a lényeg"
Akkor pontosítanék.

"WHOIS alapján megtudom, hogy az ezt tartalmazó tartomány 112.213.80.0 -tól 112.213.95.255 -ig tart. Átalakítva a kezdő és záró IP címeket IPv4 formátumra kapok két egész számot ahol a záró tagból a kezdő tagot kivonva, valamint 1-et hozzáadva kapok egy számot ( 4096 ) ebből következik, hogy..."
Ebből nem feltétlen származik jó eredmény. A whoisból származó inetnum vagy NetRange nem feltétlen fejezhető ki CIDR jelöléssel, ugyanis nem követelmény, hogy a tartomány 2 hatványa nagyságú legyen, illetve a kezdete vagy vége az IP-k számából következtetett subnetre illeszkedjen. Bár az esetek túlnyomó többségében így van, de van példa az átlapolódásokra is. (Egy példa: 195.56.201.0 - 195.56.203.255, ami 768 IP-t tartalmaz, ez felosztható egy /24-re és egy /23-ra, de egyben nem írható fel.)

Találtam már erre is példát. Jelen esetben ha ország szinten pontos már jó. Lényegében van egy rakat IP címem amihez meg kellene határozni a tartományt és jelentős ismétlődés esetén címek helyett letiltjuk az egész tartományt. Viszont legalább a whois adatokból kideríthető módon be kell lőnöm, hogy tiltható-e vagy sem. Volt olyan eset, hogy pl. x.x.100.101 oroszországi szolgáltatónak volt kiosztva az x.x.220.43 meg magyarnak. Gyorsan kitettük az x.x.0.0/16-ot ami elég zűrös így. De ennél pontosabban most nem kell. Annyi, hogy whois helyett inkább az itt http://www.nirsoft.net/countryip/index.html található listákat teszem be adatbázisba és ebből keresem vissza.

ipcalc 112.213.80.0/20
Address: 112.213.80.0 01110000.11010101.0101 0000.00000000
Netmask: 255.255.240.0 = 20 11111111.11111111.1111 0000.00000000
Wildcard: 0.0.15.255 00000000.00000000.0000 1111.11111111
=>
Network: 112.213.80.0/20 01110000.11010101.0101 0000.00000000
HostMin: 112.213.80.1 01110000.11010101.0101 0000.00000001
HostMax: 112.213.95.254 01110000.11010101.0101 1111.11111110
Broadcast: 112.213.95.255 01110000.11010101.0101 1111.11111111
Hosts/Net: 4094 Class A

ipcalc az jo, csak inkabb igy hasznalnam:

$ ipcalc -r 112.213.80.0 112.213.95.255
deaggregate 112.213.80.0 - 112.213.95.255
112.213.80.0/20

Telepíts egy ipcalc-et...
--
Debian Linux rulez... :D

Amit számoltál a whois adatokból, az jó, de ettől még a tartomány tulajdonosa oszthatja tovább ezer felé, így nem biztos, hogy ez a netmask és subnet tartozik hozzá ténylegesen, hanem kisebb.

Jaja.

/20-at nem csak ezer felé lehet osztani! :)

Gondoltam rá, hogy idézőjelbe teszem..:-)

Nekem is van több helyen /29. Mint írtam fentebb egyenlőre már ország szinten jó, gyakorlatilag az oroszokról vagy a kínaiakról van szó, esetleg ukránok. Amúgy szimplán egy IP címből ( nem tudunk sem tartományt, sem maszkot ) kideríthető mekkora egységre lett leosztva? UPC is egy /29 esetében nem fogja bejegyezni a nevünkre.

Nem is lehet. Legkisebb egység a /24, ez alatt a szolgáltatódtól kell subnet-et kérni, az pedig az ő nevén marad.

Nemigen tudod megmondani hogy hányfele van szabdalva. Reverse alapján egy kis intelligenciával általában meg lehet mondani hogy mi a helyzet, de mivel erre sincs általános szabály sok esetben nem fog működni.

"Nem is lehet."
Ha ez a UPC-s utolsó mondatra vonatkozoztt, úgy ezt meg tudnád erősíteni egy releváns RIR (célszerűen RIPE) dokumentum linkjével? Mert itt nem arról szólt procika fenti kérdése, hogy kaphat-e /29-es allocated PA-t, hanem assigned PA-ról beszéltünk. Azt pedig akár /32-re is kaphatna. Ebből a szempontból a UPC a kakukktojás.

"Legkisebb egység a /24, ez alatt a szolgáltatódtól kell subnet-et kérni, az pedig az ő nevén marad."
De a LIR az ügyfele nevére írhatja, mint assigned PA.

Nekünk volt /25-ünk, whoisban szépen bejegyezve a nevünkre. Természetesen saját routing nem volt hozzá, de persze igény se volt rá.

Természetesen. Nem egyedi eset, sőt teljesen normális. Van olyan magyarországi LIR, amelyiknél egy /16 alá ezer körüli inetnum objektum van bejegyezve. Csak elod szavaiból azt vettem ki, hogy szerinte ez az általános gyakorlat tiltott, és a UPC nem is tehetne mást, mint hogy a /29-es inetnumok felvételét megtagadja, és erre a szabályozásra próbáltam rákérdezni, illetve hivatkozást kérni rá.

Mondjuk inkabb ugy, h /24 alatt nem garantalt a routing (foleg nemzetkozi szinten).
A legprecizebb megoldas erre a whois lesz - bar ha orszag szinten eleg, akkor hagyatkozhatsz a /24-re is a fenti okbol.

Pl nezd meg az en tartomanyomat: 188.227.224.1/28 vs 188.227.224.1/21

Jesszusom, route objektumokról hallottatok már???
Sok láma... trolling off. :)

Nyilván a szükséges legkisebb tartományt szeretné kitiltani, és lehetőleg nem az egész aggregáltan hirdetett tartományt (mondjuk egy /14-et) a route objektum alapján. De ha az valóban elég lenne a kérdezőnek, akkor mindenképp jobb választás volna, mint az inetnum-netrange.

Sajnos a kerdezo nem definialta mire kell ez neki, pedig mennyivel jobban tenne ha elmondana, annak megfeleloen jobb tanacsot lehetne neki adni.

Botnet fertőzött tartományokat szeretnék kizárni. Jelen esetben az, hogy a kínai szolgáltató egészét vagy annak tovább értékesített részét teszem ki lényegtelen. Ettől függetlenül érdekel mennyire pontosan lehet legkisebb egységet meghatározni, természetesen kevesebb hibával tudnék így tiltani. Kína esetén mint írta mindegy, de Ukrajna vagy Oroszország esetében már nem annyira, ott jól jönne.

Hacsak ugy nem, ez esetben a szolgaltatasodnak megfelelo GeoIP modullal probalkoznek, lehetoseg szerint megvasarolt adatbazissal. Milyen szolgaltatast akarsz megvedeni?

Webes támadások. Maxmind GeoLite Country adatbázisát töltöttem le, betettem adatbázisba. Ebből keresem vissza majd az IP címeket, amennyiben jó lesz így akkor lehet érdemes lesz megvenni a fizetős adatbázist is.