MIME-typdetektor
Filändelser ljuger, vem som helst kan döpa om malware.exe till photo.jpg. Det tillförlitliga sättet att veta vad en fil verkligen är, är att läsa dess första byte, där de flesta format placerar en signatur (“magiskt tal”) som identifierar formatet oavsett namn. Den här detektorn läser signaturen på vilken släppt fil som helst och returnerar den kanoniska MIME-typen plus den vanligaste ändelsemappningen, så att du kan verifiera att en uppladdning är det klienten påstår.
Så fungerar MIME-detektering
-
1
Släpp en fil
Vilken storlek som helst; endast de första 4–16 KB läses.
-
2
Läs magiska byte
De flesta format börjar med en känd signatur.
-
3
Matcha mot en signaturdatabas
Detektorn använder samma regler som `file(1)` / libmagic.
-
4
Returnera MIME + ändelse
Visar medietypen enligt RFC 6838, den kanoniska ändelsen och en läsbar etikett.
Exempel på signaturer
| Format | Första byte (hex) | 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 (eller specifik) |
| gzip | 1F 8B 08 |
application/gzip |
| MP4 (ISO BMFF) | 00 00 00 XX 66 74 79 70 |
video/mp4 |
| MP3 | 49 44 33 eller FF FB |
audio/mpeg |
| FLAC | 66 4C 61 43 |
audio/flac |
| WAV | 52 49 46 46 ... 57 41 56 45 |
audio/wav |
| ELF (Linux-binär) | 7F 45 4C 46 |
application/x-executable |
| Windows PE (exe) | 4D 5A |
application/x-msdownload |
Varför ändelser inte räcker
- Säkerhet. En uppladdad
resume.pdfsom egentligen är en.exekringgår naiva ändelsefilter. MIME-detektering på serversidan är lösningen. - Content-Type-avvikelse. En webbläsare kan skicka fel MIME för en uppladdning; att läsa magiska byte berättar vad datan faktiskt är.
- Återställda säkerhetskopior. Ändelser går ibland förlorade eller tas bort; innehållssniffning låter dig identifiera vad varje fil är.
Den ZIP-baserade familjen
Många moderna format är ZIP-arkiv under huven, de börjar med PK\x03\x04 som vilken ZIP som helst:
- Office Open XML:
.docx,.xlsx,.pptx. - OpenDocument:
.odt,.ods,.odp. - EPUB:
.epub. - Android APK:
.apk. - Java JAR:
.jar.
För att skilja dem åt tittar detektorn in i ZIP-filen efter en manifestfil ([Content_Types].xml för OOXML, mimetype för ODF / EPUB).
Användbara kombinationer
- Första 512 byte täcker de flesta formatsignaturer.
- Första 4 KB täcker ZIP-baserade format där manifestet ligger längre in.
- Första 16 KB täcker gränsfall som vissa multimediebehållare.
Inte perfekt
- Vanliga textfiler har inga magiska byte. Detektorn faller tillbaka på heuristik (är det giltig UTF-8? ser det ut som JSON eller XML?).
- Krypterade / obfuskerade filer kan se ut som slumpmässiga byte utan någon igenkännbar signatur.
- Formattvetydighet.
audio/wavochvideo/avibörjar båda medRIFF; detektorn kontrollerar den sekundära identifieraren (WAVEkontraAVIfyra byte senare).
Vanliga frågor
Nej. Detekteringen körs i din webbläsare, endast de första KB läses och matchas mot en signaturdatabas på klientsidan. Inget lämnar din enhet.
Eftersom OOXML, ODF, EPUB och JAR alla börjar med ZIP-signaturen. Detektorn tittar in för att hitta det formatspecifika manifestet och returnera den mer specifika MIME-typen (application/vnd.openxmlformats-...).
Det fångar naiv omdöpning, en .exe omdöpt till .jpg visas som körbar utifrån sina magiska byte. Sofistikerade angripare bäddar in nyttolaster i riktiga mediefiler eller använder polyglotfiler som matchar flera signaturer; de besegrar enkel detektering.
Vanlig text har inga magiska byte. Detektorn kör heuristik: giltig UTF-8? giltig JSON? XML-deklaration? CSV-struktur? Annars faller den tillbaka på text/plain.
Signaturdatabasen är liknande (härledd från Unix libmagic-regler). Resultaten bör stämma för vanliga format. Obskyra eller anpassade format kan skilja sig.
Relaterade verktyg
Kontroll av om en webbplats är nere
Kontrollera om en webbplats svarar från en oberoende server. Visar status UP eller DOWN, HTTP-statuskod, svarstid och serverns IP, så att du kan skilja ett verkligt avbrott från ett lokalt nätverksproblem.
Öppen port-skanner
Skanna en fast lista med vanliga TCP-portar på en publik värd för att se vilka som är öppna och vilka tjänster som är nåbara. En snabb, grundläggande kontroll, inte en fullständig skanner.
IP-subnätskalkylator
Beräkna subnätsintervall, nätverk, broadcast, användbara värdar och wildcard-mask för valfritt IPv4-CIDR-block med full täckning /0 - /32.
CIDR-kalkylator
Beräkna ett normaliserat CIDR-block för IPv4 eller IPv6, första och sista adressen samt exakt antal adresser. Se IPv4-masker och värdregler för punkt-till-punkt-länkar.
DKIM-kontroll
Ange domän och DKIM-selektor för att granska den publika nyckeln i DNS TXT. Se post, nyckeltyp och tydliga förklaringar till saknade, återkallade eller felaktiga nycklar.
Kontroll av webbplatsens tillgänglighet
Sondera vilken offentlig URL som helst på begäran och registrera dess HTTP-status och svarstid. Klicka igen för att bygga en kort historik på upp till 20 stickprov med tillgänglighet i procent och genomsnittligt svar, utan konto.
Verktyget finns på andra språk
- Detektor typu MIME [PL]
- เครื่องตรวจจับประเภทไฟล์ MIME [TH]
- Detector de tipo MIME [ES]
- MIMEタイプ検出器 [JA]
- Bộ phát hiện loại MIME [VI]
- MIME 타입 감지기 [KO]
- Détecteur de type MIME [FR]
- Detector de Tipo MIME [PT]
- أداة كشف نوع ملفات MIME [AR]
- MIME-Typ-Detektor [DE]
- Detektor Jenis MIME [ID]
- MIME-type detector [NL]
- Определение MIME-типа файла [RU]
- MIME Tür Tespit Cihazı [TR]
- MIME类型检测器 [ZH]
- MIME Type Detector [EN]
- Rilevatore di tipo MIME [IT]