Niedawno czytałem dużo o fałszywej karcie MicroSD i napędach USB, które twierdzą, że mają dużo miejsca (nawet jeśli poprosisz komputer), a fizycznie oferują znacznie mniej. Niedawno kupiłem dysk SanDisk USB (twierdzono 128 GB) i chcę przetestować jego rozmiar. Nie jest kupowany przez eBay ani coś takiego, ale naprawdę chcę przetestować rzeczywisty rozmiar przed użyciem go produktywnie.
Mógłbym po prostu skopiować na nim rzeczy, skopiować z powrotem i sprawdzić, czy pliki są w porządku. Mógłbym również zautomatyzować to za pomocą Hashes i innych rzeczy. Mam jednak nadzieję, że istnieje bardziej dokładne rozwiązanie. Przeczytałem, że w Windowsie H2testw robi to samo. Czy jest łatwy sposób przetestować to na Ubuntu / Linux? Może specjalistyczne, dobrze działające narzędzie?
Aktualizacja: Żeby było jasne, chodzi o sprawdzenie, czy rozmiar, o którym system Linux mówi kontrolerowi, jest prawidłowy ( aby żadne dane nie zostały utracone ). To nie tak, że chcę sprawdzić, czy otrzymam 128 GB zamiast 127,3 GB. Chcę przetestować, czy wszystkie dane, które piszę, będą ponownie czytelne. Niestety mogę znaleźć tylko kilka informacji na ten temat na angielskich stronach technicznych. Istnieją jednak dobre źródła niemieckie. Właściwie szukam takiej aplikacji, ale dla Ubuntu / Linux: https://www.raymond.cc/blog/test-and-detect-fake-or-counterfeit-usb-flash-drives-bought-from -ebay-with-h2testw /
Aktualizacja 2: Próbowałem zebrać niektóre źródła w języku angielskim. Nie przeczytałem ich wszystkich ze względu na brak czasu.
- https://www.ebay.com/gds/All-About-Fake-Flash-Drives-2013-/10000000177553258/g.html
- https://en.wikipedia.org/wiki/USB_flash_drive#Counterfeit_products
- https://www.heise.de/newsticker/meldung/Verdaechtige-USB-Sticks-mit-2-Terabyte-bei-Amazon-Faelschungen-entlarven-Datenverluste-vermeiden-3915202.html
- http://www.pcgameshardware.de/USB-Stick-Hardware-255579/News/falsche-Speicherkapazitaet-bei-Amazon-1245682/
Aktualizacja 3: Objaśnienia
Z powodu dziwnych krytyków poniżej, niektóre wyjaśnienia.
Na czym polega problem i dlaczego sam dd go nie rozwiązuje?
To jest reakcja na
„Wyraźnie zrozum, na czym polega problem, który próbujesz rozwiązać, i jaka jest definicja„ fałszywego dysku ”.”
Wydaje się, że niektórzy ludzie nie rozumieją problemu. Staram się więc wyjaśnić to tak krótko, jak tylko mogę szczegółowo, choć myślę, że to w dużej mierze do mojego pytania.
Pojemność urządzeń USB udostępnianych przez system operacyjny lub narzędzia unix może być błędna. Jest to fatalne, ponieważ twój system operacyjny określa, do ilu danych możesz je wysłać. Wyślij więcej danych, niż jest w stanie pomieścić, spowoduje to utratę danych. To jest problem. Dlaczego tak się dzieje?
Nie musisz dobrze znać protokołu USB, aby zrozumieć problem. Interfejsy szeregowe mają wspólną właściwość, że urządzenie klienckie (dysk USB) będzie musiało określić swoją pojemność za pośrednictwem tego interfejsu szeregowego. Oznacza to, że urządzenie klienckie potrzebuje własnego kontrolera z pewną wiedzą na temat celu urządzenia, aw tym przypadku jego pojemności. Decyduje również, co należy zrobić, gdy otrzyma polecenie zapisania czegoś. Jeśli kontroler jest zaprogramowany w ten sposób, może po prostu zignorować polecenie lub zastąpić coś danymi.
Co to znaczy? Cokolwiek mówią narzędzia unix na temat pojemności dysku: to, o co pytają dyski, nic więcej. Do tego właśnie została opracowana metoda h2testw: Testuje rzeczywisty rozmiar metodą opisaną później i porównuje go z tym, co mówi dysk. Jeśli to nie to samo, możesz utracić dane, ponieważ wszystkie typowe operacje przechowywania danych polegają na informacjach systemu operacyjnego, o które prosi kontroler. Dlaczego po prostu pytasz? Testowanie wymaga czasu i zastępuje wszystkie dane na dysku. To naturalne, że system operacyjny musi polegać na tych informacjach.
Aby sprawdzić rzeczywistą pojemność, taką jak h2testw, rzeczywiście możesz użyć dd
do zapisywania danych na dysku, przeczytaj je ponownie i sprawdź, czy to to samo, co napisałeś. Całkowicie legalne. Charakter sprzętu i napędu czyni go bardziej skomplikowanym. Weźmy na przykład pamięć podręczną zapisu. Musisz upewnić się, że nie czytasz z pamięci podręcznej. To tylko jeden przykład, dlaczego nie jest to tak proste, jak się wydaje. Pomyśl też, że samo pisanie zer oznacza niską entropię informacji, którą można odtworzyć podczas czytania. Po prostu nie jest to takie łatwe w szczegółach. Oczywiście nadal możesz to zrobić ręcznie.
Ale dlaczego, kiedy można zautomatyzować? Dlaczego do pracy f3, jak zaproponowano w mojej odpowiedzi poniżej, implementuje mnóstwo myśli wielu autorów (weź pod uwagę, że jest to rodzaj rozszerzonego testu h2testw), a także implementuje kilka metod z różnymi kompromisami. Deweloper wymyślił sztuczki różnych fałszywych dysków (zwanych również podrobionymi dyskami), które mieli pod ręką . Tak więc, chociaż rozumiem teorię i problem (pozornie, ponieważ problemy są dobrze wyjaśnione w niemieckich mediach technicznych, ale nie w mediach anglojęzycznych), nie udaję, że rozumiem wszystko, dlatego wspomniałem o tym powyżej. To tylko teoria, którą rozumiem i jestem raczej facetem od oprogramowania. Ale jako student informatyki rozumiem to wystarczająco dobrze, aby dostrzec problem.
„Spróbuj zrozumieć podstawowe narzędzia uniksowe”
Właściwie już na to odpowiedziałem, ale dla jasności: narzędzia uniksowe po prostu używają protokołu USB (oczywiście tylko dla urządzeń USB) do zbierania informacji. Nie ma sensu robić więcej niż to.
Czy pomaga kupować tylko od zaufanych dostawców?
tl; dr: Nie.
„Jeśli chodzi o kupowanie towarów, tak jak w przypadku wszelkich form bezpieczeństwa, rozważ znalezienie zaufanego sprzedawcy i kupuj dyski tylko od nich”.
Bezpieczeństwo (i bezpieczeństwo) NIE polega na zaufaniu! Chodzi o weryfikację i walidację! Przepraszam, ale jest to tak źle na wiele sposobów.
Załóżmy, że kupujesz za pośrednictwem zaufanego sprzedawcy. Kilka pytań:
Czy dostawca przetestował sprzęt pod kątem braku utraty danych? Czy rozpoznaje, kiedy kupuje fałszywe dyski i je sprzedaje? Niekoniecznie.
Czy to możliwe, że kupuje rzeczy, które nie są fałszywe? Całkowicie spójrz na najnowsze podróbki Ryzen: https://www.pcgamer.com/beware-of-fake-ryzen-processors-selling-on-amazon/ , https://www.heise.de/newsticker/meldung/ Direkt-von-Amazon-Faelschungen-von-AMDs-Ryzen-Prozessoren-im-Umlauf-3772757.html
Jeśli stracę prezentację na dysku i spieprzę prezentację, czy mój zaufany dostawca cofnie się w czasie i uratuje mnie? Prawdopodobnie zastąpi napęd, ponieważ ostatni podróżujący DeLorean został zniszczony w 1885 roku.
Inne rzeczy
„To pytanie wydaje się bardziej przypominać„ promocję ”dotyczącą tego, co lubi OP, i wydaje się, że OP jest znacznie mniej zainteresowany testowaniem dysków”.
To jest niedorzeczne. Szukałem specjalnie narzędzia podobnego do h2testw, które również działa na systemie Linux. I tak, to właśnie „lubię”, pomocna odpowiedź, przepraszam. Nie miałem pojęcia, że anglojęzyczna prasa nie zdaje sobie sprawy z takich problemów i miałem szczęście znaleźć coś takiego później. To nie jest promocja, ale tak naprawdę wydaje się, że możesz ją wykorzystać.
df --block-size=M
. Limit 4 GB sugerowałby, że to tylko limit rozmiaru pliku FAT32, a nie pojemność dysku. Nigdy nie uzyskasz pełnej deklarowanej pojemności, jest to tylko średnia klasyfikacja.