Тут є кілька запитань; претензія на "неправильно сформований пакет" може бути наслідком завантаження контрольної суми, і якщо це помилкова помилка, оскільки вона відображає захоплення пакету, не має повного перегляду - натомість частина робіт була виконана на мережевому апаратному забезпеченні. WireShark повинна мати документацію щодо цього.
В іншому випадку різні інструменти (такі як socat
, nc
або netcat
через надзвичайно подібні функції оболонок, такі як ksh93
або bash
) можуть приймати байти зі стандартного введення та скидати їх у те, що стає пакетом UDP. Чи є це "правильним", залежить від протоколу; теоретично можна побудувати та надіслати пакет DNS або DHCP таким чином, хоча частіше люди використовують бібліотеку або спеціальне програмне забезпечення, яке (сподіваємось) правильно реалізує відповідний протокол, оскільки зазвичай набагато більше, ніж встановлювати кілька біт у тіло пакету та надсилання його по дроту, зокрема обробка відповідей, повторна спроба після таймауту або помилки, поля заголовка пакету тощо. Протоколи, як правило, дуже добре задокументовані в RFC, або дивіться книгу "TCP / IP Illustrated", серію книг Стівенс для ще більшої документації.
Конкретні інструменти, такі як nmap
робити дуже замовні речі з побудовою пакетів. Інакше для ручної побудови пакетів зазвичай використовується мова програмування, хоча знову ж таки більшість програмного забезпечення використовуватиме існуючі бібліотеки або системні служби для надсилання DNS або DHCP або інших пакетів UDP, оскільки це набагато менше роботи і набагато менше схильності до помилок, ніж обробка сировини вручну пакет з нуля.