Ich habe kürzlich viel über gefälschte MicroSD-Karten und USB-Sticks gelesen, die viel Speicherplatz beanspruchen (auch wenn Sie Ihren Computer fragen) und physisch viel weniger bieten. Ich habe kürzlich ein SanDisk-USB-Laufwerk gekauft (128 GB beansprucht) und möchte dessen Größe testen. Es wird nicht über eBay oder so gekauft, aber ich möchte unbedingt die tatsächliche Größe testen, bevor ich es produktiv nutze.
Ich könnte einfach Sachen darauf kopieren, es zurückkopieren und nachsehen, ob die Dateien in Ordnung sind. Ich könnte es auch mit Hashes und so automatisieren. Aber ich habe gehofft, dass es eine genauere Lösung gibt. Ich habe gelesen, dass H2testw für Windows den Trick macht. Gibt es eine einfache Möglichkeit, dies unter Ubuntu / Linux zu testen? Vielleicht ein spezialisiertes, gut funktionierendes Werkzeug?
Update: Um es klar zu machen, soll überprüft werden, ob die Größe, die der Controller dem Linux-System mitteilt, korrekt ist ( damit keine Daten verloren gehen ). Es ist nicht so, dass ich sehen möchte, ob ich 128 GB statt 127,3 GB bekomme. Ich möchte testen, ob alle Daten, die ich schreibe, wieder lesbar sind. Leider kann ich auf englischen Tech-Sites nur wenige Informationen dazu finden. Es gibt jedoch gute deutsche Quellen. Ich suche tatsächlich nach einer solchen Anwendung, aber für Ubuntu / Linux: https://www.raymond.cc/blog/test-and-detect-fake-or-counterfeit-usb-flash-drives-bought-from -ebay-with-h2testw /
Update2: Ich habe versucht, einige Quellen auf Englisch zusammenzubringen. Ich habe aus Zeitgründen nicht alle ausführlich gelesen.
- 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/
Update3: Erläuterungen
Aufgrund der unten stehenden seltsamen Kritik einige Erklärungen.
Was ist das Problem und warum löst dd alleine es nicht?
Dies ist eine Reaktion auf
"Finde klar heraus, welches Problem du lösen willst und was die Definition von" Fake Drive "ist."
Es scheint, dass einige Leute das Problem nicht verstehen. Deshalb versuche ich es so kurz wie möglich zu erklären, obwohl ich denke, dass dies sehr weit von meiner Frage entfernt ist.
Die Kapazität der USB-Geräte, die Sie von Ihrem Betriebssystem oder von Unix-Tools erhalten, kann falsch sein. Dies ist fatal, da Ihr Betriebssystem regelt, an wie viele Daten Sie diese senden können. Wenn Sie mehr Daten senden, als es wirklich aufnehmen kann, gehen Daten verloren. Das ist ein Problem. Warum kann das passieren?
Sie müssen das USB-Protokoll nicht genau kennen, um das Problem zu verstehen. Serielle Schnittstellen haben die gemeinsame Eigenschaft, dass das Client-Gerät (das USB-Laufwerk) über diese serielle Schnittstelle seine eigene Kapazität mitteilen muss. Dies bedeutet, dass das Client-Gerät einen eigenen Controller benötigt, der sich mit dem Zweck des Geräts und seiner Kapazität auskennt. Es entscheidet auch, was getan wird, wenn es den Befehl zum Speichern erhält. Wenn die Steuerung auf diese Weise programmiert ist, kann sie den Befehl einfach ignorieren oder etwas mit den Daten überschreiben.
Was bedeutet das? Was auch immer Ihre Unix-Tools über die Kapazität des Laufwerks aussagen: Es ist das, was die Tools vom Laufwerk verlangt haben, nichts weiter. Dafür wurde h2testw erfunden: Es testet die tatsächliche Größe mit einer später erläuterten Methode und vergleicht sie mit den Angaben des Laufwerks. Wenn dies nicht der Fall ist, kann es zu Datenverlusten kommen, da alle gängigen Vorgänge zum Speichern von Daten von den Informationen Ihres Betriebssystems abhängen, die nur den Controller fragen. Warum fragst du nur? Das Testen benötigt Zeit und überschreibt alle Daten auf dem Laufwerk. Daher ist es selbstverständlich, dass sich ein Betriebssystem auf diese Informationen verlassen muss.
Um die tatsächliche Kapazität wie h2testw zu überprüfen, können Sie tatsächlich dd
Daten auf das Laufwerk schreiben, es erneut lesen und prüfen, ob es dasselbe ist, das Sie geschrieben haben. Ganz echt. Die Art der Hardware und das Laufwerk machen es komplizierter. Betrachten Sie beispielsweise Schreibcaches. Sie müssen sicherstellen, dass Sie nicht aus dem Cache lesen. Dies ist nur ein Beispiel dafür, warum es nicht so einfach ist, wie es aussieht. Denken Sie auch, dass nur das Schreiben von Nullen eine geringe Informationsentropie bedeutet, die beim Lesen rekonstruiert werden kann. Im Detail ist es einfach nicht so einfach. Sie können es natürlich immer noch manuell machen.
Aber warum, wenn man es automatisieren kann? Warum zur Arbeit? f3 implementiert, wie in meiner Antwort unten vorgeschlagen, Unmengen von Gedanken vieler Mitwirkender (bedenken Sie, dass es eine Art erweiterter h2testw ist) und implementiert auch mehrere Methoden mit unterschiedlichen Kompromissen. Der Entwickler fand die Tricks der verschiedenen gefälschten Laufwerke heraus, die er zur Hand hatte . Während ich also die Theorie und das Problem verstehe (anscheinend sind die Probleme in deutschen technischen Medien gut erklärt, aber nicht in englischsprachigen Medien), gebe ich nicht vor, alles zu verstehen, weshalb ich es oben erwähnt habe. Es ist nur die Theorie, die ich verstehe, und ich bin eher ein Software-Typ. Aber als Informatikstudent verstehe ich es gut genug, um das Problem zu erkennen.
"Versuchen Sie, grundlegende Unix-Dienstprogramme zu verstehen"
Eigentlich habe ich diesen bereits beantwortet, aber um es klar zu machen: Unix-Tools verwenden nur das USB-Protokoll (natürlich nur für USB-Geräte), um Informationen zu sammeln. Es macht keinen Sinn, mehr als das zu tun.
Hilft es, nur von vertrauenswürdigen Lieferanten einzukaufen?
tl; dr: Das tut es nicht.
"Wenn es um den Kauf von Waren geht, sollten Sie, genau wie bei jeder Art von Sicherheit, einen vertrauenswürdigen Verkäufer finden und Laufwerke nur von diesen kaufen."
Bei Sicherheit geht es NICHT um Vertrauen! Es geht um Verifikation und Validierung! Sorry, aber das ist in vielerlei Hinsicht so falsch.
Angenommen, Sie kaufen über einen vertrauenswürdigen Verkäufer. Ein paar Fragen:
Hat der Lieferant die Hardware getestet, um sicherzustellen, dass keine Daten verloren gehen? Erkennt er, wenn er gefälschte Laufwerke kauft und verkauft? Nicht unbedingt.
Ist es möglich, dass er Sachen kauft, von denen er nicht weiß, dass sie gefälscht sind? Schauen Sie sich die neuesten Ryzen-Fälschungen an: https://www.pcgamer.com/beware-of-fake-ryzen-processors-selling-on-amazon/ , https://www.heise.de/newsticker/meldung/ Direkt-von-Amazon-Fälschungen-von-AMDs-Ryzen-Prozessoren-im-Umlauf-3772757.html
Wenn ich meine Präsentation im Laufwerk verliere und die Präsentation vermassle, wird mein vertrauenswürdiger Lieferant in die Vergangenheit zurückkehren und mich retten? Es wird wahrscheinlich die Festplatte ersetzen, da die letzte Zeitreise DeLorean im Jahre 1885 zerstört wurde.
Andere Sachen
"Diese Frage scheint eher" Promo "für das zu sein, was OP mag, und es scheint, dass OP viel weniger daran interessiert ist, die Laufwerke tatsächlich zu testen."
Das ist lächerlich. Ich habe speziell nach einem ähnlichen Tool wie h2testw gesucht, das auch unter Linux läuft. Und ja, das ist, was ich "möchte", hilfreiche Antwort, so leid. Ich hatte keine Ahnung, dass die englischsprachige Presse sich solcher Probleme nicht so bewusst ist und hatte das Glück, später so etwas zu finden. Dies ist keine Promo, aber es scheint, als könntest du eine verwenden.
df --block-size=M
. Die Beschränkung auf 4 GB würde darauf hindeuten, dass dies nur eine Beschränkung der Dateigröße für FAT32 ist, nicht die Festplattenkapazität. Es wird nie die volle Kapazität angegeben, es ist nur ein Durchschnitt, um es zu klassifizieren.