Frequently Asked Questions
Question
Как отправить TCP/UDP пакет из командной строки
Answer
Создаем сокет:
exec дескриптор-файла<>/dev/протокол/адрес-узла/номер-порта
где дескриптор файла - число от 3. Например .$ exec 3<>/dev/tcp/192.168.0.1/80
отправка и получение информации из сокетв:
echo -e "GET / HTTP/1.1\r\nhost: 192.168.0.1\r\nConnection: close\r\n\r\n" >&3
cat <&3
Получение данных в переменную:
$ echo -ne $MSG >&3
$ printf $MSG >&3
Закрытие сокета:
$ exec дескриптор-файла<&-
$ exec дескриптор-файла>&-
< и > - на вход и на выход, т.к. открывался <>