Ожидания:
Вот основные моменты, которые следует изучить из этой статьи
- Понимать NC команда в Linux.
- Использовать NC команда для отправки и получения UDP-пакетов по сети.
- Отправьте несколько удобочитаемых предложений через NC команда.
- Захватить пакет UDP, отправленный NC команда.
- Проверить сетевой пакет в Wireshark.
- Найдите любую другую команду, кроме 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/8000192.168.1.102: IP системы B
8000: порт сервера
Сообщение отправлено: «привет»
Но мы можем послать только один раз «привет». Если мы убьем сервер и перезапустим его, он заработает.
Заключение:
Из приведенного выше упражнения мы узнали механизм отправки некоторых сообщений по протоколу UDP. И лучший способ - использовать NC команда в Linux.
Рекомендации:
Чтобы понять TCP: https: // linuxhint.ru / tcp_packet_capture_analysis /
Чтобы понять UDP: https: // linuxhint.ru / udp_wireshark_analysis /