Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: unix shell simple ftp-server, netcat  (Прочитано 1430 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ADL

  • Автор темы
  • Активист
  • *
  • Сообщений: 447
    • Просмотр профиля
unix shell simple ftp-server, netcat
« : 08 Ноября 2012, 10:37:50 »
Есть такое задание: реализовать фтп-сервер, пускающий человека под любым логином и паролем, показывающий ему файл с именем пользователя и содержащий его пароль

Как решал: запускаем прослушивание на порту 12345 неткатом и скармливаем скрипт логина

#!/bin/bash
while true
do
    nc -l -p 12345 -c ./log_script
done

./log_script:

#!/bin/bash
 
echo -n "login: "
read log
echo -n "password: "
read pass
 
if echo "$pass">$log;then
    echo "File $log created. $log :"
    cat $log
else
    echo "Error"
fi

Если подключаться неткатом, то все нормально.

$ nc localhost 12345
login: log1
password: pass1
File log1 created. log1 :
pass1

Вопрос: как сделать так, чтобы можно было подключиться обычным фтп-клиентом? Если нужно посылать заголовки(220 ready, USER, PASS), то куда их необходимо вставить в скрипте?


Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: unix shell simple ftp-server, netcat
« Ответ #1 : 08 Ноября 2012, 10:54:34 »
mount брат curlftpfs
Wars ~.o

Оффлайн ADL

  • Автор темы
  • Активист
  • *
  • Сообщений: 447
    • Просмотр профиля
Re: unix shell simple ftp-server, netcat
« Ответ #2 : 08 Ноября 2012, 11:05:15 »
и как это поможет в данном задании?

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: unix shell simple ftp-server, netcat
« Ответ #3 : 08 Ноября 2012, 11:10:44 »
#!/bin/bash
ftp1 ()
{
h="ftp.narod.ru"
u="user"
p="password"
ftp -v -n -p "$h" << EOF
user $u $p
`echo -e "$a"`
quit
EOF
}
ftp1 "mkdir 2012-12-12\ncd 2012-12-12\nls"

Пользователь решил продолжить мысль 08 Ноября 2012, 11:28:03:
а вот без апаче похож https://forum.ubuntu.ru/index.php?topic=204335.msg1553576#msg1553576
« Последнее редактирование: 08 Ноября 2012, 11:29:06 от victor00000 »
Wars ~.o

Оффлайн ADL

  • Автор темы
  • Активист
  • *
  • Сообщений: 447
    • Просмотр профиля
Re: unix shell simple ftp-server, netcat
« Ответ #4 : 08 Ноября 2012, 11:30:07 »
мне к localhost надо подключаться. порт слушает netcat. 
если примерно так делать как в вашем скрипте, то

ftp: connect: Connection refused

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: unix shell simple ftp-server, netcat
« Ответ #5 : 08 Ноября 2012, 11:37:00 »
Цитировать
ftp: connect: Connection refused
это
h="ftp.narod.ru"
u="user"
p="password"
?

Пользователь решил продолжить мысль 08 Ноября 2012, 11:39:48:
ну пиши
h="localhost"
u="user"
p="password"
« Последнее редактирование: 08 Ноября 2012, 11:39:48 от victor00000 »
Wars ~.o

Оффлайн ADL

  • Автор темы
  • Активист
  • *
  • Сообщений: 447
    • Просмотр профиля
Re: unix shell simple ftp-server, netcat
« Ответ #6 : 08 Ноября 2012, 11:44:13 »
1. запускаю nc -lp 12345
2. ftp -v localhost 12345 << EOF
> user
> passwd
> quit
> EOF
Connected to localhost.


Name (localhost:toha):
Login failed.


если вот так делать. как обработку прикрутить к netcat'у ?

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: unix shell simple ftp-server, netcat
« Ответ #7 : 08 Ноября 2012, 11:47:30 »
ftpd -Dэто сервер, а верх скрипт клиент.
Wars ~.o

Оффлайн ADL

  • Автор темы
  • Активист
  • *
  • Сообщений: 447
    • Просмотр профиля
Re: unix shell simple ftp-server, netcat
« Ответ #8 : 08 Ноября 2012, 11:48:50 »
мне нужно реализовать мини фтп-сервер с помощью netcat

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: unix shell simple ftp-server, netcat
« Ответ #9 : 08 Ноября 2012, 12:18:51 »
у меня стоит серыер скрипт тест, а вы клиент.
netcat 5.231.6.184 12345ну как тест?
Wars ~.o

Оффлайн ADL

  • Автор темы
  • Активист
  • *
  • Сообщений: 447
    • Просмотр профиля
Re: unix shell simple ftp-server, netcat
« Ответ #10 : 08 Ноября 2012, 12:20:31 »
ftp -v 5.231.6.184 12345
ftp: connect: Connection refused
ftp>

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: unix shell simple ftp-server, netcat
« Ответ #11 : 08 Ноября 2012, 12:23:31 »
netcat 5.231.6.184 12345
Wars ~.o

Оффлайн ADL

  • Автор темы
  • Активист
  • *
  • Сообщений: 447
    • Просмотр профиля
Re: unix shell simple ftp-server, netcat
« Ответ #12 : 08 Ноября 2012, 12:25:14 »
мне нужно чтобы можно было подключиться обычным фтп-клиентом. Он спросил логин и пароль и создал файл(логин), внутри которого пароль. Неткатом если подключаться то работает. Смотрите первый мой пост

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: unix shell simple ftp-server, netcat
« Ответ #13 : 08 Ноября 2012, 12:25:45 »
ADL,
а не фтп, причём тут фтп? я програмер фтп?
Wars ~.o

Оффлайн ADL

  • Автор темы
  • Активист
  • *
  • Сообщений: 447
    • Просмотр профиля
Re: unix shell simple ftp-server, netcat
« Ответ #14 : 08 Ноября 2012, 12:33:36 »
надо именно чтобы обычным фтп-клиентом заходило. спасибо за помощь

 

Страница сгенерирована за 0.016 секунд. Запросов: 22.