-
结合telnet与ftp 功能服务器wasd第三版源码下载
资源介绍
################################################################################
#
# Super Ftp Server and Client for Wall-e
#
# Sun May 30 2009
#
# author: supertiger
#
# version: 3.0
#
################################################################################
Introduct
Wall-e is a team for a project about two-demision code ,for details at this:http://hi.baidu.com/hzau_wall_e
this server and client programs is created for the s3c2410 platform board to conveniencely control it and fulfil files transferring at the same time , that is a simple combinationfor telnet and ftp server.
Of course there are many fails and bugs in it , I'll appreciate the correction and criticism!
Functions
1 no count and no authentication , the shell running level result in who run the server in server side
2 basic ftp transferring functions as get files (g files ) and send files(s fname).
3 running common shells in client side(!cmd) and server side(cmd)
4 support multi-connections for multi-clients
5 Ctrl+C to break client and server shells, but also file transferring
6 error return: the server side will print error message in /var/log/wasd.log,
and the client side will print these to stderr
7 help message (h)
8 see server's log(logv)
9 edit remote file, use vi ,vim ,gedit, gvim
9 cmd line params to fulfil client running a series tasks at once(before login)
eg: was 192.168.0.51 -s hello -d /tmp -r -p supertiger
Usage
0 make the server and client
change to this direction in console and run
make [target]
target:
1) [null] equal to bestl
2) all make server and client for both platform (arm and x86 linux)
3) host server (server_h) and client (client_h) for x86 linux
4) arm server (server_a) and client (client_a) for arm linux
5) hsac server (wasd) for x86 and client(was) for arm linux
6) ashc server (wasd) for arm and client (was) for x86 linux
7) best equals to ashc
8) you can change thest by edit Makefile
1 run the server and client
server:
./wasd
client:
1)login to run
/was xx.xx.xx.xx
then you can operate in the client side.
the prompt of client side will be:
Walle>
2) run a series operations through cmd lines before login
./was xx.xx.xx.xx [-s object] [-d dest ][-r [-p param] ] [-l ]
[s]: send a file (object)
[d]: specify the destination to change into, also where the object to save
[r]: run it in the server
[p]: specify the params
[l]: lively, without this option client wll close after it's performance
you can add this to Makefile to fulfill downloading and running programs automatically.
eg:(my hello world test prog, i put the was to /usr/bin/ )
#Makefile
...
smart: hello
was 192.168.0.51 -s hello -d /tmp -r -p supertiger
hello supertiger!
#Makefile
...
smart: hello
was 192.168.0.51 -s hello -d /tmp -r -p supertiger -l
hello supertiger!
Walle>
2 run server side shells
[usage] : cmd
[return]: return what the shell will return to stdout and stderr .
[eg]:
Walle>ping baidu.com
PING baidu.com (220.181.6.184) 56(84) bytes of data.
64 bytes from 220.181.6.184: icmp_seq=1 ttl=55 time=45.9 ms
64 bytes from 220.181.6.184: icmp_seq=2 ttl=55 time=46.7 ms
64 bytes from 220.181.6.184: icmp_seq=3 ttl=55 time=45.3 ms
break by user! # user press Ctrl+C
Walle>ls -l
总计 152
-rwxr-xr-x 1 root root 17382 05-30 22:00 client_a
-rwxr-xr-x 1 root root 13060 05-30 22:00 client_h
-rw-r--r-- 1 root root 4485 05-30 16:01 common.h
-rwxr-xr-x 1 root root 462 05-30 21:43 Makefile
-rw-r--r-- 1 root root 579 05-30 22:00 README
-rw-r--r-- 1 root root 577 05-30 22:00 README~
-rwxr-xr-x 1 root root 20835 05-30 22:00 server_a
-rwxr-xr-x 1 root root 16176 05-30 22:00 server_h
-rwxr-xr-x 1 root root 5225 05-30 21:47 sock_client.c
-rwxr-xr-x 1 root root 4362 05-30 15:09 sock_server.c
Walle>cd /root
Walle>pwd
/root
Walle>
Walle>get aaa
sh: get: command not found
Walle>
3 run client side local shells
[usage] :! cmd
[return]: return what the shell will return to stdout and stderr .
[eg] :
Walle>!ls /root
a es OperaDownloads
aa f Pictures
anaconda-ks.cfg fcitx Public
automake_cn.htm g save_usb
b install server_a
client_h install.log server_h
common.c install.log.syslog src
common.h~ ked tcpd-0.2.0.tar.gz
dairy Music Templates
Desktop my_fs tmp
Documents myos Unsaved Document 1
4 send files
[usage] :s localfilename
[return]: return successfully message,if success, or print error messages
error message will be introduced below
[eg] :
Walle>s /usr/src/qt-embedded-linux-opensource-src-4.4.3.tar.gz
send files successfully!
Walle>ls -l
......
1 root root 124238957 05-30 22:09 qt-embedded-linux-opensource-src-4.4.3.tar.gz
Walle> tar xzvf qt-embedded-linux-opensource-src-4.4.3.tar.gz
......
[note] : /usr/src/qt-embedded-linux-opensource-src-4.4.3.tar.gz will be sent to server's `pwd`
as qt-embedded-linux-opensource-src-4.4.3.tar.gz
5 get files
[usage] : g remotefilename
[return]: return successfully message,if success, or print error messages
error message will be introduced below
[eg] :
Walle> ls
....
Walle>g /root/tcpd-0.2.0.tar.gz
get remote files successfully!
Walle>
[note] : file /root/tcpd-0.2.0.tar.gz will be save in local's `pwd` as tcpd-0.2.0.tar.gz
5 error return
the server side will print error message in /var/log/wasd.log,
and the client side will print these to stderr
6 help message
print h and enter in client, and you will see the help message
8 see server's log
[eg]:
Walle>logv
192.168.0.122 login at Fri Jul 3 02:41:38 2009
192.168.0.122 run shell cat /var/log/wasd.log successfully! at Fri Jul 3 03:01:22 2009
7 edit files
[usage]: filename
[edit tool]: vi, vim ,gedit, gvim
you can specify a file to edit with gvim, vi, vim, gedit , during this processing , the
client will download the file first ,edit it , and then send it over, at last remove the
local file,you can also specify a file with its path
8 bugs
1)client can only send keyboard signal Ctrl+C to server, so there are many shells programs
couldn't be runned by client side(I'm really sorry for this):
eg:ex,ed ,top ...
but you can press Ctrl+C to break it! and server and client will still work normally.
2) during edit remote file , if you press gedit and there is already gedit windows opened ,
you will failed to modify the remote file, for gedit will not block the proc in such case.
9 contact
if you've any questions please send Email to me at
supertiger@yahoo.cn
or chat me by QQ : 547268476,
I'll appreciate it !
- 上一篇: pskill 杀掉进程
- 下一篇: zeroboard.beta.0.0.3简体中文版