Websalon

DECnet


DECnet ist ein Netz fuer Rechner von Digital Equipment Corporation (:=
DEC), bzw fuer Rechner, die die DECnet-software besitzen. DECnet gibt's
fuer die Betriebsysteme VMS (1), RSX (2), ULTRIX (3), und mit
Einschraenkungen fuer DECnet-DOS, das eine DEC-Variante von MS-DOS
darstellt und auf IBM-kompatiblen Muehlen laeuft. Die physikalische
Grundlage von DECnet ist Ethernet, sowohl als Koax als auch neuerdings
vermehrt Glasfaser. Die kleinste Uebertragungsge- schwindigkeit
betraegt 9600 kBaud, die Groesste 10 MBaud. Es gibt aber nicht nur ein
DECnet, so wie es zb nur ein FIDOnet gibt, sondern sehr viele in der
ganzen Welt mit sehr unterschiedlichen Groessen. Diese diversen DECnets
sind teilweise miteinander verbunden und haben Gateways zu anderen
Netzen. Betrieben werden die DECnets meistens von Unis, Instituten und
aehnlichem, aber auch Firmen haben welche, bzw lassen sich dran
anschliessen. Die meisten DECnet-Installationen enthalten zu 90% VAXen
unter VMS und haben damit eine sehr homogene Benutzeroberflaeche.


Adressierung
------------

Die Adresse eines Rechners im DECnet lautet 'nodename::username', wobei
node:OB

1) ein logical (4) ist
2) eine Zahl zwischen
   2.1) 1 und 1024 ist; damit werden lokale Rechner angesprochen.
   2.2) zwischen 1025 und 64512 (= 2**16-2**10) ist.

Die Zahlenadressierung wird oft in der Form x.y angezeigt. Die
eigentliche Adresse kann dann mit x*1024 + y berechnet werden. Diese 2.
Adressierungsart muss dann verwendet werden, wenn kein logical
verfuegbar ist, d.h. der Systemmanager es nicht fuer
implemantationswuerdig angesehen hat.

In den folgenden Ausfuehrungen werde ich mich auf VMS beschraenken.


Moeglichkeiten
--------------

DECnet bietet eine ganze Reihe von Netzwerkdiensten an:

Remote Login:     mit dem Befehl 'set host <node>' kann man sich auf einem
                  weiteren Rechner einloggen.
                  Beispiel: set host netvax

Remote command:   einen Befehl an einen anderen node schicken.
                  Beispiel: NETDCL.COM  (siehe unten)

Remote job entry: einen task auf einem anderen node starten.
                  Beispiel: NETDCL.COM  (siehe unten)

File Transfer:    ein Filetransfer ist in beiden Richtungen mglich.
                  Entweder mit:
                  copy source  node"user password"::destination
                  oder:
                  copy node"user password"::source  destination
                  Beispiel:
                  copy test.txt netvax"framstag geheim"::disk3:<users.framstag>

Mail:             Jeder User hat in VMS seine eigene mailbox. Wobei mailbox
                  woertlich zu nehmen ist: ein Briefkasten in den der Postbote
                  (:= DECnet) Briefe einwirft oder man selbst Briefe an andere
                  User aufgibt. Angekommene mails werden innerhalb der mailbox
                  gespeichert und beim einloggen wird angezeigt, ob und wieviel
                  mail man bekommen hat.
                  Diese mails koennen dann in normale files umkopiert werden.
                  Beim mail-Aufruf kann entweder ein vorher erstelltes (Text-)
                  File angegeben und abgeschickt werden, oder mail fragt nach
                  dem Text interaktiv.
                  Ist der Adressent eingeloggt, bekommt er die Nachricht, dass
                  er soeben post erhalten hat.
                  Beispiel:
                  mail/subject="neues vom CCC!" test.txt netvax::framstag

Phone:            Das ist die Facility zum chatten! PHONE ist eine interaktive
                  Kommunikation zwischen Usern und entspricht dem TALK bei UNIX
                  oder einem "deluxe-"CHAT bei VM/CMS. Der Bildschirm wird in
                  2 Teile gesplittet, wobei die oberen Haelfte einem selber
                  gehoert, die untere dem Telefonpartner. Nun kann munter
                  drauflosgetippt werden, wobei jeder Buchstabe sofort ueber-
                  mittelt wird und nicht erst der ganze Satz nach <return>.
                  Bei Bedarf kann auch ein Konferenzphone geschaltet werden:
                  der Bildschirm wird dann in x User aufgesplittet... und alle
                  koennen gleichzeitig tippen (*wahnsinnschaos*). Um sich vor
                  einem moeglichen Telefonterror zu schuetzen gibt's die
                  Moeglichkeit sein phone abzuklemmen: set broadcast=nophone
                  Beispiel:  phone 45152::framstag


Wie weiss ich nun welche VAXen in meinem DECnet drin sind?

Da gibt's die schoene Utility mcr ncp, die einem mit
'mcr ncp show known nodes'
... was wohl zeigt?


Tja, und wie komm ich nun an die User?
--------------------------------------

1. Man kennt diesen kommunikationswilligen User. prima, alles paletti
3. Mit 'phone dir node' bekommt man eine Liste der user auf der 'node'-VAX
2. Falls 2. nicht klappen sollte: NETDCL.COM (7)

'NETDCL.COM' muss im aktuellen Directory gespeichert sein. Der Aufruf erfolgt
dann mit:  @netdcl
Vorausgesetzt die ZielVAX laesst einen herein, ist man als User DECNET drin.
Nun schauen wir uns mit 'show user' um, ob jemand bekanntes da ist und phonen
oder mailen ihn an (nach logout vom netdcl).
Aber Vorsicht: es koennte auch ein Prof oder Sysop dahinter stecken,
der gerade beschaeftigt ist. Aber da kann man sich ja noch herausreden mit:
"Ihr phone war nicht abgestellt und da dachte ich mir, ruf doch mal an...."


Wie komme ich nun in's DECnet?
------------------------------

1. login

1.1 Man ist schon drin. Die meisten Unirechenzentren vergeben Accounts auch an
    Studenten.
1.2 Ueber einen oeffentlichen Account; leider gibt's da sehr sehr wenige...und
    es werden immer weniger. Das liegt an dem unkollegialen Verhalten einiger
    'Mithacker', die solange keine Ruhe geben, bis sie Systemprivilegien
    besitzen und die VAX zum Absturz bringen. Spaetestens dann gibt's einen
    oeffentlichen Account weniger. Also, liebe Leut, diese oeffentliche
    Accounts sind extra FUER UNS eingerichtet worden! Die Uni braucht so was
    nicht! Missbraucht diese Gastfreundschaft nicht!
    Einen Tip habe ich: die VAX der FH der Post in Berlin laesst guest herein,
    erlaubt ihm aber dann keinen set host (:= remote login). NUA: 45300090864
    ...und wenn jemand mal im BELWUE ist:  50177::boerse  ist eine offene
    Mailbox

2. mail
   geht eigentlich nur, wenn der Betreffende node noch andere mail-software
   faehrt.   zB: JNET fuer EARN/bitnet-mail oder EAN fuer x.400-mail
   Direkt DECnet zu adressieren geht von aussen nicht.


Was kann ich mit DECnet anfangen?
---------------------------------

Im allgemeinen: fast gar nichts, wenn ich vom User ausgehe, der von aussen ins
DECnet moechte. Der Grund: DECnets sind im Prinzip nicht fuer den oeffentlichen
Zugang ausgelegt. DECnet lohnt sich eigentlich nur fuer den authorisierten User,
sei es nun Universitaetsangehoeriger, Student, Betreiber etc... und latuernich
fuer den Hacker  :-)
Es gibt keine Standard-mailboxen, -server, oder andere nuetzliche Dinge. Der
Betreiber des jeweiligen DECnets muss das schon selber einrichten - und die
meisten tun es leider nicht.

Gateways aus DECnet heraus zu anderen Netzen: Mit FTP oder TELNET ueber TCP/IP
in andere Uni-Netze, wie das BELWUE (6), mit JNET ins EARN/bitnet, mit gMAIL
ins uucp/sub-net, mit EAN ins DFN oder mit psi ins datex-p.


Beispiel eines DECnet(8): Das DECnet im BELWUE
----------------------------------------------

Es enthaelt zur Zeit ca 300 nodes und ist noch im Aufbau begriffen. Vernetzt
sind alle Unis in Baden-Wuertemberg, viele Institute und einige Firmen.


Zum Schluss noch eine Story, direkt aus dem Leben eines DECnet-Users gegriffen:

Es war einmal ...
-----------------

Es folgt nun die unblaubliche Maer wie man aus User Hacker macht:


  Auf jeder VAX gibt es einen Standard-Account DECNET mit pw:= DECNET, der
  aber NICHT mit remote login erreicht werden kann. Dieser Account ist fuer
  verschiedene DECnet-Utilities und als Pseudo-Gast-Account vorgesehen.
  Dieser DECNET-Account hat sehr eingeschraenkte Rechte, so ist zb ein
  editieren oder ein weiterer Netzwerkzugriff nicht moeglich.
  Das HELP-Menue wird vom System eingerichtet und entspricht dem MAN bei UNIX.


Hier an der Uni Ulm gibt es ein *unglaublich* unwissendes Rechenzentrum, mit
einem noch groesseren Mangel an Literatur (mal abgesehen von den 80 kg VAX/VMS-
Manuals). Der aktive User darf sich seine Information, die ueber "run",
"FORTRAN" oder "logout" hinausgehen, selbst suchen. Gut, dass ich im BELWUE-
DECnet noch andere Accounts besitze, wo mehr Informationen fuer den User ange-
boten werden. In einem Tuebinger Rechner fand ich im HELP-Menue die Erklaerung
zur Prozedur NETDCL.COM, die Kommandos an den DECNET-Account anderer VAXen
schickt und dort ausfuehren laesst (remote command). Die Anleitung im HELP-
Menue war Idiotensicher - also auch fuer mich :-)
  Mit "$ mcr ncp show known nodes" bekommt man ja bekanntlich die aktiven VAXen
im DECnet und so probierte ich mal der Reihe nach alle durch, um zu sehen, wo
es noch mehr Infos fuer einen wissensdurstigen User gibt. Mit "help", "dir"
und aehnlichen Befehlen schaute ich mich dann um. Leider haben 2/3 aller VAXen
den DECNET-Account fuer das NETDCL.COM gesperrt , wahrscheinlich aus Angst vor
unberechtigten Zugriff, wie auch immer der aussehen mag.
  Von manchen Systemmanagern kam dann auch ab und zu eine mail an mich, in der
sie sich bei mir erkundigten, ob sie mir weiter helfen koennten bzw einer
schickte mir eine NETDCL.COM -Version fuer ULTRIX.
  Dann, nach einem Monat kam das  G R A U E N  in Form folgender mail von meinem
Systemmanager:
-------
From:   TUEBINGEN::SYSTEM       31-MAY-1989 15:31:11.38
To:     FRAMSTAG
CC:
Subj:   mach bloss kein scheiss sonst fliegst du raus

From:   ITTGPX::SYSTEM       29-MAY-1989 16:46
To:     TUEBINGEN::SYSTEM
Subj:   Systemeinbruch am 01-May-1989

An den Systemmanager des Rechners TUEBINGEN,

wir hatten am 01-May-1989 ueber den DECnet-Account einen Systemeinbruch, der
von Ihrer Maschine ausging. Ueber unser Accounting konnten wir feststellen,
dass Ihr User mit dem Namen FRAMSTAG ueber das "trojanische Pferd" NETDCL.COM
auf unserem Brueckenrechner und auf jedem Rechner unseres VAXclusters einen
interaktiven Login emuliert hat. Nennen Sie uns Namen und Adresse dieses Users
und klaeren Sie den Vorgang vollstaendig auf. Wir weisen Sie darauf hin, dass
sich der User durch diesen Vorgang strafbar gemacht hat. Sollte sich dies wie-
derholen, so sehen wir uns gezwungen entsprechende Gegenmassnahmen einzuleiten.
Wir werden ueberpruefen, ob an unserem System Schaden entstanden ist. Sollte
dies nicht der Fall sein, so werden wir von Massnahmen diesmal absehen. Teilen
Sie uns ueber DECnet die Ergebnisse Ihrer Recherchen mit - wir sind ueber die
Knotennummer 1084::System zu erreichen.

Dipl.-Ing. Michael Hager
---------
Mein Systemmanager drohte mir meinen Account zu loeschen, falls ich nicht
augenblicklich die Sache klaeren wuerde. *schluck* Ich war mir meiner Unschuld
absolut gewiss; nur - wie sag ich's den anderen?
Ich erklaerte klitzeklein alles meinem Systemmanager, was er dann auch geblickt
hat, aber die Strafandrohung schwebte immer noch ....
Also schnell zur Tastatur gegriffen, eine Erklaerungsfile verfasst und ab-
geschickt an diesen wuetenden Systemmanager in Stuttgart. Leider war's nichts
damit: Er hatte keinen Speicherplatz mehr und meine Erklaerungsmail landete
im Nirwana:

$ mail erklaerung
  To:   1084::system
%MAIL-E, error sending to user SYSTEM at 1084
%MAIL-E-OPENOUT, error opening SYS$SYSROOT:[SYSMGR]MAIL$00040092594FD194.MAI;
as output
-RMS-E-CRE, ACP file create failed
-SYSTEM-F-EXDISKQUOTA, disk quota exceeded

Auch der Versuch ihn ueber PHONE zu erreichen lief schief: er hatte in seiner
Hacker-Paranoia auch noch sein PHONE abgklemmt...und nirgenwo gibt's eine
Liste in der die REAL-Adressen von den DECnet-Adressen stehen.

Nun stand ich mit dem Brandzeichen "GEFAEHRLICHER HACKER" da und konnte mich
nicht rechtfertigen. Ich klagte mein Leid bei einem Bekannten, der Sysop im
RZ in Freiburg ist - der fragte bei weiteren ihm bekannten Sysops in Stuttgart
nach. Irgendjemand hatte dann 3 Telefonnummern gefunden. Eine davon war tat-
saechlich richtig.
  Ich bekam auch dann diesen Hager ans Telefon und erzaehlte ihm, was ich denn
auf seinem DECnet-Account gemacht hatte. Er nahm dann auch prompt seine
Vorwuerfe zurueck (von Entschuldigung aber keine Spur). Ich bat ihn schnellst-
moeglichst meinen Systemmanager in Tuebingen Entwarnung zu geben, sonst wuerde
mir noch mein Account geloescht, wie es in einem aehnlichen Fall einem
Komilitonen von mir schon passiert war (auch hier war Hager dran schuld). Er
sagte mir zu, dass er sofort seine Vorwuerfe offiziell zurueckziehen wuerde.
Nach ueber einer Woche ist dies immer noch nicht geschehen (Ich durfte trotzdem
meinen Account behalten); dafuer kam folgende mail an mich (an einen dritten
Account von mir):
---------
From:   1084::HAGER         1-JUN-1989 12:51
To:     50180::STUD_11
Subj:   Systemeinbruch

An den User STUD_11 des Rechners mit der Knotennummer 50180,

Sie haben am 01-Jun-1989 ab 12:29 auf mindestens einem unserer instituts-
eigenen VAXen einen Systemeinbruch begangen. Wir konnten diesen Vorgang
mitprotokollieren. Wir fordern Sie hiermit auf, Rechenschaft ueber diesen
Vorgang abzulegen.

Sollten wir bis zum 09-Jun-1989 keine lueckenlose Aufklaerung ueber den Vor-
fall von Ihnen erhalten sehen wir uns gezwungen, weitere Massnahmen zu er-
greifen. Die dadurch entstehenden Kosten wuerden wir selbstverstaendlich
Ihnen auferlegen. Eine Aufklaerung ist somit in Ihrem eigenen Interesse.

Sie koennen uns ueber DECnet-Mail mit der Adresse 1084::HAGER oder ueber
unten folgende Adresse erreichen.

Institut fuer Technische Thermodynamik und Thermische Verfahrenstechnik
Dipl.-Ing. M. Hager    Tel.: 0711/685-6109
Dipl.-Ing. M. Mrzyglod Tel.: 0711/685-3398
Pfaffenwaldring 9/10-1
7000 Stuttgart-80

  M. Hager
  M. Mrzyglod
----------

Das war, weil ich "$ PHONE 1084::SYSTEM" gemacht hatte.
Auf diese Mail habe ich nicht mehr geantwortet. Ich hab keine Lust mehr.


Anhang: NETDCL.COM
------------------

$ IF f$mode() .EQS. "NETWORK" THEN GOTO network
$ IF p1 .EQS. "" THEN READ/PROMPT="_Node: " sys$command p1
$ nodespec = p1 - "::"
$ nodename = f$extract(0,f$locate("""",nodespec),nodespec)
$ nodespec = nodespec+"""decnet decnet"""
$ ON WARNING THEN CONTINUE
$ CLOSE/ERR=open_server dcl_server
$open_server:
$ OPEN/READ/WRITE dcl_server 'nodespec'::"TASK=NETDCL"/ERROR=open_failure
$ ON WARNING THEN GOTO exit
$flush_output:
$ READ dcl_server record
$ IF record .EQS. "SEND_ME_A_COMMAND" -
  THEN GOTO send_command
$ WRITE sys$output record
$ GOTO flush_output
$send_command:
$ IF p2 .NES. "" THEN GOTO single_command
$ READ sys$command record /PROMPT="''nodename'> " /END=exit
$ record  := 'record
$ IF record .EQS. "EXIT" THEN GOTO exit
$ WRITE dcl_server record
$ GOTO flush_output
$single_command:
$ command := 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8'
$ WRITE dcl_server command
$single_flush:
$ READ dcl_server record
$ IF record .EQS. "SEND_ME_A_COMMAND"-
  THEN GOTO exit
$ WRITE sys$output record
$ GOTO single_flush
$open_failure:
$ ON WARNING THEN EXIT
$ ON error then copy/log netdcl.com 'nodespec'::
$ COPY/LOG Netdcl.Com 'nodespec'::
$ WAIT 0:0:1
$ OPEN/READ/WRITE dcl_server 'nodespec'::"TASK=NETDCL"
$ ON WARNING THEN GOTO exit
$ GOTO flush_output
$exit:
$ CLOSE dcl_server
$ EXIT
$network:
$ OPEN/READ/WRITE dcl_link sys$net
$ SET NOON
$ dcl_verify = 'f$verify(0)'
$ DEFINE sys$output dcl_link:
$server_loop:
$ WRITE dcl_link "SEND_ME_A_COMMAND"
$ READ dcl_link dcl_string /END_OF_FILE=server_exit /ERROR=server_exit
$ 'dcl_string'
$  GOTO server_loop
$server_exit:
$ IF dcl_verify THEN set verify
$ CLOSE dcl_link
$ DEASSIGN sys$output
$ EXIT


Erklaerungen:
-------------
(1) VMS ist das Standardbetriebsystem fuer die VAX
(2) RSX ist das Echtzeitbetriebsystem fuer die PDP 11
(3) ULTRIX ist UNIX fuer VAX
(4) ein logical ist eine (System- oder Prozess-weit verfuegbare) Variable
(5) source und destination sind VMS-Pfad und -Filebezeichnungen,
    allgemeine Form:  disk:<directory.subdir>name.extension
    wobei es latuernich mehrere verschachtelte subdirs geben kann.
(6) BELWUE := Baden-Wuerttembergs Extended LAN
(7) Vorsicht mit NETDCL.COM! Ich hafte nicht fuer die Anwendung
(8) siehe auch der SPAN-Artikel von Stephan Stahl im "Das Chaos Computer Buch"

Als weiterfuehrende Literatur kann eigentlich nur das DECnet Manual von DEC
empfohlen werden.

                                 Framstag      asta@dulruu51.bitnet
                                               asta@rz.uni-ulm.dbp.de
                                               50177::asta  (im BELWUE)
-----------------------------------------------------------------------------