Authors Notes: Getting Acquainted with WebServUSB

WebServUSB - The World's smallest webserver in a USB plug!WebServUSB is a full featured web server embedded in a USB plug. It features HTTP and FTP web services, plus a companion embedded email server program which provides POP3 and SMTP mail services. By plugging WebServUSB into any PC with a USB port, it can enable that PC to become and Intranet (LAN) or Internet based web server. WebServUSB can provide the majority of features of a web server costing thousands of dollars all embedded in the USB flash memory. WebServUSB comes in sizes ranging from 64 megabytes to 1 gigabyte.

WebServUSB's portability makes it easy to move to any PC with a USB port and Intranet/Internet connection. All of the functions, content, and prorgamming remain in  the USB plug and will transfer to whatever PC it is plugged into. For portable Internet operation, a Dynamic DNS service such as www.no-ip.com can be used to allow WebServUSB to have a portable domain name reachable at whatever PC its plugged into. The rugged aluminum case protect it against static discharge, cosmic rays (known to erase flash memory), dust, dirt, and mechanical shock.

WebServUSB can serve one web site or even hundreds! Plus its user database allows both single user and group management of user accounts for HTTP and FTP services. For added security, the user accounts created in WebServUSB have no connection to the user accounts in the Windows based PC which its plugged into via a USB port. Thus even if an account is compromised, the intruder can go no further than the internal structure of WebServUSB! Hackers are left "dangling" out on the USB port with no access to the operating system!

WebServUSB features operational compatibility with almost all types of web content, including server side interactive CGI scripts, Perl, PHP, and a variety of multimedia formats.

WebServUSB is also a very handy tool for anyone who wants to learn how to set up a web server or develop websites beyond just the design stage. It allows you to see how your site will work on the web and includes several functions which permit site enhancements. As a local in-house server for debugging websites, it’s very useful and easy to manage. WebServUSB is also superb for carrying on the road, for use with a Laptop. It provides a great way to setup Intranet or Internet file sharing or distribution for projects where you may need to share documents with many people, such as for training.

WebServUSB is fairly simple to configure. This tutorial is written from the point of view of a complete novice and includes step-by-step instructions to set up the basic server plus an example of how to include an additional function (in this case a PERL based message board). Since WebServUSB is compliant with most standards applied to high end web servers, almost any web server add-on or program will function with it. Simply refer to the manual for the software or service you are trying to install.

In use, WebServUSB functions much like a Unix/Linux based web server even though it operates on a Windows platform. In fact, that's one of its greater strengths because WebServUSB is not prone to the many security weaknesses that plague Microsoft's Internet Information Server (IIS) WebServUSB even has a feature that you can enable to prevent it from broadcasting any information about itself in the HTTP header information, thus confusing potential hackers. Since no specific are published on the Internet about WebServUSB's internal workings, hackers have no points of reference to begin an attack. Unlike IIS, which is integrated into the Windows Operating System, WebServUSB has no connections to the host OS, thus preventing a wide variety of known Windows based security, virus, worm, and Trojan horse exploits.

And finally, WebServUSB offers remote web based administration of its features, and for added security, the web administration can be accomplished via any port number of your choosing, and is configurable from the program interface.

The Equipment

Which kind of test setup?
Are you going to have one machine or two? WebServUSB can work on a single PC, and accessed via the "http://localhost" command, though if you want to treat it as a remote web server you will need WebServUSB to be resident on another computer. This manual assumes PC usages from the start - forget everything else. WebServUSB doesn't run on a Macintosh or Linux machine.

Web Browser: Microsoft Internet Explorer 6 is preferred. Netscape "will" also work, but in testing it has been found to be generally unreliable in displaying web content no matter what web server is being used. Mozilla and other newer web browsers will also work.

For the purposes of setup and testing you can really learn more by using two machines, one to run WebServUSB on and the other to run a web browser and/or FTP program.

Operating Systems: Our preferred is Windows 2000 professional, since its stable and full featured, Windows XP Professional is also good.

Note: Windows XP Home Edition is limited to 6 network connections, so if you are on a large network, you may have trouble serving more than six users from WebServUSB

Windows 98SE (Second Edition) and Windows ME (or as we call it, Mangled Edition) will also work with WebServUSB but we find these two OS's have limited long term stability.  You may be required to reboot every few days. For best results use Windows 2000 Pro or XP Pro. Windows NT4 has limited USB support and is not recommended.

Using One Machine


WebServUSB - The World's smallest webserver in a USB plug!You can access your own machine via a web browser or FTP Program with WebServUSB plugged into it. There are three ways to access it when using an Internet program.

By IP address: 127.0.0.1 is the IP address always reserved for the local machine you are on. You can use this address in an FTP program or a web browser.

By localhost: The name "localhost" is also a reserved machine name. Plug WebServUSB into your USB port, start the HTTP service and then type http://localhost or http://127.0.0.1

By machine name: Lets say you plugged WebServUSB into your laptop. If your Laptops "network name" is JohnsLaptop then you could type http://JohnsLaptop into your web browser on the laptop and get access to WebServUSB

 


Two machines or more or on a network
The thing that is important is your IP addressing. If you are on a network that allows you to simply "plug in and go" then you are probably running whats called a DHCP network (Dynamic Host Configuration Protocol) where the IP addresses of each machine are automatically assigned.

For example:

WebServUSB PC is PC1 and the second machine is PC2

  1. PC1 is: 192.168.0.1
  2. PC2 is: 192.168.0.2

That makes your URL to reach WebServUSB from the second PC“192.168.0.1” or type in http://192.168.0.1

When you browse or FTP from PC2. Do not use “localhost” because you have 2 localhosts and they will get confused.

If you are on a multi machine or corporate network, its possible that you have a "fixed" IP address, such as "64.113.192.66"

Finding your IP address for your machine:

When you set up your network on your PC these settings are at:

  1. Start Menu
  2. Settings
  3. Control Panel
  4. Network
  5. In the Network Window select:
    TCP/IP -> then click whatever your ethernet adapter is
    then Click "Properties"



  6. Then in the TCP/IP Properties:


    1. Click the IP Address tab
    2. Click the ‘Specify an IP address’ radio button
    3. Type into:
      • “on PC1”
        IP Address: 192.168.0.1
        Subnet Mask: 255.255.255.0
         
      • “on PC2”
        IP Address: 192.168.0.2
        Subnet Mask: 255.255.255.0
    4. Write down the IP address.
    5. Click OK to close

       

In running WebServUSB on an Intranet (typically peer to peer or internal office network) you can reach it from another web browser by typing:

Machine name: http://JohnsLaptop

IP Address: http://192.168.0.1 or whatever the IP address of the machine with WebServUSB plugged into is...

For running WebServUSB on the Internet you can reach it from another web browser by typing:

IP Address: http://64.113.192.xxx xxx could be any number, depending on how your machine and local class C block of IP addresses are configured. Check with your Internet Service Provider or Netowrk manager for more information.

 

Now it’s time to get WebServUSB running.