-\versionid $Id: using.but,v 1.16 2004/01/19 00:19:32 jacob Exp $
+\versionid $Id: using.but,v 1.17 2004/01/20 12:46:35 jacob Exp $
\C{using} Using PuTTY
\b Choose a port number on your local machine where PuTTY should
listen for incoming connections. There are likely to be plenty of
unused port numbers above 3000. (You can also use a local loopback
-address here; see \k{config-ssh-portfwd} for more details.)
+address here; see below for more details.)
\b Now, before you start your SSH connection, go to the Tunnels
panel (see \k{config-ssh-portfwd}). Make sure the \q{Local} radio
this feature is only available in the SSH 2 protocol, and not all
SSH 2 servers support it (OpenSSH 3.0 does not, for example).
+You can also specify an IP address to listen on. Typically a
+Windows machine can be asked to listen on any single IP address in
+the \cw{127.*.*.*} range, and all of these are loopback addresses
+available only to the local machine. So if you forward (for
+example) \c{127.0.0.5:79} to a remote machine's \cw{finger} port,
+then you should be able to run commands such as \c{finger
+fred@127.0.0.5}. This can be useful if the program connecting to
+the forwarded port doesn't allow you to change the port number it
+uses. This feature is available for local-to-remote forwarded
+ports; SSH1 is unable to support it for remote-to-local ports,
+while SSH2 can support it in theory but servers will not
+necessarily cooperate.
+
\H{using-rawprot} Making raw TCP connections
A lot of Internet protocols are composed of commands and responses
\c putty -R 5023:mytelnetserver.myhouse.org:23 -load mysession
\c plink mysession -R 5023:mytelnetserver.myhouse.org:23
+To specify an IP address for the listening end of the tunnel,
+prepend it to the argument:
+
+\c plink -L 127.0.0.5:23:localhost:23 myhost
+
To set up SOCKS-based dynamic port forwarding on a local port, use
the \c{-D} option. For this one you only have to pass the port
number: