HTTP is capable of far more than merely serving web pages. It is indeed 9P for the rest of us. For example, HTTP can trivially support a "remote shell" connection, even between alien platforms (e.g, Mac, UNIX, WinNT). It is fascinating how simple the implementation is, especially considering the power it offers.
A "frameset" below is a snapshot of a remote shell session: a browser running on a Mac displaying a web form fetched from a Linux box; the form's ACTION
is a do-sh.pl
CGI script on a WinNT server being executed by IIS.
Like the ordinary rsh, this facility does not maintain a true remote session, with persistent current directory and other environment. Still do-sh.pl
does keep a session log, of all executed commands and their results. The script runs under UNIX as well as WinNT. To an extent, the script lets you manage a remote (e.g., WinNT computer) through a web interface: you can enter 'net view
', 'net users
', 'net share
', 'dir \\enterprise\temp
', 'del
', etc. WinNT commands on a target computer from any Web browser. Provided that the
target box grants necessary privileges to do-sh.pl
. Fortunately, we do not have to carry the burden of authorization, authentication, etc. ourselves
-- we simply rely on the extensive facilities already built into every
HTTP server.
>>>> net view Server Name Remark ---------------------------------------------------------------- \\DOUG \\ENTERPRISE \\NT-NITES \\PCGINT The command completed successfully. >>>> dir \\enterprise\temp Volume in drive \\enterprise\temp is MICRON Volume Serial Number is 4109-1B07 Directory of \\enterprise\temp 09/02/97 01:08a <DIR> . 09/02/97 01:08a <DIR> .. 04/28/98 04:49p 10,752 ~DFD6F2.tmp 04/27/98 04:22p 10,752 ~DF6E4A.tmp 04/28/98 06:34a 0 ~DFD760.tmp 03/09/98 11:45a 1,099 mso254.csv 12/23/97 08:05a <DIR> VBE 04/29/98 06:36a 10,752 ~DF8987.tmp 04/29/98 06:36a 0 ~DF89C3.tmp |
Version | |
---|---|
The current version is 1.3, May 1998. | |
References | |
do-sh.pl script itself [ The source of this present page includes a web form to call the above CGI script from. | |
Other references | |
|
oleg-at-okmij.org