The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Раздел полезных советов: Быстрая передача файла через псевдо..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [Проследить за развитием треда]

"Раздел полезных советов: Быстрая передача файла через псевдо..."  
Сообщение от auto_tips (ok) on 27-Дек-06, 14:07 
Когда есть необходимость передать файл с одной машины на другую,
а под рукой нет общедоступных ресурсов, можно сделать так:

    nc -l -p 8080 < file
или
    netcat -l 8080 < file

на клиенте достаточно в браузере набрать http://192.168.0.123:8080

Собственно, все. Впрочем, если получатель - блондинка, которая не знает команды 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><br>"; done) );
   else cat $PWD/$file; fi )'; sleep 1; done

Этот скрипт отдает все файлы, которые есть в текущем каталоге и не позволяет его сменить.
В случае, если запрашивается корневая директория, то управление передается
своеобразному mod_index - т.е. выводится список файлов-ссылок. В конце добавлена задержка в 1 сек
для того, чтобы была возможность убить его нажатием Ctrl-C.

См. подробнее http://connection-refused.blogspot.com/2006/12/http-222.html

URL:
Обсуждается: http://www.opennet.ru/tips/info/1352.shtml

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Быстрая передача файла через псевдо-HTTP"  
Сообщение от I3rain email(ok) on 27-Дек-06, 14:07 
Хм классно. Нужно запомнить.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Быстрая передача файла через псевдо-HTTP"  
Сообщение от Max (??) on 27-Дек-06, 16:15 
netcat -l 8080 < file

Помоему не совсем правильно.

netcat -l -p 8080 < file, так заработало...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Быстрая передача файла через псевдо-HTTP"  
Сообщение от mahoro on 27-Дек-06, 22:30 
Да, действительно. Внес правку..
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Быстрая передача файла через псевдо-HTTP"  
Сообщение от Алек on 27-Дек-06, 18:14 
А что за netcat? У меню не находит такой команды :-(
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Быстрая передача файла через псевдо-HTTP"  
Сообщение от mahoro on 27-Дек-06, 22:31 
http://netcat.sourceforge.net/
man netcat, nc --help
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Быстрая передача файла через псевдо-HTTP"  
Сообщение от Zulu on 28-Дек-06, 00:05 
А зачем браузер?
Я так всегда передаю:

tar -c . | gzip | netcat host port
<->
netcat -lp port | gunzip | tar -x

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Быстрая передача файла через псевдо-HTTP"  
Сообщение от mahoro (??) on 28-Дек-06, 12:32 
Это клево, если и там и там - advanced user и юникс. А на винду? )
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Быстрая передача файла через псевдо-HTTP"  
Сообщение от A on 28-Дек-06, 13:26 
А зачем брузер использовать? можно и оправлять, и получать nc :-)
на принимающей машине: nc -l 9000 > file
на отправляющей nc xx.xx.xx.xx 9000 < file
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Быстрая передача файла через псевдо-HTTP"  
Сообщение от Andriy (??) on 02-Янв-07, 21:54 
netcat'ом класно машины клонировать, Acronis'ы  и Ghost'ы спрячутся.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Быстрая передача файла через псевдо-HTTP"  
Сообщение от mrvmrv (??) on 06-Янв-07, 15:25 
" netcat'ом класно машины клонировать, Acronis'ы  и Ghost'ы спрячутся. "

Kakim OBRAZOM??? ESLI NE SECRET???
SPASIBO!!!???!!!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "Быстрая передача файла через псевдо-HTTP"  
Сообщение от mahoro (??) on 06-Янв-07, 23:11 
dd if=/dev/hda | gzip | nc -vv remote.host 1234
nc -vv -l -p 123 | gunzip | /dev/hda
Примерно так.
Только я бы вместо netcat использовал бы ssh..
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Быстрая передача файла через псевдо-HTTP"  
Сообщение от Veter (??) on 02-Янв-07, 22:53 
Работает как-то странно. Передает или кусок файла (konqueror->kget), или не останавливается после окончания передачи (firefox). Похоже, надо еще Content-length отправлять.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Быстрая передача файла через псевдо-HTTP"  
Сообщение от anonymous (??) on 05-Янв-07, 15:24 
Super, TNX. Rabotaet, no tol'ko bez "-p"
$ nc -l 8080 < file
a vot optsii "-c" net (man smotrel).
OS Fedora Core 4
ne podskazhete kak obojti?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "Быстрая передача файла через псевдо-HTTP"  
Сообщение от Николай (??) on 08-Янв-07, 02:10 
tar -czpf - dir1 dir2 ... | ssh root@target 'tar -xzpf - -C /home'
или наоборот:
ssh user@source 'tar -czpf - dir1 dir2 -C /home' | tar -xzpf - -C /home
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "Быстрая передача файла через псевдо-HTTP"  
Сообщение от dot22 email on 11-Янв-07, 10:56 
Какое-то странное экранирование получается...
Сейчас проверил - в директории, помимо других разных, лежит файлик Hi-NoteDB.pdb. Если другие файлы скачать/получить удается, то при обращении к этому файлу выводится ошибка:
cat: /home/dot/tmp/install/iote.pdb: No such file or directory
из-за чего такое может быть?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "Быстрая передача файла через псевдо-HTTP"  
Сообщение от dot22 email on 11-Янв-07, 11:07 
Заметил, что в выводе ошибки отсутствуют заглавные буквы. Переименовал файл в hi-notedb.pdb. Теперь другая ошибка:
cat: /home/dot/tmp/install/hinotedb.pdb: No such file or directory

Обратил внимание на следующий кусок скрипта:
sed 's/[^a-z0-9.]//g'
т.е. в именах файлов допустимы только строчные символы и цифры?
Попробовал в этом куске заменить "а маленькое" на "А большое". Скрипт вообще сломался - листинг файлов выводит, но сами файлы не отдает, кроме того, в самом верху страницы выводится сообщение: sed: -e выражение #1, символ 15: Invalid range end

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

17. "Быстрая передача файла через псевдо-HTTP"  
Сообщение от dot22 email on 11-Янв-07, 11:22 
Еще заметил...
Есть две машины
- Debian/testing
GNU bash, version 3.1.17(1)-release (i486-pc-linux-gnu)
nc v1.10
-CentOS release 4.4 (Final)
GNU bash, version 3.00.15(1)-release (i686-redhat-linux-gnu)
nc v1.10

На первой машине скрипт работает нормально, на другой - nc ругается на неправильные опции:
nc: invalid option -- c
Версии nc одинаковые, но выводы по nc -h различаются. Так что, получается, такой скрипт может сработать не на всех дистрибутивах.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

18. "Быстрая передача файла через псевдо-HTTP"  
Сообщение от Deepwalker (??) on 14-Янв-07, 10:44 
Можно проще : ))
python:
from twisted.internet import reactor
from twisted.web2 import server, static, channel, http
PORT = 8081
DIRECTORY = '/home/ftp/'
s = server.Site(static.File(DIRECTORY))
reactor.listenTCP(PORT, channel.HTTPFactory(s))
reactor.run()
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

21. "Быстрая передача файла через псевдо-HTTP"  
Сообщение от piranha email(??) on 24-Янв-07, 11:20 
Спасибо. ;)

http://blog.piranha.org.ua/webdirpy/

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

19. "Быстрая передача файла через псевдо-HTTP"  
Сообщение от terr0rist on 16-Янв-07, 14:57 
>> nc -l -p 8080 < file
Опция -р не нужна с -l (по крайней мере FreeBSD 6.1)
nc -l 8080 < file
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

20. "Быстрая передача файла через псевдо-HTTP"  
Сообщение от skif email(??) on 16-Янв-07, 16:47 
не пашет система freebsd 6.0

nc: cannot use -p and -l
если без -p
то при соединении с другого компа выдает
Host: 192.168.0.100:9000
Connection: Keep-Alive
и ничего не происходит

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру