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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Надо написать свой интерпретатор для ftp-сервара. Не могу создать коннект.  (Прочитано 523 раз)

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

Оффлайн killingdruid

  • Автор темы
  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
В общем, есть недоинтерпрататор
do_ftp_server(){
AUTH=0 #1- принят логин, 2- принят пароль
STAT=220;
usr=fftp;
pass=lol;
echo Vvedite comandu>fifo
do_user(){
if [ "$1" = "$usr" ]
then
  STAT=330
  AUTH=1
  echo "$STAT Login is right, print a password">fifo
else
  STAT=501
  echo "$STAT Print USER fftp">fifo
fi
}
do_pasv(){
if [ "$1" = "$pass" ]
then
  STAT=230
  AUTH=2
  echo "$STAT Login successful">fifo
else
  STAT=501
  echo "$STAT Print PASV anonymous">fifo
fi
}
do_quit(){
STAT=221
AUTH=0
echo "$STAT Goodbye">fifo
}
clean(){
echo "$1" | sed -e s/\n//
}
do_retr(){
ls | while read x
do
if [ "$1" = "$x" ]
then
   cat "$1" | nc 192.168.0.100 5601 #клиент должен подключиться к       ( например порту nc -l 5601)
   break
fi
done
}
while read cmd args
do
   cmd=$( clean "$cmd")
   args=$( clean "$args")
   case "$AUTH"_"$STAT"_"$cmd" in
      0_*_USER) do_user "$args" ;;
      1_*_PASV) do_pasv "$args" ;;
      2_23*_RETR) do_retr "$args" ;;
      *_*_HELP) echo "USER PASV HELP, use it">fifo ;;
      1_*_QUIT) do_quit ;;
      2_*_QUIT) do_quit ;;
   esac
done
}
cat fifo | nc -l  8080 | do_ftp_server>fifo

Нужно реализовать вход и передачу запрашиваемого файла, А теперь сама суть- не могу написать нормальный коннект  для сервера. Например, на одном терминале запускаю сервак, на другом пишу telnet localhost 8080, у меня к серверу подключается, но если я пишу какие-нибудь команды, то они просто выводятся на серваке и никаких действий со стороны сервака. Искал туеву хучу времени как это сделать в инете- ноль результатов. Помогите плз!

Оффлайн podkovyrsty

  • Старожил
  • *
  • Сообщений: 1547
  • Content-Type: alternative
    • Просмотр профиля
Ну вы почитали бы - что ждет от вас типичный сервер и в каком виде - какие спецсимволы например, посмотрели бы примеры других скриптов в инете?
И попробовали бы на вашем.
Шаг за шагом можно достичь цели.

 

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