|
|
|
IP-Multiserv is a small set of Internet servers packed into a single binary
executable file intented to be used on embedded Linux systems. The
set of servers in IP-Multiserv is configurable at compile time,
in order to insert only the useful ones for the targetted application.
IP-Multiserv was designed with requirements for a small embedded system
in mind. The servers are not full featured with bells and whistles, nor
bullet proof against all denial-of-service attacks. Their goal is to provide
correct and robust behavior on small systems in industrial environments.
At present the following servers are implemented into IP-Multiserv:
-
Chargen (port 19 TCP/IP and UDP/IP): a very simple character generator
that sends a repetitive pattern to the client. Useful for network supervision
and debugging. The Chargen protocol is described in RFC 864.
-
Daytime (port 13 TCP/IP and UDP/IP): the Daytime server sends to the
client a character string giving a human readable description of time.
Options allow to choose between local or UTC time, and to format the
time string as desired. The Daytime protocol is described in RFC 867.
-
Discard (port 9 TCP/IP and UDP/IP): This is a kind of network version
of the /dev/null black hole. Every bit sent to this server is silently
discarded. The Discard protocol is described in RFC 863.
-
Echo (port 7 TCP/IP and UDP/IP): The Echo server is a kind of mirror
on the network ; every UDP datagram, or TCP segment received by the
server is returned back to the sender. Useful for network testing and
debugging, but can be abused in a Denial-of-Service attack. The Echo
procotol is described in RFC 862.
-
Ftp (port 21 on TCP/IP): The File Transfert Protocol is an important
service, even for small embedded systems as it allows operations from
remote host with a file manager. This server is designed to be ran by
root, it does authentication directly with /etc/passwd and /etc/shadow
files, because on small embedded systems the PAM mechanism is rarely
present. After authentication, the service goes into the home directory
of the user and takes its UID/GID. The server can accept anonymous
login ; in this case it uses a chroot() into a specific directory. The
FTP protocol is described in RFC 959.
-
Qotd (port 17 TCP/IP and UDP/IP): "Quote Of The Day" is a very simple
protocol to send diary information to clients. The server send back to
its client a sentence read into a file, or obtained from its command
line. If coming from a file, the sentence is re-read each day. The
Qotd procotol is described in RFC 865.
-
Telnet (port 23 TCP/IP): Telnet is a famous protocol allowing remote
login into a system. This implementation is a minimal one, without any
sophisticated option. A command line option allows to choose the login
process. To give access with normal authentication, use /bin/login, to
give access without any authentication (technical support on deeply
embedded system) use /bin/sh. The Telnet protocol himself is defined
in RFC 854, but options are described in various RFC. We used RFC 857
and RFC 858.
-
Tftp (port 69 UDP/IP): The Trivial File Transfert Protocol is a server
that permits downloading and uploading of file into the system. TFTP
does not support any authentication mechanism or information transfert
(list of directory for example) as FTP does. Options allow to choose
the User-ID and Group-ID used by the server process to access files,
thus allowing various configuration from "not any access control" to
"only access to world-readable files". The TFTP protocol is described
in RFC 1350.
-
Time (port 37 TCP/IP and UDP/IP): This server sends back to the client
a binary representation of current GMT time : the number of seconds elapsed
since 1900 january 1st at 00h00. This tool permits automatic
configuration of differents systems on the same local network. The
Time protocol is described in RFC 868.
The next to come are probably:
NTP (Network Time), DHCP (Dynamic Host Configuration),
and SNMP (Simple Network Management).
| | | |
IP-Multiserv is released under the Gnu General Public License (GPL).
| | | |
| |
Download
| |
Download the source code of IP-multiserv:
Previous releases:
| | | |
| |
Changes
|
-
v.0.3.0 - 2004/07/08 - CB -
Improved configuration script with dialog menus.
Added connection logging in FTP server.
Added a small udp_client program to test UDP/IP services.
-
v.0.2.6 - 2004/02/07 - CB -
FTP server:
Added user authentication with /etc/passwd and /etc/shadow.
-
v.0.2.5 - 2004/02/06 - CB -
FTP server:
Intensive check, eliminated some bugs.
Added RNFR and RNTO commands.
-
v.0.2.4 - 2004/02/04 - CB -
FTP server :
Added glob() functionality for LIST/NLST
Added TYPE (I/A) transfert
Added MODE and STRUCT (noop) commands
Added RETR, STOR, STOU, APPE commands
Added SIZE and MDTM
Started some debugging and stress tests.
-
v.0.2.3 - 2004/02/03 - CB -
FTP server:
Implemented HELP, PASV, PORT, and LIST/NLST (with -a and -l options)
-
v.0.2.2 - 2004/01/31 - CB -
Started implementation of FTP server.
Only some commands: USER, PASS, NOOP, ALLO, SYST, PWD, XPWD,
CWD, XCWD, CDUP, XCDP, MKD, XMKD, RMD, XRMD, DELE.
-
v.0.2.1 - 2004/01/26 - CB -
Better Makefile
-
v.0.2.0 - 2004/01/25 - CB -
Created a web site for IP-multiserv. First public release.
-
v.0.1.7 - 2004/01/24 - CB -
Added logging functionalities. Cleaned up debugging routines.
Added a configuration script using dialog interface tool.
-
v.0.1.6 - 2004/01/21 - CB -
Cleaned command line option parsing. Started size optimization.
Created logo.xcf, added logo.gif.
-
v.0.1.5 - 2004/01/20 - CB -
Implementation of the Qotd protocol (rfc.865)
-
v.0.1.4 - 2004/01/19 - CB -
Implementation of the Telnet protocol (rfc.854)
Started gathering usual files: INSTALL, README, LICENCE…
-
v.0.1.3 - 2004/01/18 - CB -
Implementation of the Character Generator protocol (rfc.864)
-
v.0.1.2 - 2004/01/17 - CB -
Implementation of Daytime protocol (rfc.867), Time protocol (rfc.868)
and Discard protocol (rfc.863).
-
v.0.1.1 - 2004/01/12 - CB -
Implementation of echo protocol (rfc.862).
Cleaned the interface between multiserv and the services.
-
v.0.1.0 - 2004/01/02 - CB -
First implementation of multiserv, with TFTP server only (rfc.1350)
| | | |
| |
Links
|
Some useful links in the same area as IP-multiserv
-
BusyBox implements most of the Unix tools
in a single binary executable file. Very useful for
small or embedded Linux systems.
-
TinyLogin offers the authentication and
connection tools for embedded systems.
-
uClibC is a very clean and small implementation
of the C library. Can be very interesting for developpers working
on small systems.
-
The RFC (Request For Comments)
are standards documents and notes describing the various Internet protocols.
-
The GPL is the license under which IP-multiserv
is released.
|
|