Có nhiều câu hỏi ở đây; yêu cầu của "gói không đúng định dạng" có thể là do giảm tải tổng kiểm tra và nếu đó là lỗi sai vì nó phản ánh việc bắt gói không có chế độ xem hoàn chỉnh - một số công việc thay vào đó được thực hiện trên phần cứng mạng. WireShark nên có tài liệu về điều này.
Mặt khác, các công cụ khác nhau (như socat
, nc
hoặc netcat
, hoặc thông qua các tính năng cực kỳ giống nhau trong các vỏ như ksh93
, hoặcbash
) có thể lấy byte từ đầu vào tiêu chuẩn và chuyển chúng vào những gì trở thành gói UDP. Điều này có "phù hợp" hay không phụ thuộc vào giao thức; về mặt lý thuyết, người ta có thể xây dựng và gửi một gói DNS hoặc DHCP theo cách này, mặc dù mọi người thường sử dụng một thư viện hoặc phần mềm chuyên dụng (hy vọng) thực hiện đúng giao thức được đề cập, vì thường có liên quan nhiều hơn là đặt một vài bit vào phần thân của gói và gửi đi qua dây, đáng chú ý là xử lý các phản hồi, thử lại sau khi hết thời gian hoặc lỗi, các trường tiêu đề gói, v.v. Các giao thức thường được ghi lại rất rõ trong RFC hoặc xem loạt sách "TCP / IP Illustrated" bởi Stevens cho nhiều tài liệu hơn.
Các công cụ cụ thể như nmap
làm những việc rất tùy chỉnh với gói xây dựng. Mặt khác, đối với việc xây dựng gói thủ công, ngôn ngữ lập trình thường được sử dụng, mặc dù một lần nữa, hầu hết các phần mềm sẽ sử dụng các thư viện hoặc dịch vụ hệ thống hiện có để gửi DNS hoặc DHCP hoặc các gói UDP khác, vì chúng ít hoạt động hơn và ít bị lỗi hơn so với việc tạo thủ công thô gói từ đầu.