Reference Manual

NAME

The NAT32 WEB Interface
DESCRIPTION
NAT32 console windows may embed an Internet Explorer WebBrowser Object for displaying HTML content. This functionality is provided by a small library of functions written entirely in C.

The user can switch a console between Web Mode and Console Mode at any time by using the switch command, or by clicking the Switch icon in the Toolbar, or by pressing F2. To find text in the current web page, press F3. The complete list of shortcuts is shown below:

Ctrl-C          Copy selection to Clipboard
Ctrl-F          Open the Find dialog
Ctrl-G          Enter a URL (supports wild-cards)
Ctrl-H          Show Homepage
Ctrl-V          Paste from Clipboard
Ctrl-S          View page source
ESCAPE          Stop current load
F2              Switch window
F3              Display Find dialog
F5              Refresh
F10             Display Browser Settings dialog
Alt-Left        Go back
Alt-Right       Go forward
In Web Mode, the toolbar contains several additional icons, including navigation icons, a Favourites Viewer icon and a URL combobox. Favourites are the Internet Explorer bookmarks of the current user. They are displayed in a standard Open File dialog box, and clicking any bookmark will display its content in the Web window of the current Console. The URL combobox contains two sections: the links contained in the file url.txt, which is simply a list of URLs that the user can customise as desired, and the Typed Urls from the Windows Registry. The user can browse to any URL in the combobox simply by selecting an entry.

The NAT32 Web Interface allows the execution of any NAT32 command simply by clicking a specially formatted link in a Web page. The mechanism works only in conjunction with the NAT32 Web Server and allows any desired functionality to be incorporated into a set of Web Pages. A small set of such pages is presupplied, but the user may customise those pages to achieve any desired "look and feel". The file nat32.css contains style details common to all pages.

The Active Content feature understands URLs of the following format:

app?cmd=command+arg1+arg2+.....
shell?cmd=command+arg1+arg2+...
tcl?cmd=command+arg1+arg2+.....
java?cmd=command+arg1+arg2+....
file?name=value
filename

The command field in the above list can be any command that the NAT32 Shell understands, followed by the command arguments, which are seperated by + characters instead of the usual white space.

The app?cmd= is special because it returns no content. However, it does place command output in a Javascript variable named result. The output can then be manipulated by page scripts as needed.

TCL scripts and Java applets are also supported. TCL scripts are often used to perform a sequence of actions, such as setting Permanent Port Mappings so that selected unsolicited incoming traffic will be sent to a particular private machine. Java Applets can be executed, and a sample Java class explorer.class is supplied. Note that, contrary to popular belief, Java Classes are platform dependent, and even simple classes like the one above will only run correctly on the Java Virtual Machine for which they were written.

Dynamic Content can be generated by specifying a NAT32 command and arguments in a call to the Javascript function cmdWrite(cmd), where cmd stands for any quoted NAT32 command line.

Dynamic Content can also be generated by specifying NAT32 commands in standard HTML 4.0 Objects as in this example, which produces the content shown on the right:

<object type="text/html"
width=480 height=180
data="shell?cmd=netstat">
</object>

Restrictions are applied to ensure that commands that open a window on the NAT32 machine and that execute programs on the NAT32 machine are only permitted if they are submitted from the localhost IP address (127.0.0.1). A case-sensitive user name and password must first be entered if password checking is on.

Pages served by the NAT32 Web Server contain a special version of the nat32e.gif image (if present). The server replaces all references to that image with references to nat32b.gif. Therefore, all such pages can be identifed by the image on the left.

SEE ALSO
HTTP Server, Password Checking, Permanent Port Mappings, Shell, TCL, Test Page, Web