Vau, ääni sirkat on korvia huumaava. Varmasti joku on taitoja saada meidät läpi tämän ongelman? ![]()
OK, joitakin vinkkejä saada sinut läpi haaste. Aloitetaan ratkaisemaan tätä IPv4-osoite ja sitten meidän täytyy harjoitella tietämme IPv6. Oletetaan osoitealue haluamme kaapata on 192.168.1.10 - 192.168.1.20. Suuri ongelma on IP eivät ole edes tavu rajan. Voisimme tehdä jotain:
src net 192.168.1.0/27
mutta se antaisi meille osoitteet 0.0-0.31, enemmän IP kuin meillä todella olisi halunnut nähdä. Tämän ongelman ratkaisemiseksi meidän täytyy käyttää joidenkin operaattoreiden ja perusalkioiden. Yksi mahdollisuus on:
(Ip [12] = 192 ja ip [13] = 168 ja ip [14] = 1 ja (ip [15]> = 10 ja ip [15] <= 20))
Alkaen sisempi eniten suluissa edellä esitetyt lukee "tavu 15 on oltava suurempi tai yhtä suuri kuin 10, mutta se myös on oltava pienempi tai yhtä suuri kuin 20. Jos tämä väite oikein, varmista, tavu 12 on yhtä kuin 192, tavu 13 on yhtä kuin 168 ja tavu 14 on 1. "
Voimmeko lyhentää tätä ilmaisua? Ehdottomasti! Ensin meidän täytyy muuntaa se Hex kuitenkin. Miksi Hex? Jos kirjoitan esimerkiksi maininnalla "ip [12:02] =" tcpdump olettaa, että tulos on 16-bittinen numero, ei kaksi 8-bittistä numeroa. Siksi voit kirjoittaa jotain "tcp [02:02] = 12345" ja saa sen toimimaan. tcpdump muuntaa kaksi tavua osaksi 16-bittinen arvo ja vastaa sitä arvoa vastaan olet määrittänyt. Muuntamalla Hex vältämme tämän ongelman. Joten:
192.168.1.10 = 0xC0A8010A
192.168.1.20 = 0xC0A80120
Nyt yksinkertaisesti kirjoittaa lauseke:
ip [12:04]> = 0xC0A8010A ja ip [12:04] <= 0xC0A80120
Tämä kaikki on sitä.
Vaikka IPv4 käyttää 4 byte osoitteet, IPv6 käyttää 16 tavua. Koska osoitteet ovat niin pitkiä, me kirjoitamme ne Hex säästää tilaa. Joten osoitteet annoin sinulle haaste olivat:
2001:0 DB8: 0000:0000:0000:0000:0000:0010
2001:0 DB8: 0000:0000:0000:0000:0000:0020
Huomaa etten aluksi kirjoittaa ne sellaisina. Löytyy muutama yleissopimusten voit säästää tilaa, kun kirjoitat IPv6-osoite. Ensinnäkin voimme katkaista johtava nollia. Joten:
2001:0 DB8: 0000:0000:0000:0000:0000:0010
tulee:
2001: DB8: 0000:0000:0000:0000:0000:10
Nyt, katso kaikki nollaa keskellä? Voimme pilkkoa niitä liikaa. Kun näet "::" se tarkoittaa täyttää tuo tila, jossa on tarpeeksi nollia laajentaa osoitteeseen takaisin ulos 16 tavua. Joten Lisää tässä temppu niin hyvin ja saamme:
2001: DB8:: 10
Paljon helpompi kirjoittaa. Toteamus on, voit vain poistaa yhden ryhmän nollat kaksinkertainen kaksoispiste temppu. Mieti seuraavaan osoitteeseen:
2001:: 1234:: 10
Meillä ei ole aavistustakaan mihin paikkaan tavu peräkkäin "1234" osoite. Se alkaa missä tahansa tavun 6 kautta tavu 12.
Työskenneltäessä IPv4, tcpdump ja Windump käyttää pöytäkirjaa Hakusanalla "ip", kuten käy ilmi edellä mainitut esimerkit. IPv6 kohteliaisuus, että on "ip6". Missä lähde osoitekentän IPv6 header? No en voi antaa teille kaikille siellä vastauksia tai sitä ei enää "haaste" ![]()
Liittyvien virkojen:


IPv6 RFC http://www.faqs.org/rfcs/rfc2460.html on lähteen osoite otsikon välillä tavua 8 ja 23 *.
* (Desimaali)