LLabelFen
พื้นที่เขียนโค้ดด้วย AI

ชื่อ 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

โมเดล

ตั้งค่า endpoint ที่รองรับ OpenAI หรือ Anthropic ด้วย URL หลักและคีย์ 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
พื้นที่เขียนโค้ดด้วย AI

ตรวจทั้งผลตัวแยกวิเคราะห์และตำแหน่งที่ทิ้งไว้

LabelFen นำงานบำรุงรักษาโพรโทคอลเข้าสู่พื้นที่ทำงานเขียนโค้ดด้วย AI บน Windows เปิดโฟลเดอร์โปรเจกต์และอธิบายพฤติกรรมแพ็กเก็ตที่ต้องเปลี่ยน รวมถึงสิ่งที่ขั้นถัดไปคาดหวังหลังแยกวิเคราะห์ บทสนทนาที่อิงไฟล์เหล่านั้นเชื่อมการแก้เฉพาะจุดกับตัวอ่านส่วนใหญ่ได้ แทนตัดสินตัวช่วยจากค่าที่คืนเพียงอย่างเดียว

ชื่อ DNS แบบบีบอัดเป็นงานตัวอย่าง ขอให้โมเดลตรวจการจัดการพอยน์เตอร์ การปฏิเสธอินพุตผิดรูป และออฟเซ็ตที่คืนแก่ผู้เรียก ใส่แพ็กเก็ตที่มีชื่อบีบอัดตามด้วยฟิลด์อื่น ทำให้แพตช์มีข้อกำหนดชัด คือกู้ชื่อพร้อมให้ตัวแยกวิเคราะห์โดยรอบอยู่ในตำแหน่งถูกต้อง

ระหว่างตรวจ แยกตำแหน่งที่ติดตามพอยน์เตอร์จากตำแหน่งที่ผู้เรียกควรอ่านต่อ ชื่อที่ถอดแล้วดูถูกต้องไม่ได้พิสูจน์ว่าฟิลด์ถัดไปจะอ่านถูก รันทดสอบที่เกี่ยวข้องด้วยชุดข้อมูลถูกตัดและสมบูรณ์ ตรวจออฟเซ็ตสุดท้าย และเทียบผลตัวแยกวิเคราะห์โดยรอบก่อนรับการแก้ไข

คุณเลือกโมเดล AI แบบ abliterated ที่มีผ่านปลายทางที่รองรับแบบเข้ากันได้กับ OpenAI หรือ Anthropic ได้ พร้อมข้อมูลรับรองเมื่อจำเป็น ข้อจำกัดการตอบ เครื่องมือ และขีดจำกัดบริบทยังคงขึ้นกับโมเดลและเซิร์ฟเวอร์ LabelFen รองรับการอภิปรายโปรเจกต์ ส่วนการตรวจและชุดทดสอบโพรโทคอลของคุณให้หลักฐานสำหรับการตัดสินใจด้านซอฟต์แวร์

ติดตามการแก้ตัวแยกวิเคราะห์โพรโทคอล

ทำไมตรวจออฟเซ็ตที่คืนพร้อมชื่อ

ผู้เรียกอาจใช้ออฟเซ็ตนั้นอ่านฟิลด์ถัดไป ชื่อถูกต้องแต่ตำแหน่งอ่านต่อผิดอาจทำให้การตีความแพ็กเก็ตที่เหลือเสีย ใส่ฟิลด์ถัดไปในชุดทดสอบและตรวจทั้งสองผลอย่างชัดเจน

ตัวแยกวิเคราะห์เล็กควรรับพอยน์เตอร์ทุกรูปแบบหรือไม่

รับเฉพาะรูปแบบที่ข้อกำหนดที่บันทึกไว้รองรับ เปรียบเทียบโค้ดกับส่วนย่อยนั้นก่อนขยาย ขอให้โมเดลระบุอินพุตที่เพิ่งยอมรับ เพื่อไม่ให้การเก็บกวาดโค้ดแอบเปลี่ยนกฎยอมรับโพรโทคอล

ชุดทดสอบแพ็กเก็ตถูกตัดที่มีประโยชน์เป็นอย่างไร

ควรจบตรงขอบเขตที่มีความหมาย เช่น พอยน์เตอร์หรือเลเบลไม่ครบ และระบุการปฏิเสธที่คาดหวัง ตรวจว่าตัวแยกวิเคราะห์ล้มเหลวก่อนอ่านไบต์ที่ไม่มี แล้วตรวจว่าตัวอ่านโดยรอบจัดการข้อผิดพลาดอย่างไร

การตรวจแพ็กเก็ตอาจเผยข้อมูลนอกเครื่องหรือไม่

อาจเกิดได้ ขึ้นกับปลายทางและการตั้งค่าเครื่องมือ ควรใช้ชุดไบต์ทดสอบที่ล้างข้อมูลอ่อนไหวแล้วและตรวจปลายทางก่อนแชร์ข้อมูลจับแพ็กเก็ต การรันเซิร์ฟเวอร์โมเดลในเครื่องแยกต่างหากไม่ได้ทำให้ทุกเครื่องมือตรวจหรือบริการภายนอกอยู่ในเครื่อง

ดาวน์โหลดสำหรับ Windows ↗

LabelFen · อัปเดต 2026-10-25