Periksa ukuran nyata dari USB thumb drive

28

Saya baru-baru ini membaca banyak tentang kartu MicroSD palsu dan USB thumb drive yang mengklaim memiliki banyak ruang (bahkan jika Anda bertanya pada komputer Anda), sementara secara fisik menawarkan jauh lebih sedikit. Saya baru-baru ini membeli drive USB SanDisk (diklaim 128 GB) dan ingin menguji ukurannya. Ini tidak dibeli melalui ebay atau sesuatu, tapi saya benar-benar ingin menguji ukuran sebenarnya sebelum menggunakannya secara produktif.

Saya hanya bisa menyalin barang-barang di dalamnya, menyalinnya kembali dan melihat apakah file-nya baik-baik saja. Saya juga bisa mengotomatiskannya dengan Hash dan semacamnya. Tapi saya berharap ada solusi yang lebih akurat. Saya membaca bahwa untuk Windows, H2testw melakukan trik. Apakah ada cara mudah untuk menguji ini di Ubuntu / Linux? Mungkin alat khusus yang berfungsi dengan baik?

Pembaruan: Hanya untuk memperjelas, idenya adalah untuk memverifikasi bahwa ukuran sistem linux diberitahu oleh pengontrol sudah benar ( sehingga tidak ada data yang akan hilang ). Ini tidak seperti saya ingin melihat apakah saya mendapatkan 128 GB, bukannya 127,3 GB. Saya ingin menguji apakah semua data yang saya tulis akan dapat dibaca lagi. Sayangnya saya hanya dapat menemukan beberapa informasi tentang ini di situs teknologi Inggris. Ada beberapa sumber Jerman yang bagus. Saya sebenarnya mencari aplikasi seperti itu, tetapi untuk Ubuntu / Linux: https://www.raymond.cc/blog/test-and-detect-fake-or-counterfeit-usb-flash-drives-bought-from -ebay-with-h2testw /

Update2: Saya mencoba mengumpulkan beberapa sumber dalam bahasa Inggris. Saya tidak membaca semuanya secara mendetail, karena waktu yang hilang.

Update3: Penjelasan

Karena kritik aneh di bawah ini, beberapa penjelasan.

Apa masalahnya dan mengapa dd sendiri tidak menyelesaikannya?

Ini adalah reaksi terhadap

"Jelas mencari tahu apa masalah yang Anda coba selesaikan dan apa definisi" drive palsu "."

Tampaknya sebagian orang tidak memahami masalahnya. Jadi saya mencoba menjelaskannya sesingkat mungkin dalam rincian, meskipun saya pikir ini jauh dari pertanyaan saya.

Kapasitas perangkat usb yang diberikan sistem operasi atau alat unix Anda, bisa jadi salah. Ini fatal, karena OS Anda mengatur berapa banyak data yang dapat Anda kirimkan. Kirim lebih banyak data daripada yang bisa ditampungnya, Anda akan kehilangan data. Ini adalah sebuah masalah. Jadi, mengapa ini bisa terjadi?

Anda tidak perlu mengetahui Protokol USB dengan baik untuk memahami masalahnya. Serial Interfaces memiliki properti umum, bahwa perangkat klien (drive usb) perlu memberi tahu kapasitasnya sendiri melalui antarmuka serial ini. Ini berarti bahwa perangkat klien membutuhkan pengontrol sendiri dengan pengetahuan tentang tujuan perangkat dan, dalam hal ini, kapasitasnya. Itu juga memutuskan apa yang dilakukan, ketika menerima perintah untuk menyimpan sesuatu. Jika pengontrol diprogram seperti itu, ia bisa mengabaikan perintah atau menimpa sesuatu dengan data.

Apa artinya ini? Apa pun yang dikatakan alat unix Anda tentang kapasitas drive: Itulah yang diminta drive, tidak lebih dari itu. Ini adalah apa yang diciptakan h2testw untuk: Ini menguji ukuran sebenarnya dengan metode yang dijelaskan kemudian, dan membandingkannya dengan apa yang dikatakan drive. Jika ini tidak sama, Anda mungkin kehilangan data, karena semua operasi umum Anda untuk menyimpan data, bergantung pada informasi sistem operasi Anda, yang hanya meminta controller. Kenapa hanya bertanya? Pengujian membutuhkan waktu dan menimpa semua data pada drive. Jadi wajar jika Sistem Operasi perlu mengandalkan informasi ini.

Untuk memeriksa kapasitas sebenarnya seperti h2testw, Anda memang dapat menggunakannya dduntuk menulis data pada drive, baca lagi, dan lihat apakah itu sama dengan yang Anda tulis. Benar-benar sah. Sifat perangkat keras dan drive membuatnya lebih rumit. Pertimbangkan cache tulis misalnya. Anda perlu memastikan bahwa Anda tidak membaca dari cache. Ini hanyalah salah satu contoh mengapa tidak semudah kelihatannya. Juga berpikir bahwa hanya menulis nol berarti entropi informasi yang rendah, yang dapat direkonstruksi ketika membaca. Hanya saja tidak semudah itu dalam detail. Anda masih bisa melakukannya secara manual, tentu saja.

Tapi mengapa, ketika Anda bisa mengotomatisasi sesuatu? Mengapa harus bekerja? f3 seperti yang diusulkan dalam jawaban saya di bawah ini, mengimplementasikan banyak pemikiran dari banyak kontributor (menganggap bahwa itu semacam perpanjangan h2testw) dan juga mengimplementasikan beberapa metode dengan trade-off yang berbeda. Pengembang tahu trik-trik drive palsu yang berbeda (alias palsu drive) mereka memiliki di tangan . Jadi, sementara saya memahami teori dan masalahnya (tampaknya karena masalah dijelaskan dengan baik di media teknologi Jerman, tetapi tidak di media berbahasa Inggris), saya tidak berpura-pura memahami segalanya, itulah sebabnya saya sebutkan di atas. Itu hanya teori yang saya mengerti, dan saya lebih dari seorang pria perangkat lunak. Tetapi sebagai mahasiswa informatika, saya memahaminya dengan cukup baik untuk melihat masalahnya.

"Cobalah untuk memahami utilitas dasar Unix"

Sebenarnya saya sudah menjawab yang ini, tetapi untuk membuatnya lebih jelas: Alat Unix hanya menggunakan USB-Protocol (untuk perangkat USB saja, tentu saja) untuk mengumpulkan informasi. Tidak masuk akal untuk melakukan lebih dari itu.

Apakah itu membantu hanya membeli dari pemasok kepercayaan?

tl; dr: Tidak.

"Ketika datang untuk membeli barang, seperti halnya dengan segala bentuk keamanan, pertimbangkan untuk menemukan penjual tepercaya dan belilah drive hanya dari mereka."

Keamanan (dan keamanan) BUKAN tentang kepercayaan! Ini tentang verifikasi dan validasi! Maaf tapi ini sangat salah dalam banyak hal.

Anggap Anda membeli melalui penjual tepercaya. Beberapa pertanyaan:

  1. Apakah pemasok menguji perangkat keras untuk memastikan tidak ada data yang hilang? Apakah saya mengenali ketika dia membeli drive palsu dan menjualnya? Belum tentu.

  2. Mungkinkah dia membeli barang yang tidak dia ketahui palsu? Benar-benar, lihat palsu ryzen baru-baru ini: 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

  3. Jika saya kehilangan presentasi saya di drive dan mengacaukan presentasi, akankah pemasok tepercaya saya kembali ke masa lalu dan menyelamatkan saya? Ini mungkin akan menggantikan drive, karena DeLorean yang terakhir kali bepergian dihancurkan pada tahun 1885.

Barang lainnya

"Pertanyaan ini sepertinya lebih mirip" promo "untuk apa yang disukai OP, dan tampaknya OP jauh kurang tertarik untuk benar-benar menguji drive."

Ini konyol. Saya sedang mencari secara khusus alat yang mirip dengan h2testw yang juga berjalan di linux. Dan ya, itulah yang saya "sukai", jawaban yang membantu, maaf. Saya tidak tahu bahwa pers berbahasa Inggris tidak menyadari masalah seperti itu dan beruntung menemukan sesuatu seperti itu di kemudian hari. Ini bukan promo, tapi sepertinya Anda bisa menggunakannya.

palsu
sumber
2
Tidak banyak gunanya mengujinya, mengikuti apa yang dikatakan komputer itu tersedia, atau df --block-size=M. Batas 4GB akan menyarankan itu hanya batas ukuran file FAT32, bukan kapasitas drive. Anda tidak akan pernah mendapatkan kapasitas penuh yang dinyatakan, ini hanya rata-rata untuk mengklasifikasikannya.
Sir_Scofferoff
6
Apa yang dikatakan komputer itu tersedia adalah hanya apa yang ia dapatkan dari pengontrol drive usb. Drive palsu berbohong. Jika memiliki kapasitas 4GB tetapi mengklaim memiliki 512GB, sisanya yang saya tulis akan dibuang atau ruang lama akan ditimpa, tergantung pada pengontrolnya. Jadi memang ada gunanya mengujinya.
verpfeilt
ini menarik. pikiran bahkan tidak pernah terpikir oleh saya tentang pemalsuan ukuran SSD, tetapi saya menyukai gagasan bagaimana mereka menulis data dan membacanya kembali byte demi byte untuk memeriksa konsistensi. saya bisa melihat bagaimana ini bisa menjadi masalah dan alat seperti ini bisa bermanfaat.
1
FakeFlashCheck juga memiliki pemindaian cepat. Apakah ada OSALT untuk itu?
neverMind9
PS: Saya sudah menemukan f3probe. Lihat komentar saya di bawah ini.
neverMind9

Jawaban:

34

f3 - Fight Flash Fraud

Hanya ada satu alternatif yang saya temukan, tetapi saya pikir ini bahkan lebih baik daripada h2testwalat asli untuk MS Windows. Untungnya, ini sangat mudah digunakan, bahkan dari baris perintah. Ada GUI yang tersedia. Ada juga banyak informasi tentang implementasi dan masalah dengan drive palsu di situs alat.

f3 menawarkan dua metode:

  • Metode f3probe: Jauh lebih cepat
  • Metode h2testw: Lebih lambat. Juga menguji kinerja R / W. Mungkin lebih bisa diandalkan.

Metode f3probe (direkomendasikan)

f3probeadalah salah satu cara untuk menguji drive, tidak seakurat tetapi lebih cepat karena tidak menulis di seluruh drive. Anda dapat membaca lebih lanjut tentang itu di situs alat. Jika Anda ingin 100% yakin, lebih baik gunakan metode h2testw. Seperti yang dijelaskan pengembang di situs web:

f3probe adalah cara tercepat untuk mengidentifikasi drive palsu dan ukuran sebenarnya.

Dan:

Akhirnya, berkat f3probe menjadi perangkat lunak bebas, dan begitu f3probe terbukti pertempuran, f3probe dapat disematkan pada telepon pintar, kamera, pemutar MP3, dan perangkat lain untuk berhenti sekali dan untuk semua penyebaran flash palsu.

Ada juga contoh penggunaan di situs web:

Peringatan : Ini akan memusnahkan data yang tersimpan sebelumnya di disk Anda!

$ sudo f3probe --destructive --time-ops /dev/sdb
[sudo] password for michel: 
F3 probe 6.0
Copyright (C) 2010 Digirati Internet LTDA.
This is free software; see the source for copying conditions.

WARNING: Probing may **demolish data,** so it is more suitable for flash drives out of the box, without files being stored yet. The process normally takes from a few seconds to 15 minutes, but
         it can take longer. Please be patient. 

Bad news: The device `/dev/sdb' is a counterfeit of type limbo

You can "fix" this device using the following command:
f3fix --last-sec=16477878 /dev/sdb

Device geometry:
             *Usable* size: 7.86 GB (16477879 blocks)
            Announced size: 15.33 GB (32155648 blocks)
                    Module: 16.00 GB (2^34 Bytes)
    Approximate cache size: 0.00 Byte (0 blocks), need-reset=yes
       Physical block size: 512.00 Byte (2^9 Bytes)

Probe time: 1'13"
 Operation: total time / count = avg time
      Read: 472.1ms / 4198 = 112us
     Write: 55.48s / 2158 = 25.7ms
     Reset: 17.88s / 14 = 1.27s

Perhatikan bahwa itu juga mengembalikan perintah yang memungkinkan Anda menggunakan drive dengan ukuran sebenarnya, menggunakan f3fix.

Alat f3fix

f3fix membuat partisi yang sesuai dengan ukuran sebenarnya dari drive palsu. Gunakan f3probekeluaran untuk menentukan parameter untuk i3fix

sudo f3fix --last-sec=16477878 /dev/sdb

Metode h2testw / Pengujian kinerja dengan f3read / f3write

F3 adalah kumpulan alat yang berhubungan dengan flash drive palsu. Dua dari mereka bersama-sama mengimplementasikan h2testw-Metode:

f3write [--start-at=NUM] [--end-at=NUM] <PATH>
f3read  [--start-at=NUM] [--end-at=NUM] <PATH>

f3writeakan menanyakan ukuran perangkat yang diklaim dan mengisinya dengan file yang dihasilkan dengan ukuran masing-masing 1gb. f3readakan membaca semua file itu dan melihat mereka lengkap dan tidak rusak. Sebagai contoh, perintah yang saya gunakan untuk menguji thumb drive ~ 128gb saya:

$ f3write /media/username/1EB8021AB801F0D7/
Free space: 117.94 GB
Creating file 1.h2w ... OK!                           
...
Creating file 118.h2w ... OK!                         
Free space: 0.00 Byte
Average writing speed: 11.67 MB/s

Sekarang untuk menguji apakah file disimpan dengan benar:

$ f3read /media/username/1EB8021AB801F0D7/
                  SECTORS      ok/corrupted/changed/overwritten
Validating file 1.h2w ... 2097152/        0/      0/      0
...
Validating file 118.h2w ... 1979488/        0/      0/      0

  Data OK: 117.94 GB (247346272 sectors)
Data LOST: 0.00 Byte (0 sectors)
           Corrupted: 0.00 Byte (0 sectors)
    Slightly changed: 0.00 Byte (0 sectors)
         Overwritten: 0.00 Byte (0 sectors)
Average reading speed: 32.38 MB/s

Tes untuk drive dengan ukuran ini memakan waktu sekitar tiga jam dengan metode ini dan kadang-kadang menyebabkan beban disk yang berat di komputer saya, tetapi menurut saya yang paling akurat.

Instal di Ubuntu

Di terminal:

sudo apt install f3

Ini akan membawa Anda: f3brew, f3fix, f3probe, f3read, f3writedengan halaman man mereka.

Alat ini adalah bagian dari f3paket, yang setidaknya tersedia di Ubuntu 15.10. Menurut situs web, ada beberapa alat yang tersedia. Untuk membuatnya melihat situs web.
Paket ini datang dengan halaman manual yang pendek namun bermanfaat, meskipun saya pikir mereka kehilangan beberapa informasi dari situs web tentang perbedaan dari f3read / write dan f3probe misalnya, itulah sebabnya jawaban ini menjadi sedikit lebih lama.

palsu
sumber
2
Terima kasih telah memperkenalkan alat hebat ini. Hanya ingin menambahkan bahwa pemasangan menggunakan apt-getakan menginstal f3readdan fwrite hanya sebagai f3probedan f3fixdianggap eksperimental. Jika ingin menggunakannya, Anda harus membuatnya dari sumber menggunakan make experimentalsetelah menginstal dependensi mereka sudo apt-get install libudev1 libudev-dev libparted0-dev. Lihat github.com/AltraMayor/f3#the-extra-applications-for-linux
Ahmed Essam
1
"[f3probe] tidak lagi eksperimental, tetapi hanya tersedia di Linux." github.com/AltraMayor/f3/issues/78#issuecomment-378599141
verpfeilt
4

Saya telah menulis alat sederhana untuk itu, itu disebut CapacityTester (tangkapan layar) dan memiliki GUI serta CLI.

Ada biner yang dikompilasi untuk Debian 7 yang tersedia untuk diunduh , yang sangat mungkin bekerja di luar kotak pada sistem Ubuntu modern.

Saya telah menulisnya untuk penggunaan pribadi saya sendiri karena saya tidak dapat menemukan alat grafis untuk tujuan ini. Anda hanya perlu memasang drive flash USB kosong Anda terlebih dahulu, pilih dan mulai tes. Ini alat yang sangat bodoh karena yang dilakukannya hanyalah mengisi drive dengan file dan kemudian memverifikasi bahwa data pada drive tersebut benar. Ini akan membatalkan tes pada kesalahan pertama (menulis atau membaca / memverifikasi). Ini akan melaporkan offset chunk yang tidak dapat ditulis atau diverifikasi dengan sukses, tetapi ini adalah offset logis sehingga informasi ini mungkin tidak berguna karena tergantung pada sistem file di mana file-file tersebut berada pada drive. Namun, ketika drive telah diisi dengan data dan semuanya dapat dibaca dan diverifikasi, aman untuk mengasumsikan bahwa kapasitas drive yang dilaporkan adalah benar. Sebagai catatan,

Sekali lagi, ini sangat sederhana karena hanya berfungsi dengan file di atas sistem file yang ada. Jadi ada beberapa KB (+ 1M buffer) yang tidak dapat diuji. Dan ini sangat lambat karena benar-benar mengisi seluruh sistem file. F3 tentu jauh lebih canggih dan juga lebih cepat, tetapi tidak memiliki GUI. Satu-satunya alasan CapacityTester ada adalah karena ia memiliki GUI sehingga dapat digunakan oleh pengguna yang tidak terbiasa dengan baris perintah atau yang lebih suka GUI.

Umpan balik dihargai.

c0xc
sumber
Seperti yang dinyatakan di situs web pengembang, ada QT GUI dan GUI untuk OSX yang tersedia (saya tidak mencobanya). Saya pikir ini berdasarkan QT4. Mengapa tidak menggunakan F3 sebagai backend juga? Itu tidak akan membuat alat Anda lebih rumit dan mungkin akan membuatnya lebih fungsional / efektif, menggunakan pengetahuan yang dihabiskan untuk F3.
verpfeilt
-6

Mengatasi perilaku OP dan "drive palsu"

Saya mengedit jawaban untuk membahas beberapa poin dengan benar, karena OP sangat keras (dan menurut pendapat saya, menentang sebagian besar komentar dan jawaban kecuali milik mereka sendiri, yang menurut saya mencurigakan). Khususnya, ada banyak yang mengklaim ada "drive palsu", tetapi tidak ada definisi yang jelas tentang apa yang sebenarnya berarti. OP menyatakan:

Saya hanya bisa menyalin barang-barang di dalamnya, menyalinnya kembali dan melihat apakah file-nya baik-baik saja. Saya juga bisa mengotomatiskannya dengan Hash dan semacamnya. Tapi saya berharap ada solusi yang lebih akurat.

OP sendiri mengakui bahwa mereka "hanya dapat menyalin hal-hal", dan memverifikasi integritas data, tetapi sangat menentang semua komentar dan jawaban lain yang mengusulkan hal lain dan OP hanya terus mendorong F3 sebagai "kesepakatan nyata". Pertanyaan itu sendiri pada awalnya dimulai tentang ukuran drive, tetapi kemudian OP untuk alasan apa pun yang disebutkan hash untuk "melihat apakah file-file itu ok", seolah-olah ada drive misterius yang mengklaim satu ukuran dan membiarkan Anda menulis ukuran itu, tetapi maka data rusak. Oleh karena itu, saya merasa sangat curiga dan akan mempertimbangkan OP mempromosikan F3 sebagai pertanyaan dan jawaban spam.

Ketika drive sebenarnya drive palsu

Dalam pertanyaan tersebut, definisi jelas OP adalah

"..barang yang mengklaim memiliki banyak ruang (sering dibawa terlalu jauh, seperti 128 GB), sementara secara fisik hanya menawarkan 0,5 hingga 4 GB."

Dengan kata lain, menurut OP, pengontrol mengklaim jumlah data X, tetapi USB hanya dapat memuat sekitar 80-90% lebih sedikit dari yang diklaim.

Pengguna sudodus yang diusulkan dalam komentar (penekanan ditambahkan): "Saya telah menemukan bahwa beberapa pendrives USB sedikit lebih kecil dari ukuran nominal. Saya menyebutnya undersized . Saya pikir drive palsu 'terlalu besar ukurannya ' (biasanya setengah dari ukuran nominal) atau kurang ) ". Definisi ini bagus, namun jika kita ambil, drive palsu didefinisikan 50%. Drive yang mengklaim 64 GB tetapi hanya bisa menampung 32 GB, secara teknis kehilangan setengah dari nilainya kepada pemilik dan pemilik hanya dapat menempatkan setengah dari apa yang mereka maksudkan ke drive.

Saya mengusulkan definisi yang lebih sederhana: perangkat penyimpanan palsu adalah yang mengklaim memiliki Claimed Sizetetapi di bawah toleransi 15% (dan toleransi adalah Claimed Size ± 15 %).

Ini ± 15 %sangat masuk akal. Pertimbangkan juga bahwa pengguna biasanya bingung antara Unix, IEEE, dan organisasi IEC menggunakan awalan biner alih-alih kekuatan 10 awalan untuk ukuran penyimpanan data. Perbedaannya menjadi 20% pada tingkat awalan yotta, namun drive USB belum ada di sana, jadi untuk 20 tahun ke depan mungkin 15 persen masuk akal. (Lihat pertanyaan askubuntu "Arti 'i' di 'MiB'" dan Awalan Biner )

Menguji drive

Secara efektif, pengguna tidak memerlukan alat khusus, selain dari yang sudah ada pada Ubuntu dan sebagian besar sistem Unix yang sesuai dengan POSIX. Mari kita tekankan dan ulangi definisi itu lagi:

Jika kami tidak dapat menulis jumlah data untuk drive dan apa yang kami tulis dalam toleransi 15%, maka drive itu OK

Cara sederhana untuk melakukannya adalah dengan dd, cukup menimpa perangkat dengan nol (dan tentu saja ingat untuk menyimpan file Anda sebelum Anda melakukannya).

sudo dd if=/dev/zero of=/dev/sdb1 iflag=nocache oflag=direct bs=1                        

Perhatikan bs=1ukuran blok untuk 1 byte. The ddperintah biasanya memberikan laporan untuk berapa banyak ditulis.

$ dd if=/dev/zero of=/dev/null bs=1 count=1024
1024+0 records in
1024+0 records out
1024 bytes (1.0 kB, 1.0 KiB) copied, 0.00261981 s, 391 kB/s

Kami memintanya untuk menulis 1024 byte, ia menulis 1024 byte.

Daftar langkah-langkah yang lebih tepat mengikuti definisi akan menjadi:

  • Cari tahu berapa banyak data yang diklaim drive (dengan anggapan Anda mencurigai df"salah"). Dalam contoh ini, mari kita asumsikan /dev/sdb1file perangkat saya untuk drive USB:

    $ df -P /dev/sdb1 | awk 'NR==2{print $2}'
    115247656
    

    Perhatikan bahwa -Pflag adalah untuk portabilitas POSIX, yang berarti ukuran blok data akan menjadi 1024 byte, dan itu berarti ada 115247656 * 1024 byte pada drive itu.

  • Cari tahu apa toleransi 15% di bawah apa yang diklaim drive (115247656), mungkin gunakan utilitas yang mendukung perhitungan floating point seperti awk:

     $ awk 'BEGIN{printf "%d\n",115247656*(1-0.15)}'
     97960507
    
  • Buat data acak pada hard drive dengan ukuran yang sama dengan drive pada langkah sebelumnya untuk digunakan sebagai patokan: dd if=/dev/urandom of=./mytestfile.random bs=1024 count=97960507

  • Sekarang tulis data dd if=./mytestfile.random of=/dev/sda1. Jika drive dapat menampung ini sebanyak, itu "nyata". Anda juga dapat mengambil md5sumatau sha1sumdari ./mytestfile.randomdan membandingkan dengan /dev/sda1sekarang. Perbaikan yang lebih baik lagi adalah dengan menulis mytestfile.randomke mountpoint file, sehingga menjaga filesystem pada drive dan tidak mengubah partisi drive, dengan kata lain

    dd if=./mytestfile.random of=/mountpoint/for/usb/drive/testfile.random
    
  • Untuk integritas kemudian, Anda hanya dapat melakukan cek hashsum, seperti md5sum, sha1sum, sha256sumatau orang lain. Sebagai contoh

    md5sum ./mytestfile.random  /mountpoint/for/usb/drive/testfile.random
    

    Poin kunci di sini adalah bahwa jika jumlah data tertulis dalam toleransi dan menghasilkan checksum yang benar sebelum dan sesudah penulisan - drive mungkin OK.

Semua ini dapat dimasukkan ke dalam skrip yang bagus untuk kenyamanan, jika diinginkan.

Kesimpulan

Pertanyaan ini tampaknya lebih seperti "promo" untuk apa yang disukai OP, dan tampaknya OP kurang tertarik untuk benar-benar menguji drive. Selain itu, masalah itu sendiri lebih bersifat manusiawi daripada masalah "drive". Dalam komentar tersebut, OP sendiri menyatakan mereka tidak benar-benar memahami perilaku USB, tetapi sangat ingin menyalahkan "controller". Saya akan meninggalkan pertanyaan ini dengan 3 poin:

  • Tentukan dengan jelas apa masalah yang Anda coba selesaikan dan apa definisi "drive palsu".
  • Cobalah untuk memahami utilitas dasar Unix
  • Ketika datang untuk membeli barang, seperti halnya dengan segala bentuk keamanan, pertimbangkan untuk menemukan penjual tepercaya dan beli drive hanya dari mereka.
Sergiy Kolodyazhnyy
sumber
1
Terima kasih, tetapi saya tidak yakin apakah dd akan mendeteksi ukuran sebenarnya, karena pengontrol akan memalsukan bahwa ia memiliki banyak ruang. Saya pikir Anda harus menulis dalam file (atau lebih banyak file) dan memeriksa apakah Anda bisa mendapatkannya kembali sepenuhnya. Kira ada alasan mengapa ada alat khusus untuk pengujian, sayangnya itu hanya windows. Kira saya harus menggunakan VM. Yah, itu cukup besar dalam berita di Jerman beberapa waktu lalu. (Sumber bahasa Jerman tentang topik ini: heise.de/ct/ausgabe/… )
verpfeilt
1
@verpfeilt Yah, saya tidak bisa berbahasa Jerman sehingga artikel harus diringkas atau diterjemahkan oleh seseorang. Bagaimana pengontrol palsu yang memiliki jumlah ruang yang sama? ddmelaporkan kembali jumlah data yang telah ditulis / diberikan ke perangkat, saya tidak melihat bagaimana itu bisa dipalsukan.
Sergiy Kolodyazhnyy
2
Yah Anda bisa menulis semuanya, tetapi itu tidak mengatakan bahwa klien usb akan menyimpannya. Jika saya mengerti dengan benar, masalahnya terletak langsung pada arsitektur usb. Anda tidak bisa hanya memasukkan beberapa memori flash ke dalamnya, tetapi membutuhkan chip yang akan memenuhi protokol. Seperti sebuah rintisan ( en.wikipedia.org/wiki/Method_stub ) ini memungkinkan Anda untuk membangun memori tulis saja (drive memiliki sejumlah kecil memori untuk menyimpan file kecil, meskipun). Inilah sebabnya mengapa alat seperti h2testw ada. Ini ada sesuatu dalam bahasa Inggris: myce.com/news/…
verpfeilt
1
@SergiyKolodyazhnyy, saya telah menemukan bahwa beberapa pendrives USB sedikit lebih kecil dari ukuran nominal. Saya menyebut mereka berukuran terlalu kecil . Saya pikir drive palsu 'sangat kecil' (biasanya setengah dari ukuran nominal atau kurang). Saya kira menulis sesuatu ke drive dengan dddan setelah itu memeriksa md5sum harus memeriksa berapa banyak yang bisa ditulis dan dibaca dengan benar. (Saya pikir alat khusus dalam jawaban @ verpfeilt terlihat lebih menarik, tetapi saya belum mengujinya. Saya memiliki banyak pendrives USB dan kartu memori, saya belum berpikir saya sudah membeli yang palsu.)
sudodus
1
@SergiyKolodyazhnyy, saya setuju dengan definisi Anda yang diperbarui, 'perangkat penyimpanan palsu adalah yang mengklaim memiliki Ukuran yang Diklaim tetapi di bawah toleransi 15% (dan toleransi adalah Ukuran yang Diklaim ± 15%)'. - Terima kasih telah memperbarui jawaban Anda :-)
sudodus