Dự án
Thử gốc, dữ liệu cụt và giới hạn tên bung 255 byte, từ chối dấu sai, chu trình và con trỏ không lùi.
Giải mã tên DNS từ gói tối đa 65535 byte và trả nhãn thô cùng vị trí tiếp theo.
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
Thử gốc, dữ liệu cụt và giới hạn tên bung 255 byte, từ chối dấu sai, chu trình và con trỏ không lùi.
So sánh hành vi thực tế với kết quả mong đợi. Nếu kiểm tra thất bại, tìm nguyên nhân trước khi sửa tiếp.
Cấu hình endpoint tương thích OpenAI hoặc Anthropic bằng URL cơ sở và khóa API nếu cần. Kiểm tra kết nối. Máy chủ mô hình cục bộ phải đang chạy; công cụ từ xa có thể truyền dữ liệu riêng.
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 đưa bảo trì giao thức vào không gian lập trình AI trên Windows. Mở thư mục dự án và mô tả hành vi gói tin cần thay đổi, bao gồm điều giai đoạn tiếp theo mong đợi sau phân tích. Cuộc trao đổi dựa trên các tệp đó có thể nối sửa đổi cục bộ với bộ đọc rộng hơn thay vì đánh giá hàm hỗ trợ chỉ bằng giá trị trả về.
Tên DNS nén cung cấp nhiệm vụ mẫu. Yêu cầu mô hình kiểm tra xử lý con trỏ, từ chối đầu vào sai dạng và độ lệch trả về cho mã gọi. Bao gồm gói tin có tên nén theo sau bởi trường khác. Điều đó đặt yêu cầu cụ thể cho bản vá: khôi phục tên đồng thời để bộ phân tích xung quanh ở đúng vị trí.
Khi rà soát, phân biệt nơi đi theo con trỏ với nơi mã gọi nên tiếp tục. Tên giải mã có vẻ đúng không chứng minh trường tiếp theo sẽ được đọc đúng. Chạy kiểm thử liên quan với dữ liệu hợp lệ và bị cắt cụt, kiểm tra độ lệch cuối và so sánh kết quả của bộ phân tích xung quanh trước khi áp dụng thay đổi.
Bạn có thể chọn mô hình AI đã gỡ cơ chế từ chối do điểm cuối tương thích OpenAI hoặc Anthropic được hỗ trợ cung cấp, cùng thông tin xác thực khi cần. Hạn chế phản hồi, công cụ và giới hạn ngữ cảnh vẫn phụ thuộc mô hình và máy chủ. LabelFen hỗ trợ thảo luận dự án; việc rà soát và dữ liệu kiểm thử giao thức của bạn cung cấp bằng chứng cho quyết định phần mềm.
Mã gọi có thể dùng độ lệch đó để đọc trường tiếp theo. Tên đúng nhưng vị trí tiếp tục sai có thể làm hỏng diễn giải phần còn lại của gói tin. Đưa trường tiếp sau vào dữ liệu kiểm thử và kiểm tra rõ cả hai kết quả.
Chỉ chấp nhận dạng quy ước đã ghi của bạn hỗ trợ. So sánh triển khai với tập con đó trước khi mở rộng. Yêu cầu mô hình xác định đầu vào mới được chấp nhận để dọn mã không âm thầm đổi quy tắc chấp nhận giao thức.
Nó nên kết thúc ở ranh giới có ý nghĩa, như con trỏ hoặc nhãn chưa hoàn chỉnh, và nêu việc từ chối kỳ vọng. Rà soát liệu bộ phân tích thất bại trước khi dùng byte không sẵn có, rồi kiểm tra bộ đọc xung quanh xử lý lỗi ra sao.
Có, tùy cấu hình điểm cuối và công cụ. Ưu tiên dữ liệu byte đã loại thông tin nhạy cảm và rà soát đích đến trước khi chia sẻ bản ghi. Chạy riêng máy chủ mô hình cục bộ không khiến mọi công cụ kiểm tra kết nối hoặc dịch vụ bên ngoài thành cục bộ.
LabelFen · Cập nhật 2026-10-25