obnova smazaneho (stale otevreneho) souboru
Miroslav Lachman
000.fbsd at quip.cz
Thu Apr 15 15:08:33 CEST 2010
Dan Lukes wrote:
> On 04/15/10 10:17, Dan Lukes:
>>> Sel jsem na to nasledovne:
>>> for blk in $blocks
>>> do
>>> blk=$(expr 4 \* $blk)
>>> dd if=/dev/mirror/gm0s1e of=/tmp/file-${blk}.blk skip=${blk} bs=512
>>> count=32
>>> dd if=/dev/mirror/gm0s1e skip=${blk} bs=512 count=32 >> /tmp/file.dump
>>> done
>
> Dole to mas trochu sofistikovanejsi (samo si to zjisti ty konstanty) a
> vyporada se to i se situaci, kdy je poslednim blokem fragment.
>
> Ale nepisu abych se chlubil ze umim psat scripty - prisel jsem pri tom
> na jedno varovani -
>
> 1. fsdb pracuje s tim co je ulozeno na disku
> 2. ne vsechno se uklada hned
>
> Pri psani toho scriptiku jsem si jim totiz vypisoval jeho sameho - a
> relativne casto se mi stavalo, ze fsdb nevypsal ZADNY blok. To proto, ze
> od posledni editace souboru jeste nebyly cache systemu zapsane na disk -
> a z pohledu dat uloznych na disku tomu souboru jeste zadny blok
> nenalezi. Takze - pred vypisem se rozhodne vyplati "syncnout" a ani to
> nemusi pomoci.
Diky. Je to vskutku trosku elegantnejsi a automatizovanejsi varianta,
nez ta moje. Nicmene jak jsem zjistil, i moje varianta byla funkcni.
Prectene direct + indirect bloky daly dohromady skutecne ten soubor
(akorat ma na konci jeste nejake null bajty navic)
Celou dobu jsem se snazil vypatrat soubor, o kterem jsem si myslel, ze
je smazany a on smazany nebyl ;o) (takze jsem si mohl usetrit spoustu
prace, ale aspon jsem se zase naucil neco noveho a treba se to bude
nekdy hodit)
Proste ten soubor byl nekde jinde, nez jsem myslel, ze by mel byt a
fstat nevypisuje celou cestu k souboru. Kdyz jsem nainstaloval lsof, tak
byla cela cesta odhalena a soubor na disku nalezen.
Diky tomu jsem tedy mohl porovnat skutecny soubor s tim, co jsem
vydoloval pomoci fsdb a dd.
Zaroven jsem otestoval i icat ze SleuthKit nad image toho oddilu (pomoci
dd) a nad tim image souborem icat funguje spolehlive. Moc mi nejde do
hlavy, proc nelze pouzit i na disk. Nicmene jsem tedy dostal stejny
soubor hned nekolika zpusoby, takze ted uz aspon vim, co kdy a jak pouzit.
Vysledkem pro me je ale dalsi neznama, kterou uz snad ani nebudu zkouset
rozlustit - je to binarka a ne shellscript, takze zase nevim, co to
vlastne presne dela. Vim jen to, ze se to snazi pripojovat na jeden
server mnoha paralelnimi spojenimi a posilat velky objem dat. Pripada mi
to, ze se "jen" nekdo snazil o flood na ten cilovy server. Ale jestli to
dela i neco dalsiho, to uz asi nezjistim.
Kdyby mel o ten soubor (plus par dalsich, co jsem tam nasel) nejaky
zvedavec zajem, mohu je poskytnout k analyze :)
Mirek
More information about the Users-l
mailing list