23.01.2007 14:06
OlegON
 
Когда есть необходимость передать файл с одной машины на другую,
а под рукой нет общедоступных ресурсов, можно сделать так:

Код:
    nc -l -p 8080 < file
или
Код:
    netcat -l 8080 < file
на клиенте достаточно в браузере набрать

Собственно, все. Впрочем, если получатель - блондинка, которая не знает команды File-Save, можно написать так:
Код:
   (echo -e "HTTP/1.1 200\nContent-Disposition: attachment; 
   filename=gena_na.png\nContent-Type: application/octet-
   stream\nConnection: close\n"; cat vim_mrxvt.png ) | nc -vv -l -p 8080
Но это еще не все. Можно дать доступ к целой директории, написав простой HTTP сервер в одной строке:

Код:
   while true; do nc -vv -l -p 8080 -c '( read a b c; file=`echo $b | sed 's/[^a-z0-9.]//g'`; 
   if [ a$file = "a" ]; then ( ls | (while read f; do echo "<a href=$f>$f</a>
"; done) ); 
   else cat $PWD/$file; fi )'; sleep 1; done
Этот скрипт отдает все файлы, которые есть в текущем каталоге и не позволяет его сменить.
В случае, если запрашивается корневая директория, то управление передается
своеобразному mod_index - т.е. выводится список файлов-ссылок. В конце добавлена задержка в 1 сек
для того, чтобы была возможность убить его нажатием Ctrl-C.

См. подробнее
Часовой пояс GMT +3, время: 15:11.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.