LLabelFen
कार्यप्रवाह

कोडिंग कार्यप्रवाह · पीछे संकेतक वाले DNS नाम

03
उत्पाद

कार्यप्रवाह

अधिकतम 65535 बाइट पैकेट से DNS नाम डिकोड करके मूल लेबल और अगला ऑफसेट लौटाएँ। रूट, कटे डेटा और 255 बाइट विस्तृत नाम सीमा जाँचें तथा गलत टैग, चक्र और पीछे न जाने वाले संकेतक अस्वीकार करें।

01

ऐप डाउनलोड करें

फ़ोल्डर चुनें और संपादन से पहले सहायक से संबंधित फ़ाइलें पढ़ने को कहें। काम का उद्देश्य और सीमाएँ बताएँ।

02

प्रोजेक्ट फ़ोल्डर खोलें

संगत endpoint चुनें। उपलब्ध उपकरण और उत्तरों की गुणवत्ता चुने गए मॉडल तथा सर्वर पर निर्भर करती है।

03

मॉडल जोड़ें और जाँचें

बदलाव और कमांड का आउटपुट देखें। परिणाम स्वीकार करने से पहले प्रोजेक्ट की जाँच चलाएँ; बनाया गया कोड अपने आप परीक्षण किया हुआ नहीं होता।

04

बदलाव देखें और परीक्षण चलाएँ

वास्तविक व्यवहार की अपेक्षित परिणाम से तुलना करें। जाँच असफल हो तो अगले बदलाव से पहले कारण समझें।

पीछे संकेतक वाले 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

लागू करने से पहले समीक्षा करें. बदलाव और कमांड का आउटपुट देखें। परिणाम स्वीकार करने से पहले प्रोजेक्ट की जाँच चलाएँ; बनाया गया कोड अपने आप परीक्षण किया हुआ नहीं होता।

AI के साथ कोड का कार्यक्षेत्र

आपका अगला विचार यहीं शुरू होता है।

Windows के लिए डाउनलोड करें ↗