Як генерувати UDP-пакет


21

Я хочу генерувати UDP-пакет для тестування програми, щось еквівалентне використанню telnet для тестування TCP-порту (Чи може telnet генерувати UDP-пакет?)

Як я можу це зробити?

Відповіді:


35

Одне слово: Netcat

Netcat - ідеальний інструмент для подібних речей.

Ви можете обміняти будь-який порт, який ви обрали, за допомогою пакетів UDP за допомогою чогось такого:

nc -u host.example.com 53 < /dev/random

(53 - номер вашого порту)

Або ви можете надіслати фактичний файл, або наказати йому прив’язати цей порт і прослухати як послугу, або що завгодно.


16

Якщо ви хочете просто надіслати один UDP-пакет з деякими вказаними даними, на відміну від відповіді Satanicpuppy, який постійно надсилає випадкові дані, ви можете зробити:

echo "foo" | nc -w1 -u 111.22.333.4 20000

Чомусь він надсилає кілька пакетів "X", перш ніж надсилати "foo". Використовуючи /dev/udpуникайте цього.
Зупиніть шкодити Моніці

5

Це добре, якщо ви намагаєтесь працювати з великими пакетами. netcat використовує 1024 байти в режимі UDP.

nping --udp -p 2090 111.22.333.4 --data-length 1550

Режим UDP, для порту 2090 за адресою, довжина пакета 1550 байт.

Це з пакету nmap або іноді пакується як nping окремо.

Додаткову інформацію можна знайти за адресою https://nmap.org/book/nping-man-general-operation.html



-1

Ви завжди можете використовувати термінальні програми UDP. Більшість з них також може надсилати / отримувати TCP. Наприклад, сценарій терміналу Docklight має таку можливість. А потім ви надсилаєте дані так само, як і до послідовного порту.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.