HOSTEX SysAdminDay 2008
Meilė
Meilė

Užduotis:
 
Tą šleikščai drėgną liepos vakarą sistemų administratorius (toliau - s.a.) Servimantas tingiai maknojo per purvinus Sereikiškių takus ir profilaktiškai kankinosi ieškodamas atsakymo į jį nuolatos kamuojantį klausimą: "Kodel yra taip, kaip kad yra?".

Bet štai! Netikėtai sutapus lygiai trims tukstančiams trims šimtams šešioms aplinkybėms, jis susipažino su moteriškos giminės sistemų administratore Kernvile. Ir nepaisant to, kad nešiojo skirtingų dioptrijų akinius, abu iškart pajuto, kad turi kažką bendro.

Trumpai apsikeitę replikomis apie orą, duomenų bazių madas bei pingvinų rūšių specifiką, jie perejo prie įdomesnių temų. "Klausyk, s.a. Servimantai, o koks... koks tavo mėgstamiausias IP adresas?", - intymiai vibruojančiu sopranu išdainavo s.a. Kernvilė.

Servimantas išpūtė krūtinę ir nedelsdamas išpyškino: "Septym septyni, du šimtai kem vienas, šimts devym keturi, devyn šeši!!!". Ir, spinduliuodamas absoliučia palaima, visai nesubtiliai atsilygino: "O tavo?".

S.a. Kernvilė jam pasakė. Ir gūžtelėjo pečiais. O gūžtelėjus šyptelėjo ir dingo tamsoje. Ir daugiau s.a. Servimantas jos niekada nebemate. Ir net veidas atminty neišliko, nes tokie jau tie s.a. - IP adresus jie prisimena geriau nei odos ir kaulų konfigūracijas. Tad grįžęs namo s.a. Servimantas išskaidė vienintelį jam likusį prisiminimą - mėgstamiausią s.a. Kernvilės IP adresa - į keturias lygias dalis ir išslapstė jas giliausiose sielos kertelėse, t.y. savo serveryje.

Tai koks gi buvo mėgstamiausias s.a. Kernvilės IP adresas?

 
Sprendimas:
 
Atsakė: Dmitrijus Bugelskis (2007-07-26, 13:27, pirmasis teisingas atsakymas!!!)

1. Kernvilės mėgstamiausias IP (40 tšk.)

10.150.11.231

2. Aprašykite savo sprendimą

Okey, paduodam IP nmap'ui ir matome viena atidaryta portą - mysql.

Prisijungiam, viskas gražu.

Tyrinėjame mysql duombazę, joje randame vieną procedūrą:

select * from `proc`;

... BEGIN DECLARE part_of_my_ip CHAR; SET part_of_my_ip='xxx.xxx.11.xxx'; select * from xtest.my_ip; END ...

2. turim vieną ip dalį, deja xtest.my_ip lentelė nėra prieinama, tačiau prieinama procedūrai:

mysql> call t1();

+----------+-----------------+

| hostname | ip |

+----------+-----------------+

| my host | xxx.xxx.xxx.231 |

+----------+-----------------+

3. dabar žiūrime į test.my_ip, iš pirmo žvilgsnio - tuščia lentelė, bet įdomu tai, kaip ši lentelė buvo sukurta, o tiksliau:

mysql> show create table my_ip;

+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| Table | Create Table |

+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| my_ip | CREATE TABLE `my_ip` (

`hostname` varchar(64) DEFAULT NULL,

`ip` varchar(64) DEFAULT NULL

) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Here is part of my server ip: xxx.150.xxx.xxx' |

+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

4. pirmoji ir paskuti adreso dalis buvo sunkiausia :), tačiau paskaičius pora RTFM radau įdomią komandą, kuri ir išdavė paskutine dalį:

mysql> show master status;

+------------------+----------+---------------------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+---------------------------+------------------+

| mysql-bin.000028 | 106 | part_of_ip_10_xxx_xxx_xxx | |

+------------------+----------+---------------------------+------------------+

 
Kai kas išsprendė ir taip.... ;)

Atsakė: Simas Kvilius (2007-07-26, 22:43)

1. Kernvilės mėgstamiausias IP (40 tšk.)

10.150.11.231

2. Aprašykite savo sprendimą

Viena adreso dalis guli proceduroje, kita pasimato ja paleidus, trecia lenteles test.my_ip commentouse, o kad pirma adreso dalis bus 10. galim ishmastyti shitaip: jei Kernvilė Servimantui butu davusi iternete routinima adresa, tai jis su ja butu ja surades per ta ip, bet kadangi po to susitikimo jis su ja nebesusitiko, galim daryti ishvada, kad ip adresas ish private ip ruozo, todel adresas 10.150.11.231 :-)