mTCP Overview 2020-03-07 Version Michael Brutman (mbbrutman@gmail.com) Home page: http://www.brutman.com/mTCP/ PDF documentation is available from the home page. Please download it! (It is not included with the executables because small DOS machines generally can't read PDF files.) Welcome to mTCP! mTCP is a set of TCP/IP applications designed to run well on older x86 personal computers running DOS. Applications include: - DHCP.EXE, a DHCP client for simple network configuration - FTP.EXE, an FTP client - FTPSRV.EXE, an FTP server - HTGET.EXE for fetching files from web servers - HTTPSERV.EXE for serving files on the web using HTTP 0.9, 1.0 or 1.1 - IRCJR.EXE, an IRC client for chatting on IRC networks - NC.EXE, a version of netcat for sending and receiving data using TCP/IP - PING.EXE, a network diagnostic utility - PKTTOOL.EXE, a utility (traffic sniffing and packet driver stats) - SNTP.EXE, a Simple Network Time Protocol client for synching your clock - SPDTEST.EXE, a program for benchmarking your TCP/IP network speed - TELNET.EXE, a Telnet client with reasonable good ANSI terminal emulation The TCP/IP code is compiled into each application allowing for each application to choose the features that they need. This approach allows for better performance, stability, and per-application customization not possible with other approaches, such as a DOS TSR. Detailed end user documentation can be found in the mtcp.pdf file. Included sample files are: - SAMPLE.CFG, a sample mTCP configuration file - FTPPASS.TXT, a sample password file for the FTP server Getting started The documention (mtcp.pdf) has a comprehensive set of instructions for setup. Here is the very quick version: 1. Create an mTCP configuration file (a one-time process). 2. Set an environment variable (MTCPCFG) to point at the configuration file. 3. Load the packet driver for your Ethernet card. 4. Run an mTCP program ... If you need a primer on packet drivers and network cards for DOS, start here: http://www.brutman.com/Dos_Networking/dos_networking.html. Support I want you to have a great experience with mTCP and I provide support via email. Please send your questions and bug reports to me at mbbrutman@gmail.com. The latest mTCP code and documentation can always be found at http://www.brutman.com/mTCP/. If you are running an older version of mTCP please try the latest version first before contacting me; your problem might be a bug that has already been fixed. Don't understand the documentation? That might be my fault. Send me an email with your question and I'll try to make it more clear. Can't make it work? There could be lots of reasons. I try to explain the common problems in the documentation. If you have something that is truly uncommon and you are tired of banging your head on the wall send me an email. There might be a bug or you might just need a gentle prod in the right direction. If you do ask for help via email please send me the following: - the version of mTCP you are running. - the class/type of hardware you are running on. (e.g.: Compaq Portable, PCjr, PS/2, DOSBox, generic Pentium, virtual machine, etc.) - the version of DOS you are using. - the details of your problem including what you think the problem is, what server you are connecting to, how to recreate the problem, etc. If your problem is complex I may ask you to collect traces using the mTCP debug features. Usually we can get to the bottom of the problem. Feature requests In addition to bugs I'm also open to suggestions for new features and new programs. If you are looking for enhancements to mTCP to support a commercial use please send me an email with what you are looking for. I have never accepted any money, beer or cookies for my work, however I have added new features in exchange for a donation to an animal shelter. (You get to choose the shelter.) Licensing This version (2020-03-07) of mTCP is available as open source software under the terms of the GNU General Public License version 3. Please see COPYING.TXT which includes the terms of the license. In short, share and enjoy while respecting the license. Although it is open source software I still maintain the copyright to all of my contributions. As I retain my copyright I am able to offer other licenses; please contact me if you have a special project that requires a different license. The source code is available for download at http://www.brutman.com/mTCP/, which is the projects official home page. Other versions that you might see elsewhere on github, ibiblio, etc. are not official and are not contributed by me. At some point I will upload the source to github under my account there as a backup to my personal web site, but for now the only blessed/verified/official source is at http://www.brutman.com/mTCP/. (I use SVN for my repository; it fits my workflow and the project needs well.) This version of mTCP is free to use. There is no warranty of any kind. While I take pride in my work, this is a hobby project so if it burns down your house, causes an Martian invasion, or gives you indigestion I will feel badly but I'm not legally responsible. Comments or questions? Email me at mbbrutman@gmail.com Lastly, enjoy! -Mike