восстановление файл
recovery files
Мы — долго запрягаем, быстро ездим, восстановление файл сильно тормозим.
Главная
|
Форум
|
Статьи
|
Документация
|
Поиск по сайту
|
RSS
|
Версия для печати
FreeBSD
настройка
подсчёт трафика
программы
почтовые системы
Шелезяки
Мелочи
Файловая система
mount_nullfs
badsect
clri
bsdlabel
dump (rdump)
dumpfs
ffsinfo
fsirand
mount_nfs
mount_smbfs
swapon
tunefs
umount
gmirror
recovery files
growfs
WWW
Security
system
Games Servers
X11
Programming
Очумелые Ручки
OpenBSD
www.lissyara.su
—> статьи
—> FreeBSD
—> Файловая система
—> recovery files
Восстановление файлов на FreeBSD.
Автор: dikens3.
В интернете практически нет информации по восстановлению файлов на FreeBSD.
Восстановить файлы на UFS2 восстановление файл других файловых системах можно(как повезёт вобщем), чем мы восстановление файл займёмся.
Общий принцип восстановления сводится к правилам:
1. Консервация системы или создание образа диска.
2. Анализ происшествия.
3. Восстановление.
Итак задача: Есть шесть pdf файлов разного размера, записать, удалить восстановление файл восстановить их.
Что такое сигнатура?
Вики: Сигнатура файла — набор байтов, служащий «визитной карточкой» некоего типа файла.
Запишем несколько файлов восстановление файл посмотрим, что нам скажет встроенная утилита file, которая содержит базу сигнатур.
file1.pdf
file2.exe
file3.doc
file4.djvu
Смотрим вывод, что же это за файлы:
# ls file[1-4].* | xargs file
file1.pdf: PDF document, version 1.3
file2.exe: MS-DOS executable (EXE), OS/2 or MS Windows
file3.doc: Microsoft Office Document
file4.djvu: DjVu Image file
Уберём расширения у наших файлов восстановление файл переименуем в 1,2,3,4:
# ls [1-4] | xargs file
1: PDF document, version 1.3
2: MS-DOS executable (EXE), OS/2 or MS Windows
3: Microsoft Office Document
4: DjVu Image file
Как видим утилита file анализирует данные по базе сигнатур, восстановление файл имя файла с расширением не имеют никакого значения для её работы.
Существует On-Line определение расширения файла по базе сигнатур:
http://mark0.net/onlinetrid.aspx
Foremost – программа для анализа файловой системы или образа диска на основании содержимого конфигурационного файла. В конфигурационном файле создаются записи для каждой сигнатуры.
Строка из конфигурационного файла /usr/local/etc/foremost.conf.sample выглядит так:
# pdf y 5000000 %PDF- %EOF
Означает это следующее:
pdf - расширение файла.
y - будет ли учитываться регистр символов.
5000000 - максимальный размер в байтах.
%PDF- - заголовок. (header)
%EOF - завершитель. (footer) Не обязателен.
Т.е. файлы с расширением PDF начинаются на %PDF- восстановление файл заканчиваются на %EOF
Заголовок можно посмотреть так:
# head -c 5 1.pdf
%PDF-
Или так:
# head -c5 1.pdf | hexdump
0000000 5025 4644 002d
Согласно моей архитектуре(IA32) придётся поменять местами байты восстановление файл получим 25 50 44 46 2d (в ASCII это %PDF-) Таким образом запись в конфигурационном файле можно сделать так:
pdf y 5000000 \x25\x50\x44\x46\x2d %EOF
А если совсем в шестнадцатеричном виде, тогда:
pdf y 5000000 \x25\x50\x44\x46\x2d \x25\x45\x4f\x46\x0d
Т.к. существуют символы, которые нельзя ввести с клавиатуры, приходится работать с шестнадцатеричными данными. Можно сделать запись восстановление файл в десятичном виде, но так гораздо удобнее.
В итоге Foremost будет извлекать данные, находящиеся между заголовком восстановление файл завершителем.
Пробуем воспользоваться полученными знаниями.
Я буду использовать жёсткий диск на 2Гб. (ad1: 2014MB at ata0-slave UDMA33)
Очистим диск:
# dd if=/dev/zero of=/dev/ad0
dd: /dev/ad0: Operation not permitted
Упс, ошибся, но порадовало.
# dd if=/dev/zero of=/dev/ad1
# fdisk -BI /dev/ad1
# newfs -O2 -U /dev/ad1
# mount /dev/ad1 /mnt/target
Смотрим, смотировался ли диск:
# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad1 1.9G 4.0K 1.8G 0% /mnt/target
Я записал шесть PDF файлов c максимальным размером 42Мб:
-rw-r--r-- 1 dik dik 122080 25 июл 2006 1.pdf
-rw-r--r-- 1 dik dik 4795073 30 авг 2006 2.pdf
-rw-r--r-- 1 dik dik 933425 30 авг 2006 3.pdf
-rw-r--r-- 1 dik dik 42381941 5 сен 2006 4.pdf
-rw-r--r-- 1 dik dik 2611287 17 сен 2006 5.pdf
-rw-r--r-- 1 dik dik 2328268 18 сен 2006 6.pdf
Удаляем эти файлы.
Запускаем foremost со следующими ключами:
-t – расширения файлов для восстановления, их можно написать через запятую. Из man foremost приведу все расширения, для которых конфигурационный файл не нужен, но восстановление файл максимальный размер файла для восстановления тоже не известен:
jpg, gif, png, bmp, avi, exe, mpg, wav, riff, wmv, mov, pdf, ole, doc, zip, rar, htm, cpp восстановление файл all, включающий все перечисленные типы.
Внимание: Если нужно использовать конфигурационный файл, ключ –t указывать нельзя.
-o – директория, куда будут записываться найденные файлы.
-v – отображается прогресс на экране восстановление файл информация представленная ниже.
Foremost может работать как с образами дисков, так восстановление файл напрямую с жёстким диском, как в моём случае.
Пробуем:
# foremost -v -t pdf -o /mnt/test2/recovery /dev/ad1
foremost: /usr/local/etc/foremost.conf: No such file or directory
Foremost version 1.4 by Jesse Kornblum, Kris Kendall, and Nick Mikus
Audit File
Foremost started at Sat Oct 13 22:32:45 2007
Invocation: foremost -v -t pdf -o /mnt/test2/recovery /dev/ad1
Output directory: /mnt/test2/recovery
Configuration file: /usr/local/etc/foremost.conf
Processing: /dev/ad1
|------------------------------------------------------------------
File: /dev/ad1
Start: Sat Oct 13 22:32:45 2007
Length: Unknown
Num Name (bs=512) Size File Offset Comment
0: 12096.pdf 119 KB 6193152 (PDF is Linearized)
1: 95328.pdf 2 MB 48807936 (PDF is Linearized)
*********************|
Finish: Sat Oct 13 22:43:58 2007
2 FILES EXTRACTED
pdf:= 2
------------------------------------------------------------------
Foremost finished at Sat Oct 13 22:43:58 2007
Обратите внимание на комментарий:
(PDF is Linearized) – Такие данные, как правило, нормальные файлы.
Вот собственно получилось только 2-а файла:
# ls -ll recovery
total 4
-rw-r--r-- 1 root wheel 774 13 окт 22:43 audit.txt
drwxr-xr-- 2 root wheel 512 13 окт 22:33 pdf
# ls -ll recovery/pdf
total 2408
-rw-r--r-- 1 root wheel 122080 13 окт 22:33 00012096.pdf
-rw-r--r-- 1 root wheel 2313048 13 окт 22:33 00095328.pdf
В audit.xt записывается отчёт о проделанной работе, он такой же как при использовании ключа –v.
Foremost восстановил файлы 1.pdf восстановление файл 6.pdf, правда у последнего размер отличается, но внутри он нормальный.
Мной были использованы разные настройки для foremost, такие как:
-d для Unix систем, лучше указывать.
-b 16384 - размер блока в моей системе, лучше указывать.
Блок – это группа смежных фрагментов. Фрагмент – это группа смежных секторов. (Справедливо для UFS)
Размер блока можно узнать установив TSK (/usr/ports/sysutils/sleuthkit)
# fsstat -f ufs /dev/ad1 | grep "Block Size" | awk '{print $3}'
16384
Я стал использовать конфигурационный файл с описанием PDF, вместо опции -t, нужные 2 файла найдены небыли, по неизвестной причине.
Убрав завершитель, был найден файл под номеров 6 восстановление файл часть файла под номером 5.
Поиск по всем расширениям результата не принёс, хотя были найдены jpg из одного PDF файла. Их было так много, что можно было составить PDF из этих файлов.
Восстановить все 6 файлов мне не удалось, появлялись ещё мелкие файлы, якобы pdf, но открыть их потом не представлялось возможным.
Воспользовавшись photorec, входящей в состав /usr/ports/sysutils/testdisk были найдены 2 файла PDF восстановление файл 27 файлов txt. PDF файлами оказались всё те же 1.pdf восстановление файл 6.pdf.
Я предположил, что можно попробовать восстановить файлы исходя из информации, сохранившейся в метаданных. Метаданные - это данные, описывающие файлы или каталоги.
Устанавливаем TSK (/usr/ports/sysutils/sleuthkit)
Можно посмотреть список удалённых файлов/директорий:
# fls -f ufs /dev/ad1
d/- * 3: .snap
r/- * 4: 1.pdf
r/- * 5: 2.pdf
r/- * 6: 3.pdf
r/- * 7: 4.pdf
r/- * 8: 5.pdf
r/- * 9: 6.pdf
Как видно из вывода, записи обо всех файлах есть. Звёздочкой (*) отмечены удалённые файлы/директории.
Немного ознакомившись с блоками, фрагментами восстановление файл как происходит сохранение или удаление файла, дальнейшее восстановление не представляется возможным.(У меня нет времени собирать из фрагментов нужные мне файлы. Это как пазл (puzzle) собирать.)
После удаления файла в метаданных затираются следующие поля:
- Указатели на блоки размещения, в которых находилcя файл.
- Данные о размере файла.
Можно вывести сохранившиеся метаданные, но пользы от них не будет.(Вместо нужных данных записаны нули)
# ils -f ufs /dev/ad1
class|host|device|start_time
ils|server.dom.ru.local||1192354043
st_ino|st_alloc|st_uid|st_gid|st_mtime|st_atime|st_ctime
3|f|0|5|1192306041|1192306029|1192306041|0|0|0|0|0
4|f|1001|1001|1192306029|1192299975|1192306029|0|0|0|0|0
5|f|1001|1001|1192306029|1192299976|1192306029|0|0|0|0|0
6|f|1001|1001|1192306029|1192299976|1192306029|0|0|0|0|0
7|f|1001|1001|1192306029|1192299983|1192306029|0|0|0|0|0
8|f|1001|1001|1192306029|1192299983|1192306029|0|0|0|0|0
9|f|1001|1001|1192306029|1192299984|1192306029|0|0|0|0|0
5,6,7 столбцы содержат информацию о времени.
st_mtime
UNIX time (seconds) of last file modification.
st_atime
UNIX time (seconds) of last file access.
st_ctime
UNIX time (seconds) of last inode status change.
Есть ещё /usr/ports/sysutils/ffs2recov, но восстановление файл она маловероятно, что поможет.
P.S. Хранение данных о файле очень важно.
Представьте себе лист в клетку.
А теперь закрасим все клетки на этом листе разными цветами. Т.е. первую клетку красным, вторую зелёным, третью синим цветом восстановление файл т.д.
В итоге получим красивую картинку.
Так вот всё, что закрашено красным – будет файл 1.pdf.
Что закрашено синим - будет файл 2.pdf. И т.д.
Теперь попробуйте собрать из красных клеток файл? Количество (размер) же известно?
Маловероятно, но можно, т.к. неизвестен только порядок соединения красных клеток.
В UFS всё ещё сложнее, представьте теперь, что лист стал чёрно-белым. :-)
Вот восстановление файл всё.
Полезные ссылки по теме:
http://mark0.net/soft-trid-e.html
http://rlab.ru/doc/linuxharddatarecovery.html
http://weblog.infoworld.com/venezia/archives/2006_01.html
Используемая литература:
Криминалистический анализ файловых систем. Брайан Кэрриэ.
размещено: 2007-10-14,
последнее обновление: 2007-11-10,
автор: dikens3
оценить статью:
↓
↑
Комментарии пользователей [3 шт.]
kmb, 2007-10-14 в 19:17:09
Понравилось, думаю в жизни всем пригодиться :) Спасибо.
Константин, 2007-10-16 в 14:42:53
есть коммент такой - чтобы узнать размер блока совсем не обязательно устанавливать sleuthkit - достаточно сделать, например:
bsdlabel имя_слайса
bsdlabel /dev/ad0s1
и там в табличке отразится
[fsize bsize bps/cpg]
2048 16384 28544
dikens3, 2007-10-16 в 15:30:05
Спасибо, только не всегда работает:
server# fsstat -f ufs /dev/amrd0s1a | grep "Block Size" | awk '{print $3}'
16384
server# bsdlabel /dev/amrd0s1
# /dev/amrd0s1:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 524288 0 4.2BSD 0 0 0
b: 2009728 524288 swap
c: 41929587 0 unused 0 0 # "raw" part, don't edit
d: 8388608 2534016 4.2BSD 0 0 0
e: 524288 10922624 4.2BSD 0 0 0
f: 30482675 11446912 4.2BSD 0 0 0
Оставьте свой комментарий:
Ваше имя: *
e-mail:
жирный
наклонный
подчёркнутый
ссылка
Default
Dark Red
Red
Orange
Brown
Yellow
Green
Olive
Cyan
Blue
Dark Blue
Indigo
Violet
White
Black
цвет
Товарищщи! Это поля для ввода комментариев к статье, восстановление файл не для вопросов. Сюда пишите найденные баги, или какие-то фичи :)
Для вопросов есть форум!
2008-04-24, Mr.Y
Lan over Bluetooth
Статья описывает как используя Bluetooth, объединить две FreeBSD машины в сеть.
2008-04-19, lissyara
WiFi WPA
Подключение FreeBSD к беспроводной WiFi сети с использованием шифрования WPA.
2008-04-16, nikll
qmail-ldap + AD
Статья о том как я прикрутил qmail к АД win2003 (с упровлением почтовыми аккаунтами через консоль mmc из под винды)
2008-04-14, SHPAk
Приглашение csh/tcsh
Приглашение csh/tcsh не всегда удобно. Здесь описано как помянять оное...
2008-04-07, inspirra
deltup, xdelta, bdelta
Некоторые тонкости создания бинарных патчей. И использование "The dynamic deltup server network" для экономии на обновлениях исходников программ устанавливаемых из портов.
2008-04-02, fr33man
exim + cyrus-imapd
Руководство по настройке почтовой системы на базе OpenBSD-4.2: exim + cyrus-imapd + mysql
2008-03-30, Morty
LiveCD (+restore)
LiveCD, который развернет мне на жёсткий диск готовую настроенную систему
2008-03-25, lissyara
BlueTooth mouse
Краткое повествование о том, как привернуть BlueTooth мышь к FreeBSD. Краткое - потому как делается это с полпинка...
2008-03-21, moonug
ProFTPD+iconv
Порт позволяющий включить перекодировку имён файлов в proftpd. Раньше для этого был патч, восстановление файл щас всё поломали =))
2008-03-11, helloworld
vsftpd + mysql
Настройка фтп сервера vsftpd с пользователями из mysql
2008-03-06, Raven2000
Call of Duty 4
Call of Duty 4: Modern Warfare — компьютерная игра, продолжение серии COD,
разработанное студией Infinity Ward. Это первая игра в серии, действие которой
происходит не во время мировой войны.
2008-03-04, schizoid
NeTAMS 2
Netams, статистика, биллинг, огрнаичение восстановление файл подсчет трафика
2008-03-04, schizoid
NeTAMS
Программа для учета восстановление файл управления сетевым трафиком
2008-03-01, Le1
EA Battlefield 2 server
Установка игрового сервера EA Battlefield 2 под ОС FreeBSD
2008-02-25, dikens3
Dynamic DNS
Свой сервер с динамическим IP-Адресом.
2008-02-23, fr33man
squid ntlm
Настройка Squid с аутентификацией ntlm, под OpenBSD. Решение проблем сборки с поддержкой АД.
2008-02-18, lissyara
BlueTooth
Встала задача залить на Нокию гиг музыки через BlueTooth. ОС - правильный - FreeBSD, вот про то как это сделать из под неё - восстановление файл рассказ. Также немного про нынешнее состояние дел с голубыми зубами =)
2008-02-17, Raven2000
NFS & Win2k3
При работе с UNIX системами на предприятиях часто приходится организовывать совместную работу с Windows. Необходимо обеспечить взаимодействие UNIX<>WIN бывает, что доступ по FTP или др не устраивает.
2008-02-14, Morty
Lightsquid
Снятие статистики с OOPS, SQUID с помощью lightsquid - нечто на подобии SARGa, восстановление файл выполняет туже задачу, подбивает статистику пользования прокси сервером
2008-02-14, Morty
OOPS
Краткое описание установки восстановление файл настройки прозрачного прокси-сервера OOPS
2008-02-12, fr33man
Apache
Настройка web-сервера apache, на базе OpenBSD.
Нужен был web сервер. Стандартно нужно было ставить apache. Но я помнил, когда раньше работал с OpenBSD, что апач поставляется вместе с системой. Так
2008-02-11, Raven2000
Установка OpenBSD
OpenBSD — свободная многоплатформенная операционная система, основанная на
4.4BSD — BSD-реализации UNIX системы. Основным отличием OpenBSD от других свободных
операционных систем, базирующихся на
2008-01-31, serge
ApacheStats
Сбор статистики с веб-сервера Apache в Cacti с использованием модулей mod_status восстановление файл mod_info. Отображается число хитов в секунду, загрузка чилдренов восстановление файл прочая полезная инфа.
подписка
вверх
Статистика сайта
Сейчас на сайте находится: 9 чел.
За последние 30 мин было: 29 человек
За сегодня было1350 показов,379 уникальных IP
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), восстановление файл не оставляя линк на оригинал восстановление файл автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, восстановление файл оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, восстановление файл не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам восстановление файл уважение.
© lissyara 2006-10-24 08:47 MSK
Реклама:
корпоративный отдых в подмосковьеКупить грузовые тележки pfaff silberblau
авто
Время генерации страницы 0.066 секунд
Из них PHP: 49%; SQL: 51%; Число SQL-запросов: 77 шт.
У Вас отключено GZIP-сжатие в браузере. Размер страницы 77748 разделы
применение доломита
перевод итальянский
thuraya
карл гиря
венеролог
грунт стяжка
лак orly
холодильник оптом
заказать обед
оркестр креольский танго
электрокотел
шелкография
сделать пазл
конвейер шнековый
эфирный антенна funke
сканер штрихкодов
применение доломита
развальцовка подогреватель
виные холодильник
нард короткий
подбор контрацепция
аппарат фигурный нарезка тест
применение доломита
эрозия шейка матка
telecomfm gsmphone
миканитовые втулка
очки защитный
обед
архыз
стопный пластырь
хлеборезка ахм
пломбирование
холодильник дешево
наркомания
втулка переходный
dunlup 205 55 r16
компания сент-лючии
лакокраска
эфирный антенна funke
купить актуатор
кайт пилотажный
аденома предстательный железа
очки ночной видение
рак кишка
перевод итальянский
зал аэробика
измеритель сопротивление
гайковерт электрический
гайковерт электрический
охота пиранья
лечение щитовидный железа
telecomfm gsmphone
восстановление файл