Инструментальные средства обеспечения безопасности


Создание конвейеров данных: создай собственный FTP - часть 2


nc-u target 55555 > sysinfo.txt

В чем разница? Обе команды перенаправляют вывод скрипта с помощью конвейера на Netcat, находящийся в режиме прослушивания, таким образом, что данные пересылаются вне сети через установленное кем-то соединение. Опция -e "передает" ввод/вывод приложению, которое выполняется. Когда скрипт sysinfo завершит свой вывод (вместе с командой EOF), прослушивающая программа завершит работу, и то же самое произойдет с клиентом на другой принимающей стороне. В случае если скрипт sysinfo будет поставлен на входе конвейера, его вывод по прежнему будет передаваться клиенту, но Netcat будет удерживать поток ввод/вывода. Клиент не получит на вход команду EOF и останется в ожидании передачи какой либо информации.

То же самое можно сказать и о "перевернутом" примере. Что будет, если вы работаете на машине, на которую передается информация, и хотите инициировать соединение с программой Netcat, находящейся в режиме прослушивания на вашей "домашней" машине? Если Netcat выполняет прослушивание на "домашнем" хосте, после запуска команды nc -l -u -p 55555 > sysinfo.txt, у вас вновь будут две возможности:

nc -u -e sysinfo homehost 55555

или

sysinfo | nc -u homehost 55555 Совет. В Unix-системах, если команда, которую вы хотите выполнить с использованием опции -e, находится вне текущей директории, из которой запущен Netcat, необходимо определить полное имя команды. Под управлением Windows Netcat может воспользоваться переменной %PATH% и не имеет таких ограничений.

Разница в использовании конвейера и состоит том, останется ли клиент открытым после того, как скрипт закончит свою работу. Использование опции -e указывает клиенту Netcat закончить работу немедленно после завершения работы скрипта sysinfo. Различие этих двух режимов работы становится совершенно очевидным, если вы хотите выполнить приложение на удаленном хосте и передать ввод/вывод через конвейер Netcat (как об этом говорилось в разделе "Получение удаленного доступа к командной оболочке").




- Начало -  - Назад -  - Вперед -