No sen nyt torstai niin olen tajunnut sen aikaa lähettää vastauksia viime viikonlopun haaste. ![]()
Ensinnäkin, miksi sinun pitäisi edes välitä IPv6 jos et ole aloittanut käyttöönottaminen? Tunsin paljon samalla tavalla kunnes löysin IPv6 käytetään peiteltynä viestintäkanavana sisällä asiakkaan verkkoon. Aineisto sitten työnnetty ulos Internetiin Teredo. Jos et ole perehtynyt tekniikka, Scott Hogg on joitakin erinomaisia viestiä aiheesta.
Joten vaikka et tällä hetkellä käytä IPv6, kannattaa aloittaa leikkaamalla parantaa olevasta tekniikasta sekä katsomassa sen lähiverkossa.
Joten tarkistaa, haaste oli:
Kirjoita tcpdump tai Windump suodatinta, joka tallentaa kaiken liikenteen kanssa lähde IPv6-osoite 2001: DB8:: 10 kautta 2001: DB8:: 20.
On olemassa pari varoituksista kanssa kirjallisesti tätä suodatinta. Ensimmäiset I käsitellään viimeiseen viestiin. Lopulliseksi, jonka tiesin mutta koskaan ajatellut oli ongelma kunnes aloin työskennellä IPv6 melko raskaasti, että tcpdump / Windump vain voit käyttää 1, 2 tai 4 tavun maskeja. Joten vaikka me haluamme ratkaista tämän kanssa aluksi suodatin ilmoitus "ip6 [08:14] =", emme voi, koska olemme vain 4 tavua. On itse asiassa tapa kiertää tätä, mutta tulen takaisin se.
Joten tässä on suodattimen olen työskennellyt:
(Ip6 [08:04] = 0x20010db8 ja ip6 [12:04] = 0 ja ip6 [16:4] = 0 ja (ip6 [20:4]> = 0 × 0010 ja ip6 [20:4] <= 0050 ))
Hieman pitkä, mutta se toimii. Elizabeth keksi ratkaisun, joka on paljon enemmän tyylikäs kuin omani:
src net 2001: DB8:: / 122 ja ip6 [23]> = 0 × 10 & & ip6 [23] <= 0 × 20
Joten aloittamalla libpcap muodossa, hän pystyy yhdistämään ensimmäinen kolme lausumaa yhdeksi. Ei kokoa kuningatar, mutta joka tekee hänen ratkaisu on paljon lyhyempi kuin minun. Tässä tapauksessa se on hyvä asia. ![]()
Se siitä. Laitan toiseen IPv6 tyyppinen haaste huomenna.
Liittyvien virkojen:


Chris,
chiming lopulla, mutta seuraavat yhdessä timtowtdi
Entä ...
"Src net 2001: DB8:: / 122 ja ((ip6 [23] & 0xE0 == 0) tai (ip6 [23] == 0 × 20))"
Päivittäminen vastaukseni puutteessa kofeiinia:
src net 2001: DB8:: / 122
Olemme rajauksella on 122 bittiä. Tämä määrittää, että bitit 33-122 ovat 0..
ip6 [23] & 0xE0 == 0
Tämä suodatin sanoo bittiä 121-123 on 0.
ip6 [23] == 0 × 20
Tämä suodatin sanoo bittinen 123 on 1.
Joten keskity pelkästään viimeisen tavun, tiliotteessasi sanoo "bittiä 121 ja 122 on pois päältä ja (bitti 123 on pois päältä tai bittinen 123 on käytössä)". Tämä saa meidät lähelle, mutta mitä jos bitti 124 on pois päältä? Tämä voisi ottelu suodatin mutta silti meidät ulkopuolelle määritellyt joukon osoitteita.
ok niin vastaamaan ensimmäiseen napostella viimeisen tavun. (Haluan vain sen ottelu 1 (josta saadaan 16-31) tulee
ip6 [23] & F0 == 1
tepsiä?
Suodatin:
IP [23] & F0 == 1
tarkastellaan neljää korkean järjestyksen bittiä ja ottelun * alin * bitti on asetettu. Toisin sanoen määritetyn arvon (1) mielletään desimaalin ja on ulkopuolella maskin alue. Jos suoritat suodattimen näet että tcpdump antaa sinulle syntaksivirhe.
Katsotaan tämä viimeinen tavu binary nähdä, jos se tekee ongelmasta yhtään helpommaksi.
Yritämme vastaa yhtään binary arvo:
00010000-00100000
"Src net" osaa suodatin huolehtii varmistaa kaksi korkeaa tilaa bittiä (64 & 128) on asetettu 0, joten meidän ei tarvitse huolehtia niistä.
Loput meidän suodattimia tarvitsee tarkistaa:
1) Onko bittinen 32 käytössä, kaikki alemmat jotta bitit pois päältä (tarkalleen 00100000).
tai ...
2) Onko bittinen 32 sammutetaan, vähän 16 päällä, eikä ota huomioon alemman bittiä (arvoalue on 00010000-00011111).
Joten helpoin tapa suodattaa tätä on sisällyttää yli ja alle perusalkioiden. Mitä haluamme sanoa on:
00010000 <= arvo <= 00100000
Nyt, muuntaa tämä takaisin Hex ja saat:
0x10 <= arvo <= 0x20
Vuonna tcpdump puhua, kirjoittaa tämä ilmaus kuin:
ip6 [23]> = 0 × 10 & & ip6 [23] <= 0 × 20
tai:
ip6 [23]> = 0 × 10 ja ip6 [23] <= 0 × 20
Tee vähän enemmän järkeä?
Järkevää Haluan vain olla vaikeaa
Yritän nähdä onko tapa tämän käyttämällä hieman peittää. Tajusin edellisessä vastauksessani yritti ottelun napostella ei tavu joten tässä menee vielä viimeisen yrittää
src net 2001: DB8:: / 122 ja ((ip6 [23] & 0xF0 = 0 × 10) tai (ip6 [23] = 0 × 20)) "
Niin
ip6 [23] & 0xF0 = 0 × 10 (pitäisi ottelu desimaalin 16-31) ja sitten ip6 [23] = 0 × 20 pitäisi vastata 32. Vai onko aika heittää pyyhkeen kehään?