📄 readme
字号:
This server is a Multithreaded TFTP Server based on Trivial File Transfer Protocoland is normally used for PXE Boot or storing/retrieving router images. It supports advanceoptions like tsize, blksize, interval and Port Ranges.MultiThreaded server (tftpservermtV1.3) listens on liartening port for new requests,however further communication is done on any free server port (from specified port range),using new independent thread.If you are not able to open multiple ports in firewall, other than listening port, youcan try single port version (tftpserverspV1.3) of this server. Single port version respondson same port where it listens. Single port version can also serve multiple clientsat same time despite single port/thread being used. It is only little slower thanmultithreaded server.This is sixth stable Release 1.3NEW FEATURES in Release 1.31) Listening ports can also be specified. Ports more than 1024 do not need root account2) Block size can now be as large as 65531.3) Block Number rollover added, allowing transfer of files of any size.NEW FEATURES in Release 1.21) Multiple Listening Interfaces can be specified.2) Logging has been added.3) Multiple directories can be added to home using aliases4) Permitted Hosts can be specifiedINSTALLATIONExpand the .gz file to an directory, using shell, goto that directory,edit tftpserver.ini file (may just specify home dir), move tftpserver.inifile to /etc directory.This program runs in two modes:-a) Debug Mode (using -v argument)b) Daemon (using no argument)This program may be setup to start automaticallymodifying boot scripts /etc/rc.d/rc.local file or/etc/inittab file. Never include -v (verbatim flag) whilerunning as Daemon from these scripts.COMPILINGThe included file tftpserver is an executive file for Linux/Intel only.YOU NEED TO RE-COMPILE ON Other non-intel Platforms like AIX, Solaris on GCC as:-g++ tftpserver.cpp -lpthread -otftpservercc tftpserver.cpp -otftpserver -lsocket -lnsl -lpthread (on solaris)TESTINGThis server runs in Debug Mode (with flag -v) or as Service (without any flag).give following command as root:-tftpserver#./tftpserver -vYou will see following results:-Starting TFTP...alias /routers is mapped to /home/knoppix/listening On: 127.0.0.1:69listening On: 192.168.0.100:69permitted Clients: allserver port ranges: allmax blksize: 65531defult blksize: 512default interval: 3overwrite existing files: noAccepting requests..Now open one more shell and give following commands:-$tftp localhosttftp>get {some file name in home dir}Received 13112 bytes in 0.0 secondsand on server you may seeclient 127.0.0.1:xxxxx file ...... # blocks servedCONFIGURATIONYou need home directory(s) to be set in tftpserver.ini file, andmove this ini file to /etc direcory. you may leave otherparameters commented like blksize and interval.LICENSE1) This program is released under GNU GENERAL PUBLIC LICENSE, Version 2, June 19912) This document is also released under above license.DEBUGIf program is not responding:-1) Ensure that you run this program as root only if listening on ports less than 1024.2) Check network hardware.3) Run in verbatim mode first (with -v flag), it will provide all debug information as it verbatim the activities.4) Errors like "bind failed" means another tftpserver is running and listening at port 69. You can only have one tftp server running at a time. It may also come if interface specified under [LISTEN-ON] is not physically available on Server. If you have specified [LISTEN-ON] option, check that ip and interface are Active. root account is needed for listening on ports less than 1024 including tftp default port 69. If you are not using root account and using default port or port less than 1024, you may still get this error.5) You may try recompiling (see COMPILING above).6) Errors like "libstdc++.so.?: cannot open shared object file: No such file or directory" are possible in some Unix/Linux flavours. Please recompile the program or create symbolic links:- ln -s /usr/local/lib/libstdc++.so.? /usr/lib/libstdc++.so.? ln -s /usr/local/lib/libgcc_s.so.? /usr/lib/libgcc_s.so.? (? is library version as reported in error) or add the library path (directory where above file is) to env variable LD_LIBRARY_PATH.7) Max size of file being transfered depends on block size, the max block count being 65536, it would be 512*65536 or 32MB. This limitation can be increased by increasing block size upto 65531 which makes the max file size to 4.2 GB. However the block size also depent on client. Some clients like Linux support block number rollover, which make the max file size unlimited, irrespective of block size.UNINSTALLATIONJust remove the program directory. You should also remove entries from initialize scripts of your machine.If you find any problem with this program or need more features, please send mail to achaldhir@gmail.com.You may also send thanks email if it works fine for you.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -