LLabelFen
مساحة عمل برمجية بالذكاء الاصطناعي

أسماء DNS بمؤشرات خلفية

فك اسم DNS من حزمة لا تتجاوز 65535 بايت وأعد التسميات الخام والموضع التالي.

● ● ●LabelFen●
سير العمل · أسماء DNS بمؤشرات خلفية ×
def dns_name(data, offset):
    if type(data) is not bytes or len(data) > 65535 or type(offset) is not int or not 0 <= offset < len(data):
        raise ValueError("dns.input")
    labels, seen, pos, end, size = [], set(), offset, None, 1
    while True:
        if pos in seen or pos >= len(data):
            raise ValueError("dns.pointer")
        seen.add(pos)
        count = data[pos]
        if count & 192 == 192:
            if pos+1 >= len(data):
                raise ValueError("dns.truncated")
            target = ((count & 63) << 8) | data[pos+1]
            if target >= pos:
                raise ValueError("dns.forward")
            if end is None:
                end = pos+2
            pos = target
            continue
        if count & 192 or pos+1+count > len(data):
            raise ValueError("dns.label")
        pos += 1
        if count == 0:
            return labels, pos if end is None else end
        size += count+1
        if size > 255:
            raise ValueError("dns.length")
        labels.append(data[pos:pos+count])
        pos += count
✳أسماء DNS بمؤشرات خلفية
✓ التغييراتراجع قبل التطبيق ↗
رسم توضيحي لمساحة العمل
01

المشروع

اختبر الجذر والاقتطاع وحد الاسم الموسع 255 بايت وارفض الوسوم غير الصالحة والدورات والمؤشرات التي لا تعود للخلف.

02

راجع قبل التطبيق

قارن السلوك الفعلي بالنتيجة المتوقعة. إذا فشل فحص، تحقّق من السبب قبل إجراء تغييرات إضافية.

03

النماذج

اضبط نقطة اتصال متوافقة مع OpenAI أو Anthropic باستخدام العنوان الأساسي ومفتاح API عند الحاجة. اختبر الاتصال. يجب أن يعمل خادم النموذج المحلي؛ وقد ترسل الأدوات البعيدة البيانات بشكل منفصل.

سير العمل

أسماء DNS بمؤشرات خلفية

سير العمل ↗
سير العمل
def dns_name(data, offset):
    if type(data) is not bytes or len(data) > 65535 or type(offset) is not int or not 0 <= offset < len(data):
        raise ValueError("dns.input")
    labels, seen, pos, end, size = [], set(), offset, None, 1
    while True:
        if pos in seen or pos >= len(data):
            raise ValueError("dns.pointer")
        seen.add(pos)
        count = data[pos]
        if count & 192 == 192:
            if pos+1 >= len(data):
                raise ValueError("dns.truncated")
            target = ((count & 63) << 8) | data[pos+1]
            if target >= pos:
                raise ValueError("dns.forward")
            if end is None:
                end = pos+2
            pos = target
            continue
        if count & 192 or pos+1+count > len(data):
            raise ValueError("dns.label")
        pos += 1
        if count == 0:
            return labels, pos if end is None else end
        size += count+1
        if size > 255:
            raise ValueError("dns.length")
        labels.append(data[pos:pos+count])
        pos += count
مساحة عمل برمجية بالذكاء الاصطناعي

راجع نتيجة المحلل والموضع الذي يتركه خلفه

يجلب LabelFen صيانة البروتوكولات إلى مساحة عمل للبرمجة بالذكاء الاصطناعي على Windows. افتح مجلد المشروع وصف سلوك الحزمة الذي تريد تغييره، بما فيه ما تتوقعه المرحلة التالية بعد التحليل. تربط محادثة تستند إلى هذه الملفات التصحيح الموضعي بالقارئ الأوسع بدلاً من الحكم على الدالة المساعدة بقيمتها المعادة وحدها.

توفر أسماء DNS المضغوطة مهمة مثال. اطلب من النموذج فحص معالجة المؤشرات ورفض المدخلات المشوهة والإزاحة المعادة للمستدعي. أدرج حزمة باسم مضغوط يتبعه حقل آخر. يمنح ذلك التعديل المقترح متطلباً ملموساً: استعادة الاسم مع إبقاء المحلل المحيط في الموضع الصحيح.

أثناء المراجعة، ميّز موضع تتبع المؤشر عن الموضع الذي يجب أن يستأنف منه المستدعي. الاسم المفكوك المعقول لا يثبت قراءة الحقل التالي بصورة صحيحة. شغّل الاختبارات ذات الصلة بحالات مبتورة وصالحة، وافحص الإزاحة النهائية وقارن نتيجة المحلل المحيط قبل اعتماد التغيير.

يمكنك اختيار نموذج ذكاء اصطناعي منزوع آليات الرفض توفره نقطة نهاية مدعومة متوافقة مع OpenAI أو خاصة بـ Anthropic، مع بيانات اعتماد عند الحاجة. تظل قيود استجاباته وأدواته وحدود سياقه معتمدة على النموذج والخادم. يدعم LabelFen مناقشة المشروع؛ وتقدم مراجعتك وحالات اختبار البروتوكول أدلة القرار البرمجي.

تتبع تصحيح تحليل بروتوكول

لماذا نفحص الإزاحة المعادة إلى جانب الاسم؟

قد يستخدم المستدعي الإزاحة لقراءة الحقل التالي. اسم صحيح مع موضع استئناف خاطئ قد يفسد تفسير بقية الحزمة. أدرج حقلاً تالياً في حالة الاختبار وتحقق من النتيجتين صراحة.

هل يقبل محلل صغير كل أشكال المؤشرات؟

اقبل فقط الأشكال التي يدعمها عقدك الموثق. قارن التنفيذ بتلك المجموعة الفرعية قبل توسيعها. اطلب من النموذج تحديد المدخلات المقبولة حديثاً كي لا يغير التنظيف قواعد قبول البروتوكول بصمت.

ما الذي يجعل حالة الحزمة المبتورة مفيدة؟

ينبغي أن تنتهي عند حد ذي معنى، مثل مؤشر أو تسمية غير مكتملة، وتحدد الرفض المتوقع. راجع ما إذا كان المحلل يفشل قبل استهلاك بايتات غير متاحة، ثم تحقق من معالجة القارئ المحيط للخطأ.

هل يمكن لفحص الحزم كشف بيانات خارج جهازي؟

نعم، حسب إعداد نقطة النهاية والأدوات. فضّل حالات بايتات منزوعة البيانات الحساسة وراجع الوجهات قبل مشاركة الالتقاطات. تشغيل خادم نموذج محلي منفصل لا يجعل كل أداة فحص متصلة أو خدمة خارجية محلية.

تنزيل لنظام Windows ↗

LabelFen · آخر تحديث 2026-10-25