أداة كشف نوع ملفات MIME
الامتدادات المضافة إلى الملفات غير دقيقة؛ فكل شخص يمكنه تغيير اسم ملف malware.exe إلى photo.jpg. الطريقة الموثوقة لمعرفة طبيعة الملف الحقيقية هي قراءة أول بایتين منه، حيث تحتوي معظم التنسيقات على توقيع (يُعرف بـ“الرقم السحري“) يحدد تنسيقه بغض النظر عن اسمه. يقوم هذا الكاشف بقراءة هذا التوقيع في أي ملف مُرفع، ويُرجع نوع MIME القياسي مع أقرب امتداد مطابق، مما يسمح لك بالتحقق من أن الملف المرفوع هو نفس الملف الذي ذكره العميل.
كيف يعمل كشف تنسيق MIME؟
-
1
أسقِط ملفًا
أي حجم؛ يتم قراءة الجزء الأول فقط الذي يتراوح بين 4 و16 كيلوبايت.
-
2
اقرأ البايتات السحرية
تبدأ معظم التنسيقات بتوقيع معروف.
-
3
قارن مع قاعدة بيانات التوقيعات
يستخدم الكاشف نفس القواعد المستخدمة في `file(1)` / libmagic.
-
4
إرجاع نوع MIME مع الامتداد
يعرض نوع الوسيط وفقًا لمعيار RFC 6838، والامتداد القياسي، بالإضافة إلى تسمية يدوية.
أمثلة على توقيعات
| التنسيق | أول بايتات (بصيغة هكساديسيلية) | 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 (أو محدد آخر) |
| gzip | 1F 8B 08 |
application/gzip |
| MP4 (ISO BMFF) | 00 00 00 XX 66 74 79 70 |
video/mp4 |
| MP3 | 49 44 33 أو FF FB |
audio/mpeg |
| FLAC | 66 4C 61 43 |
audio/flac |
| WAV | 52 49 46 46 ... 57 41 56 45 |
audio/wav |
| ELF (ملف ثنائي لليونكس) | 7F 45 4C 46 |
application/x-executable |
| Windows PE (ملف تنفيذي) | 4D 5A |
application/x-msdownload |
لماذا لا تكفي الامتدادات؟
- الأمان: ملف
resume.pdfالمُحمَّل، والذي يُعد في الواقع ملفًا من نوع.exe، يتخطى مرشحات التوسعة البسيطة؛ ويُعد كشف تنسيق MIME على جانب الخادم الحل المناسب لذلك. - عدم تطابق نوع المحتوى: قد يرسل المتصفح نوع MIME خاطئًا عند رفع ملف؛ فقراءة البايتات السحرية تُظهر لك طبيعة البيانات الفعلية.
- نسخ احتياطية مُستعادة: قد تضيع الامتدادات أو تُحذف أحيانًا؛ ويتيح لك تحليل المحتوى تحديد طبيعة كل ملف.
العائلة المبنية على نظام الـ ZIP
في جوهرها، تُعد العديد من التنسيقات الحديثة ملفات أرشيفية من نوع ZIP؛ حيث تبدأ باسم مثل PK\x03\x04 مثل أي ملف ZIP آخر.
– Office Open XML: .docx، .xlsx، .pptx.
- OpenDocument:
.odt,.ods,.odp. - تنسيق EPUB:
.epub. – ملف APK لنظام أندرويد:.apk. – ملف Java JAR:.jar.
لتمييزها، يقوم جهاز الكشف بالاطلاع على محتوى ملف ZIP للعثور على ملف المنشور ([Content_Types].xml بالنسبة إلى تنسيق OOXML، وmimetype بالنسبة إلى تنسيقي ODF/EPUB).
التركيبات المفيدة
- تغطي البايتات الأولى البالغ عددها 512 معظم توقيعات التنسيق.
- تشمل الملفات التي يبلغ حجمها أول 4 كيلوبايت تنسيقات قائمة على تنسيق ZIP، حيث يظهر ملف المانيفست في أجزاء متقدمة من الملف.
- تغطي الجزء الأول البالغ حجمه 16 كيلوبايت حالات خاصة مثل بعض حاويات الوسائط المتعددة.
ليست مثالية تمامًا
- ملفات النص العادي لا تحتوي على أي بايتات سحرية؛ في هذه الحالة، يعود النظام إلى استخدام أساليب تقديرية (هل يتوافق النص مع تنسيق UTF-8؟ وهل يبدو كنص من نوع JSON أو XML؟).
- قد تبدو الملفات المشفرة أو المُخفية كأحرف عشوائية لا تحتوي على توقيع مميز يمكن التعرف عليه.
– غموض التنسيق: يبدأ كل من
audio/wavوvideo/aviبالرمزRIFF؛ ويقوم جهاز الكشف بفحص المعرّف الثانوي (WAVEمقابلAVIبعد أربعة بايتات).
الأسئلة الشائعة
لا: عملية الكشف تتم مباشرةً في متصفحك؛ حيث يتم قراءة أول بضع كيلوبايت فقط ومقارنتها مع قاعدة بيانات التوقيعات الموجودة على جانب العميل، ولا يغادر أي بيانات جهازك أبدًا.
نظرًا لأن صيغ OOXML وODF وEPUB وJAR جميعها تبدأ بتوقيع ZIP، فإن أداة الكشف تفحص محتوى هذه الصيغ للعثور على الملف التوضيحي الخاص بكل صيغة، ثم تُرجع قيمة MIME الأكثر تحديدًا وهي application/vnd.openxmlformats-....
يُكتشف هذا النهج حالات إعادة التسمية البسيطة؛ فمثلاً، عندما يُعاد تسمية ملف من نوع .exe إلى .jpg، قد يظهر كملف قابل للتنفيذ بناءً على قيم بايتاته الخاصة. أما المهاجمون المتقدمون فيُدرجون بيانات مخربة داخل ملفات وسائط حقيقية، أو يستخدمون ملفات متعددة اللغات تتطابق مع عدة توقيعات رقمية، مما يجعل من المستحيل اكتشاف هذه التغييرات بسهولة.
النص العادي لا يحتوي على أي بايتات سحرية. يقوم أداة الكشف باستخدام أساليب تقييم تقريبية: هل النص يتوافق مع تنسيق UTF-8؟ أم مع تنسيق JSON؟ أم مع هيكل XML؟ أم مع هيكل CSV؟ وفي حال عدم توافق أي من هذه الشروط، يتم الاعتماد على التنسيق text/plain.
قاعدة بيانات التوقيعات متشابهة (ومنشأها قواعد libmagic في نظام يونكس)، ويجب أن تتطابق النتائج بالنسبة للصيغ الشائعة؛ أما الصيغ الغامضة أو المخصصة فقد تختلف.
أدوات ذات صلة
مُقيّم عمر النطاق
تحقق من تاريخ تسجيل النطاق لأول مرة وعمره بالسنوات والأشهر والأيام باستخدام بيانات WHOIS المتوفرة في السجل.
تحويل النطاق إلى عنوان IP
حوّل أي اسم نطاق إلى عناوينه في IPv4 (A) وIPv6 (AAAA)، ثم انسخها في أي أداة شبكة.
اختبار السرعة
أجرِ اختبار سرعة إنترنت سريعًا ومجانيًا من المتصفح. قِس سرعة التنزيل بوحدة ميغابت في الثانية إضافةً إلى زمن الاستجابة والتذبذب، واعرف ما إذا كان اتصالك جاهزًا للبثّ بدقة 4K والألعاب ومكالمات الفيديو. دون تطبيق ودون تسجيل.
أداة فحص سجلات DMARC
استعلام عن سجل DMARC TXT لأي نطاق وتحليل سياسة التحقق، ومواقع المطابقة، وعناوين الإبلاغ، بالإضافة إلى نسبة التنفيذ، وذلك بصيغة قابلة للقراءة.
حاسبة CIDR
حساب عنوان الشبكة والبث ونطاق المضيف وعناوين IP القابلة للاستخدام وقناع الشبكة الفرعية لأي كتلة IPv4 CIDR.
فاحص API
اختبر نقطة نهاية HTTP أو HTTPS تسمح بـ CORS من متصفحك، وافحص الحالة النهائية والترويسات المتاحة والزمن ومعاينة محدودة للجسم.
الأداة متاحة بلغات أخرى
- Detector de tipo MIME [ES]
- Détecteur de type MIME [FR]
- MIMEタイプ検出器 [JA]
- Detector de Tipo MIME [PT]
- MIME-typdetektor [SV]
- เครื่องตรวจจับประเภทไฟล์ MIME [TH]
- Bộ phát hiện loại MIME [VI]
- MIME-Typ-Detektor [DE]
- MIME 타입 감지기 [KO]
- Detektor Jenis MIME [ID]
- MIME-type detector [NL]
- Detektor typu MIME [PL]
- Определение MIME-типа файла [RU]
- MIME Tür Tespit Cihazı [TR]
- MIME类型检测器 [ZH]
- MIME Type Detector [EN]
- Rilevatore di tipo MIME [IT]