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.
- 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: 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 dd
untuk 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:
Apakah pemasok menguji perangkat keras untuk memastikan tidak ada data yang hilang? Apakah saya mengenali ketika dia membeli drive palsu dan menjualnya? Belum tentu.
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
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.
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.Jawaban:
f3 - Fight Flash Fraud
Hanya ada satu alternatif yang saya temukan, tetapi saya pikir ini bahkan lebih baik daripada
h2testw
alat 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 (direkomendasikan)
f3probe
adalah 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:Dan:
Ada juga contoh penggunaan di situs web:
Perhatikan bahwa itu juga mengembalikan perintah yang memungkinkan Anda menggunakan drive dengan ukuran sebenarnya, menggunakan
f3fix
.Alat f3fix
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
akan menanyakan ukuran perangkat yang diklaim dan mengisinya dengan file yang dihasilkan dengan ukuran masing-masing 1gb.f3read
akan membaca semua file itu dan melihat mereka lengkap dan tidak rusak. Sebagai contoh, perintah yang saya gunakan untuk menguji thumb drive ~ 128gb saya:Sekarang untuk menguji apakah file disimpan dengan benar:
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:
Ini akan membawa Anda:
f3brew
,f3fix
,f3probe
,f3read
,f3write
dengan halaman man mereka.Alat ini adalah bagian dari
f3
paket, 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.
sumber
apt-get
akan menginstalf3read
danfwrite
hanya sebagaif3probe
danf3fix
dianggap eksperimental. Jika ingin menggunakannya, Anda harus membuatnya dari sumber menggunakanmake experimental
setelah menginstal dependensi merekasudo apt-get install libudev1 libudev-dev libparted0-dev
. Lihat github.com/AltraMayor/f3#the-extra-applications-for-linuxSaya 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.
sumber
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:
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
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 Size
tetapi di bawah toleransi 15% (dan toleransi adalahClaimed 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:
Cara sederhana untuk melakukannya adalah dengan
dd
, cukup menimpa perangkat dengan nol (dan tentu saja ingat untuk menyimpan file Anda sebelum Anda melakukannya).Perhatikan
bs=1
ukuran blok untuk 1 byte. Thedd
perintah biasanya memberikan laporan untuk berapa banyak ditulis.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/sdb1
file perangkat saya untuk drive USB:Perhatikan bahwa
-P
flag 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
: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 mengambilmd5sum
atausha1sum
dari./mytestfile.random
dan membandingkan dengan/dev/sda1
sekarang. Perbaikan yang lebih baik lagi adalah dengan menulismytestfile.random
ke mountpoint file, sehingga menjaga filesystem pada drive dan tidak mengubah partisi drive, dengan kata lainUntuk integritas kemudian, Anda hanya dapat melakukan cek hashsum, seperti
md5sum
,sha1sum
,sha256sum
atau orang lain. Sebagai contohPoin 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:
sumber
dd
melaporkan kembali jumlah data yang telah ditulis / diberikan ke perangkat, saya tidak melihat bagaimana itu bisa dipalsukan.dd
dan 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.)