Rilevatore di tipo MIME
Le estensioni dei file mentono, chiunque può rinominare malware.exe in photo.jpg. Il modo affidabile per sapere cosa è realmente un file è leggere i suoi primi byte, dove la maggior parte dei formati mette una firma (“numero magico”) che identifica il formato indipendentemente dal nome. Questo rilevatore legge la firma di qualsiasi file rilasciato e restituisce il tipo MIME canonico più la mappatura dell’estensione più comune, così puoi verificare che un caricamento sia ciò che il cliente afferma.
Come funziona il rilevamento MIME
-
1
Rilascia un file
Qualsiasi dimensione; vengono letti solo i primi 4–16 KB.
-
2
Leggi i byte magici
La maggior parte dei formati inizia con una firma nota.
-
3
Confronta con un database di firme
Il rilevatore utilizza le stesse regole di `file(1)` / libmagic.
-
4
Restituisci MIME + estensione
Mostra il tipo media RFC 6838, l'estensione canonica e un'etichetta umana.
Esempi di firme
| Formato | Primi byte (esadecimale) | MIME |
|---|---|---|
| JPEG | FF D8 FF |
image/jpeg |
| PNG | 89 50 4E 47 0D 0A 1A 0A |
image/png |
| GIF87a | 47 49 46 38 37 61 |
image/gif |
| GIF89a | 47 49 46 38 39 61 |
image/gif |
| WebP | 52 49 46 46 ... 57 45 42 50 |
image/webp |
25 50 44 46 (%PDF) |
application/pdf |
|
| ZIP / JAR / ODT / DOCX | 50 4B 03 04 |
application/zip (o specifico) |
| gzip | 1F 8B 08 |
application/gzip |
| MP4 (ISO BMFF) | 00 00 00 XX 66 74 79 70 |
video/mp4 |
| MP3 | 49 44 33 o FF FB |
audio/mpeg |
| FLAC | 66 4C 61 43 |
audio/flac |
| WAV | 52 49 46 46 ... 57 41 56 45 |
audio/wav |
| ELF (binario Linux) | 7F 45 4C 46 |
application/x-executable |
| Windows PE (exe) | 4D 5A |
application/x-msdownload |
Perché le estensioni non sono sufficienti
- Sicurezza. Un
resume.pdfcaricato che è in realtà un.exebypassa i filtri di estensione naif. Il rilevamento MIME lato server è la soluzione. - Mismatch del Content-Type. Un browser può inviare il MIME sbagliato per un caricamento; leggere i byte magici ti dice cosa è realmente il dato.
- Backup ripristinati. Le estensioni a volte vengono perse o rimosse; il content-sniffing ti consente di identificare cosa è ciascun file.
La famiglia basata su ZIP
Molti formati moderni sono archivi ZIP sotto il cofano, iniziano con PK\x03\x04 come qualsiasi ZIP:
- Office Open XML:
.docx,.xlsx,.pptx. - OpenDocument:
.odt,.ods,.odp. - EPUB:
.epub. - Android APK:
.apk. - Java JAR:
.jar.
Per distinguerli, il rilevatore sbircia all’interno dello ZIP per un file di manifest ([Content_Types].xml per OOXML, mimetype per ODF / EPUB).
Combinazioni utili
- Primi 512 byte coprono la maggior parte delle firme di formato.
- Primi 4 KB coprono i formati basati su ZIP dove il manifest appare più in là.
- Primi 16 KB coprono casi limite come alcuni contenitori multimediali.
Non perfetto
- File di testo semplice non hanno byte magici. Il rilevatore ricorre a euristiche (è valido UTF-8? sembra JSON o XML?).
- File crittografati / offuscati possono sembrare byte casuali senza una firma riconoscibile.
- Ambiguità di formato.
audio/wavevideo/aviiniziano entrambi conRIFF; il rilevatore controlla l’identificatore secondario (WAVEvs.AVIquattro byte dopo).
Domande frequenti
No. Il rilevamento avviene nel tuo browser, vengono letti e confrontati solo i primi pochi KB contro un database di firme lato client. Niente lascia il tuo dispositivo.
Perché OOXML, ODF, EPUB e JAR iniziano tutti con la firma ZIP. Il rilevatore sbircia all’interno per trovare il manifest specifico del formato e restituire il MIME più specifico (application/vnd.openxmlformats-...).
Cattura la rinominazione naif, un .exe rinominato in .jpg apparirà come eseguibile dai suoi byte magici. Attaccanti sofisticati incorporano payload all’interno di veri file multimediali o usano file poliglotti che corrispondono a più firme; questi sconfiggono il rilevamento semplice.
Il testo semplice non ha byte magici. Il rilevatore utilizza euristiche: valido UTF-8? valido JSON? dichiarazione XML? struttura CSV? Altrimenti ricorre a text/plain.
Il database di firme è simile (derivato dalle regole di Unix libmagic). I risultati dovrebbero corrispondere per formati comuni. Formati oscuri o personalizzati possono differire.
Strumenti correlati
Ricerca Indirizzo IP
Cerca un indirizzo IPv4 o IPv6 pubblico per paese, regione, città, coordinate, ISP, ASN, organizzazione e fuso orario approssimativi.
Calcolatore CIDR
Calcola indirizzo di rete, broadcast, intervallo host, IP utilizzabili e maschera di sottorete per qualsiasi blocco CIDR IPv4.
Tester CORS
Invia una richiesta OPTIONS preflight a qualsiasi URL e ispeziona Access-Control-Allow-Origin, le intestazioni e i metodi restituiti dal server. Risolvi rapidamente i fallimenti cross-origin.
Controllore di Endpoint API
Prova dal browser un endpoint HTTP o HTTPS abilitato a CORS. Controlla stato finale, intestazioni esposte, tempo e un'anteprima limitata del corpo.
Qual è il mio IP
Visualizza l’indirizzo IP ricevuto da questo server per la richiesta, se è IPv4 o IPv6 e, quando i dati GeoIP locali sono disponibili, un paese approssimativo.
Dominio a IP
Risolvi qualsiasi nome di dominio nei suoi indirizzi IPv4 (A) e IPv6 (AAAA) e copiali in qualsiasi strumento di rete.
Strumento disponibile in altre lingue
- MIME-Typ-Detektor [DE]
- MIME-typdetektor [SV]
- Détecteur de type MIME [FR]
- Detektor Jenis MIME [ID]
- MIMEタイプ検出器 [JA]
- MIME 타입 감지기 [KO]
- เครื่องตรวจจับประเภทไฟล์ MIME [TH]
- Bộ phát hiện loại MIME [VI]
- MIME-type detector [NL]
- Detector de tipo MIME [ES]
- Detektor typu MIME [PL]
- أداة كشف نوع ملفات MIME [AR]
- Detector de Tipo MIME [PT]
- Определение MIME-типа файла [RU]
- MIME Tür Tespit Cihazı [TR]
- MIME类型检测器 [ZH]
- MIME Type Detector [EN]