154 lines
7.9 KiB
Plaintext
154 lines
7.9 KiB
Plaintext
|
||
*************************************
|
||
|
||
|
||
Hacking Arpanet -- Part V
|
||
|
||
by
|
||
|
||
The Source
|
||
|
||
|
||
**************************************
|
||
|
||
PEEKING AND SPYING
|
||
------------------
|
||
|
||
This article discusses the commands that "anonymous guest" can use to learn
|
||
what other people are doing on the system.
|
||
|
||
.HELP PK
|
||
The PK program can be used to PeeK at the input and output buffers of any
|
||
terminal, and the line editor buffer of a display. To run PK, give the monitor
|
||
command "R PK". PK will ask for a terminal line number, and will display that
|
||
terminal's buffers plus the who line of the job, if any, using that terminal.
|
||
PK can also display the contents of some of the internal system variables
|
||
associated with the terminal (see + and - commands below; the default is not to
|
||
display this system data).
|
||
If the selected terminal is hidden (by ESC H), PK will so notify you. You may
|
||
choose to override the hiding, but if so, the selected terminal is notified that
|
||
you are spying on it.
|
||
If you are using a SAIL display, the selected terminal's buffers will be
|
||
displayed on your screen about once per second, like a WHO display.
|
||
If you are using a non-display, the PK information will be typed once.
|
||
While PK is running on a display, you can give it any of the commands in the
|
||
table below to have it display different information (in the table, <cr> means
|
||
carriage return). Whenever PK exits on a DD or III, the last buffer display
|
||
will remain on your screen until you reset your display by BREAK P or by running
|
||
another program.
|
||
|
||
<line number><cr> Display buffers of the given terminal line.
|
||
+<line number><cr> Display given terminal line and enable data display.
|
||
-<line number><cr> Display given terminal line and disable data display.
|
||
<linefeed> Display buffers of the next higher numbered terminal.
|
||
<altmode> Display buffers of the next lower numbered terminal.
|
||
^B^C<digit> Update the display NOW and every <digit> seconds (1:9).
|
||
^B^C0 Update the display NOW, then only once for each command.
|
||
+<cr> Enable display of system internal data at top of screen.
|
||
-<cr> Disable display of system internal data at top of screen.
|
||
<cr> Stop the displaying and exit to the monitor.
|
||
<monitor cmd> Exit and execute the given monitor command.
|
||
|
||
.HELP PPK
|
||
PPK allows you to peek at the screen of someone at a display terminal (a
|
||
DataDisc, III or Datamedia). Say "R PPK", and give it the line number of the
|
||
terminal you want to observe. (For DataDiscs, this is NOT the number reported
|
||
by FINGER; it's the number following the PPN in the person's wholine, and can be
|
||
found with the WHERE command.)
|
||
If you are on a display yourself and have your wholine turned on, PPK changes
|
||
your wholine to be that of the job at which you're peeking. (Your original
|
||
wholine selection is restored when you exit.)
|
||
Once you have selected a lial "observe page printer" mode. (Do NOT follow the
|
||
E or N with a carriage return, or PPK will exit!) Typing another line number
|
||
followed by a carriage return gets you another victim. A raw carriage return
|
||
causes the program to exit.
|
||
If the selected terminal is hidden (by ESC H), PPK will so notify you. You may
|
||
choose to override the hiding, but if so, the selected terminal is notified
|
||
that you are spying on it.
|
||
The display is updated about once every two seconds. You can force an
|
||
immediate update by typing ALTMODE. You can also set the rate by typing
|
||
control-meta-digit, where 1-9 = 1-9 secs and 0 causes the display never to be
|
||
updated (except when you type ALTMODE).
|
||
|
||
.HELP POLL
|
||
POLL accepts an audio channel number and lists those terminals which are
|
||
listening to it, and the PPN, if someone is logged in at that terminal. An
|
||
argument of * will list all nonzero audio channels.
|
||
r poll
|
||
CHANNEL=10
|
||
TV-46: TTY53 JOB 41 [1,BH]
|
||
TV-47: TTY64
|
||
TV-51: TTY52 JOB 46 [1,CR]
|
||
TV-63: TTY33 JOB 7 [SF,SF]
|
||
|
||
.HELP TALK
|
||
The command to communicate with another user is called TALK. It makes
|
||
everything that either one of you types appear on both terminals. (Note: If
|
||
you want to know about the TALK program on the Altos, READ DMCHAT, which
|
||
describes both Alto DMCHAT and Alto TALK. The writeup below is for the TALK
|
||
command on SAIL, which is completely different from Alto TALK.) The argument
|
||
to TALK is either the programmer name of the person you want to talk to, the
|
||
device name of the terminal you want to talk to, or an ARPAnet address. For
|
||
example:
|
||
TALK MRC
|
||
TALK TTY34
|
||
TALK RMS@AI (% is legal as a host name delimiter also).
|
||
The command may fail for any of the following reasons:
|
||
user not logged in (use MAIL)
|
||
user logged in more than once (use a terminal instead of a user spec)
|
||
user gagged or (for ARPAnet TALK) refusing links (use MAIL)
|
||
the ARPAnet site is unreachable or does not support network linking
|
||
When you are in a (local) talk ring, what you type goes only to the terminals
|
||
in the ring, not to the monitor or a user program. To leave the talk ring,
|
||
type [CALL] (control-C from non-displays).
|
||
TALKing to local users does not run a program; hence the core image is
|
||
preserved.
|
||
TALKing to network users runs a program. To leave network talk, type
|
||
<CONTROL><META>[LF] (control-Z from monitor. It is considered antisocial to
|
||
use the TALK command to establish communication with strangers. A better way is
|
||
the SEND command, which will send a message to a user but does not interfere
|
||
with his work. For this reason, the TALK command requires that you be logged
|
||
in. If you don't have an account, you can use SEND to request the user TALK
|
||
to you. Type "HELP SEND" for more info.
|
||
|
||
.HELP WHEN
|
||
Typing WHEN prints out your most recent logout time, and the directory which
|
||
did the logging out. The fact that you are currently logged in does not affect
|
||
this information. As with FINGER, system crashes are not considered to be
|
||
"loggig out". Also, if your directory was deleted when you logged out, it will
|
||
not be included by WHEN. The WHEN command also takes optional arguments. If
|
||
only a single argument is given, it may be typed as:
|
||
WHEN FOO
|
||
If more than one argument is used, separate them by semicolons, not commas. The
|
||
various argument forms are:
|
||
. Report only on current directory.
|
||
* Give latest logouts for all of your directories.
|
||
PRG Give latest logout from among PRG's directories.
|
||
*,PRG Give logouts for all of PRG's directories.
|
||
PRJ,* Give logouts for all directories with project PRJ.
|
||
PRJ,PRG Give latest logout for the single directory [PRJ,PRG].
|
||
*,* Give logout for every directory (not recommended).
|
||
Note that brackets are not included in any of the options. If you are aliased,
|
||
the . and * options will use the aliased ppn. For example:
|
||
WHEN DON;*;S,SYS;ME
|
||
would tell you when DON last logged out (and from which of his directories),
|
||
list all directories for you (or for whomever you're aliased to) with logout
|
||
times, give the latest logout for [S,SYS], and finally tell you when ME last
|
||
logged out.
|
||
If one or more of the directories being listed happens to be logged in at the
|
||
moment, a note will be printed to that effect. If you have asked for the
|
||
latest from among all of someone's directories (including your own, which is
|
||
the default), then you will be told if that user is logged in on ANY of his
|
||
directories. (In the other cases, such as "*,PRG" or "PRJ,PRG" or "." options,
|
||
you are told only if the specific directory is logged in.)
|
||
Note that, even if you are not interested in the logout information, you can
|
||
use WHEN *,FOO to get a list of all of FOO's directories. The other
|
||
command for doing this is DIR [*,FOO]/Q/F. It turns out that WHEN is
|
||
significantly faster and uses fewer disk ops. WHEN is also much faster than
|
||
FINGER for finding out logout times or for finding out whether a specific person
|
||
is currently logged in (though WHERE)
|
||
|
||
an
|
||
FINGER for finding out logout times or for finding out whether a specific person
|
||
is currently logged in (though WHERE)
|
||
|