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)
|
|
|