Сети

Отправка и получение UDP-пакетов через Linux CLI

Отправка и получение UDP-пакетов через Linux CLI
Мы уже знаем о двух основных протоколах транспортного уровня, таких как TCP и UDP. Для получения дополнительной информации о TCP и UDP вы можете проверить справочный раздел. В этой статье мы узнаем, как отправлять и получать UDP-пакеты через интерфейс командной строки (CLI) Linux, используя NC (в основном) команда.

Ожидания:

Вот основные моменты, которые следует изучить из этой статьи

  1. Понимать NC команда в Linux.
  2. Использовать NC команда для отправки и получения UDP-пакетов по сети.
  3. Отправьте несколько удобочитаемых предложений через NC команда.
  4. Захватить пакет UDP, отправленный NC команда.
  5. Проверить сетевой пакет в Wireshark.
  6. Найдите любую другую команду, кроме netcat для Linux.

Команда Netcat:

Команда Netcat (nc) по умолчанию установлена ​​в ОС Linux. Откройте один терминал [сочетание клавиш Alt + Ctrl + t] и используйте команду ниже, чтобы проверить, присутствует ли NC или нет.

$ nc

Вот ожидаемый результат

Это nc из пакета netcat-openbsd. Доступен альтернативный NC
в традиционном пакете netcat.
использование: nc [-46bCDdhjklnrStUuvZz] [-I длина] [-i интервал] [-O длина]
[-P proxy_username] [-p source_port] [-q секунды] [-s source]
[-T toskeyword] [-V rtable] [-w timeout] [-X proxy_protocol]
[-x proxy_address [: порт]] [пункт назначения] [порт]

Это означает, что команда nc уже существует в Linux.

Схема общей настройки:

Отправить пакет UDP:

Давайте возьмем пример, как мы отправим пакет UDP из системы A в систему B. Итак, в концепции сервер-клиент мы должны запустить сервер на стороне системы B и клиент на стороне системы A.

Также у нас есть действующие IP-адреса.

Система А IP: 192.168.1.6
Система B IP: 192.168.1.102

Стартовый сервер:

Чтобы запустить сервер с помощью команды nc, используйте команду ниже в терминале системы B

$ NC -u -l 9999

Вот скриншот

На данный момент у этой команды нет выходных данных для отображения. Это просто режим прослушивания порта 9999.

Стартовый клиент:

Чтобы подключиться к серверу с помощью команды nc, используйте команду ниже в терминале системы A

$ NC -U 192.168.1.102 9999

Теперь система A должна подключиться к системе B. Итак, мы предоставили IP-адрес сервера и номер порта.

Вот скриншот

Проверьте подключение:

Мы можем проверить приведенную ниже команду для подтверждения о подключении клиента к порту сервера.

$ netstat | grep 9999

Вот скриншот

Отправлять UDP-пакеты:

Теперь мы можем отправить пакет udp из системы A в систему B и наоборот.

Шаг 1:

Теперь перейдите в систему A и отправьте любые предложения вроде

«Привет, я из LinuxHint [Система A 192.168.1.6] »

Скриншот:

Шаг 2:

Мы должны увидеть это на стороне Системы B. Вот скриншот

Мы также можем отправлять UDP-пакеты из Системы B в Систему A.

Шаг 1:

Перейдите в систему B и отправьте предложение вроде

"Привет, я из LinuxHint [Система B 192.168.1.102] "

Вот скриншот из Системы B

Шаг 2:

Вот скриншот из Системы А

Проверяем пакеты в Wireshark:

Теперь, когда мы отправляем UDP-пакеты из системы A в систему B и наоборот, мы можем запустить Wireshark либо в системе A, либо в системе B. Здесь у нас есть файл захвата, давайте проведем некоторый анализ и подтвердим, использует ли этот сервер и клиент для связи протокол UDP.

Обратите внимание, что мы проанализируем только первое сообщение:

Система A отправила:

«Привет, я из LinuxHint [Система A 192.168.1.6] »

К:

Система B [192.168.1.102].

Мы будем использовать фильтр «UDP.порт == 9999 ” чтобы получить только связанные пакеты в Wireshark. См. Снимок экрана ниже для анализа захвата Wireshark:

Чтобы узнать, как использовать Wireshark, перейдите по ссылке ниже

https: // linuxhint.ru / wirehark_basics_how_to_use /

Другая команда для отправки пакетов UDP:

Есть еще один способ отправки UDP-пакетов

Запустите сервер в системе B:

$ NC -U -L 8000

Выполните команду ниже в системе A:

$ echo -n "привет"> / dev / udp / 192.168.1.102/8000
192.168.1.102: IP системы B
8000: порт сервера
Сообщение отправлено: «привет»

Но мы можем послать только один раз «привет». Если мы убьем сервер и перезапустим его, он заработает.

Заключение:

Из приведенного выше упражнения мы узнали механизм отправки некоторых сообщений по протоколу UDP. И лучший способ - использовать NC команда в Linux.

Рекомендации:

Чтобы понять TCP: https: // linuxhint.ru / tcp_packet_capture_analysis /
Чтобы понять UDP: https: // linuxhint.ru / udp_wireshark_analysis /

Как разработать игру в Linux
Десять лет назад не многие пользователи Linux могли бы предсказать, что их любимая операционная система однажды станет популярной игровой платформой д...
Порты коммерческих игровых движков с открытым исходным кодом
Бесплатные игры с открытым исходным кодом и кроссплатформенные версии игрового движка можно использовать для игры как в старые, так и в некоторые из с...
Лучшие игры с командной строкой для Linux
Командная строка - не только ваш главный союзник при использовании Linux - она ​​также может быть источником развлечений, потому что вы можете использ...