# Debuggen 3

#

##### > OS/2 net index <

Waar zit het?

Logbestanden bekijken

Netwerkopdrachten

# NET-opdrachten

#

### Het NetBIOS als protocol

##### > Top <

NetBIOS staat voor het Network Basic Input/Output Systeem. Dit door IBM ontwikkelde protocol is de standaard in de lokale netwerken (Local Area Network) geworden en wordt o.a. door OS/2 en Windows gebruikt.

Het NetBIOS is te te vergelijken met het eveneens door IBM ontworpen IBM PC BIOS: Het inmiddels door de PC klonenbouwers gekraakte IBM PC BIOS fungeert voor DOS programma's als een veilige en transparant medium (interface) naar uiteenlopende maar IBM BIOS compatibele hardware. Programma's hoeven slechts de BIOS functies aan te roepen en het karwei wordt door de hardware geklaard.

In een multitasking omgeving zullen de BIOS functies door het besturingssysteem worden geëmuleerd. Dit is nodig om gelijktijdige toegang tot de hardware door meerdere programma's te voorkomen. Een modern besturingssysteem zal bovendien de hardware direct (d.w.z. met zijn eigen stuurbestanden en dus buiten het BIOS om) zien te benaderen. Dit levert snelheidswinst op. En het zal via zijn Application Programming Interface (API) bibliotheken nieuwe functionaliteit aan zijn programma's leveren.

Maar DOS programma's kunnen nog steeds de basale BIOS functies aanroepen. Dat kan onder DOS, de Virtual Dos Machine (VDM) van OS/2, Linux' DOSEMU en onder de meeste versies van Windows.

Met het NetBIOS speelt iets soortgelijks. Applicaties die er gebruik van maken hoeven zich niet om details van de communicatie (onderliggende hardware en netwerkprotocollen) te bekommeren. Dergelijke programma's zijn gemakkelijk te porteren naar andere platformen die NetBIOS functies ondersteunen. Het NetBIOS is immers een alles (OS en netwerkprotocol) overkoepelende standaard, die bijv. ook via TCP/IP of NetWare IPX te benaderen is. Maar ieder OS is vrij om meer of minder functionaliteit aan haar NetBIOS uitvoering (implementatie) te geven.

Voor meer informatie zie : 4.1.5 Network Basic Input/Output System (NetBIOS) in het "LAN Concepts and Products: LAN Architecture" Redbook van IBM.

Ik richt me nu verder op de praktijk. Hierbij concentreer ik me op de basale NET-opdrachten. Dit omdat deze goed in scripts (autoexec.bat, setup.cmd) te verwerken zijn en de grafische programma's die ze gebruiken niet (veel) meer zijn dan grafische front-end voor deze basale hulpmiddelen voor de prompt.

#### Universal naming convention (UNC) namen

Veel applicaties (Lotus) en hulpprogramma's kunnen met de universal naming convention namen omgaan. Een UNC naam bestaat uit drie componenten: \\server\share\pad.

Het gebruik van UNC namen is vooral handig in scripts.

[F:\]copy \\zolder\samba\homepage\*.* f:\hp\
\\zolder\samba\homepage\bgebruik.txt
\\zolder\samba\homepage\count
\\zolder\samba\homepage\count.txt
\\zolder\samba\homepage\fond_ora.jpg
\\zolder\samba\homepage\index.htm
\\zolder\samba\homepage\index.html
\\zolder\samba\homepage\links.html
\\zolder\samba\homepage\index.html
\\zolder\samba\homepage\staroffice.gif
\\zolder\samba\homepage\yellow.jpg
10 bestand(en) gekopieerd.

Helaas wordt XCOPY niet op deze manier ondersteund.

### NET-opdrachten en het NetBIOS

Met de vrij simpele NET-opdrachten kunt u van alles op een NetBIOS netwerk doen. Er is dus geen grafische interface voor nodig. Het NetBIOS protocol bestond al voordat de OS/2 GUI (laat staan de Windows GUI) ontworpen was. Veel NET-opdrachten werken ook onder de Windows prompt.

[F:\]net

De syntaxis van deze opdracht is als volgt:

NET { ACCESS | ACCOUNTS | ADMIN | ALIAS | APP | AUDIT | COMM |

CONFIG | CONTINUE | COPY | DASD | DEVICE | ERROR | FILE |

FORWARD | GROUP | HELP | LOG | MOVE | NAME | PASSWORD | PAUSE |

PRINT | RUN | SEND | SESSION | SHARE | START | STATISTICS |

STATUS | STOP | TIME | USE | USER | VIEW | WHO }

NET [OPDRACHT] geeft dus toegang tot de NetBIOS functies. Een goede NET-opdracht om mee te beginnen is: NET HELP | MORE

De syntaxis van deze opdracht is als volgt:

NET HELP [opdracht [/OPTIONS]]

NET HELP onderwerp

NET opdracht [/HELP]

[/?]

Help is beschikbaar voor deze hulpprogramma's:

* AT DSPDOMDF * GETRPL * MAKEIMG * PROFILER

BACKACC FIXACC * HDCON * MKRDPM RESTACC

* CACHE386 * FTADMIN LSAUDIT * MMUTIL * RPLENABL

* CHGSRVR * FTMONIT LSERROR NETMSG * RPLDSABL

* CHKSTOR * FTREMOTE * LTU * PREPACL * THIN386

* DLIMFIX * FTSETUP * MAKEDISK * PRIV

Help is beschikbaar voor deze NET-opdrachten:

ACCESS COPY MOVE START

ACCOUNTS DASD NAME STATISTICS

ADMIN DEVICE PASSWORD * STATUS

* ALIAS ERROR PAUSE STOP

APP FILE PRINT TIME

AUDIT FORWARD * RUN USE

COMM GROUP SEND USER

CONFIG HELP SESSION VIEW

CONTINUE LOG SHARE * WHO

* Deze hulpprogramma's en NET-opdrachten gelden niet voor het

programma Bestanden en Printers Client.

Help is beschikbaar over deze speciale onderwerpen:

NAMES SYNTAX

Typ NET HELP opdracht | MORE als u de Help-informatie scherm voor scherm

wilt afbeelden.

#### Net view

Welke servers zijn er in de netwerkomgeving?

[I:\]net view
Naam server Opmerking
\\LAPTOP Samba 2.0.5a
\\VISSER OS/2 WARP
\\ZOLDER zolder PC

Dit werk alleen met in \IBMLAN\IBMLAN.INI:

srvhidden = no

Wat heeft de server te bieden? Hier moet u de met "net view" de "\\server" specificeren:

[I:\]net view \\LAPTOP

Gemeenschappelijke resources bij \\LAPTOP

Samba 2.0.5a

naam resource Type Gebruikt als Commentaar

ascii Afdrukken cdjcolor-a4-ascii-mono-300

cdjcolor-a4- Afdrukken cdjcolor a4 raw

cdrom Schijf Linux CD-ROM

Docs Schijf Mijn Documenten

lp2 Afdrukken cdjcolor-a4-auto-mono-300

In dit geval wordt een onder Linux draaiende samba server getoond die naast Windows op de laptop staat. Omdat ik niet aan de Novell\Windows configuratie van de systeembeheerder mag komen gebruik ik Linux voor bestandsuitwisseling met mijn eigen LAN. De samba server presenteert "Mijn documenten" als de share "Docs".

Niet alle shares zijn te zien. Onder samba kunt u met de optie:

browseable = no

in /etc/smb.conf voorkomen dat een share in een netwerkomgeving wordt gezien. Daarnaast is een firewall (ipchains) en het goed instellen van hosts.deny (ALL:ALL) en hosts.allow (ALL: 192.168.0.0) van belang om te voorkomen dat de shares elders te zien zijn.

Nog even snel met Linux op zolder verbinden :

Wat is de netwerkomgeving?

[H:\]net view
Server Name Remark
______________________________________________
\\ZOLDER Samba 2.0.5a
The command completed successfully.

Wat heeft \\zolder te bieden?

[H:\]net view \\zolder
Shared resources at \\zolder
Samba 2.0.5a
Netname Type Used as Comment
_______________________________________________________________________________
CD Disk Linux CD-ROM
deskjet Print remote printer on visser
DOC Disk Linux Documentatie
faxprint Print fax
lp Print
SAMBA Disk Bestanden
sjoerd Disk home
The command completed successfully.

#### Net use

We gaan de nu de Linux samba server als station S gebruiken:

[H:\]net use S: \\zolder\samba
The command completed successfully.

In het drives object moet nu een station S: te zien zijn. Met "net use" kunt u de gebruikte shares zien:

[H:\]net use

Status Local name Remote name

____________________________________________________

OK S: \\ZOLDER\SAMBA

Dormant \\ZOLDER\IPC$

The command completed successfully.

#### Net share

Met net share kunt u uw eigen shares activeren. Bedenk wel dat ze met NetBIOS via TCP/IP ook voorbij het LAN te zien zijn. Beveilig ze in ieder geval met een wachtwoord.

De syntaxis van deze opdracht is onder OS/2 is als volgt:

NET SHARE [resnaam]
resnaam=apparaat [wachtwoord]
[/COMM]
[/USERS:aantal | /UNLIMITED]
[/REMARK:tekst]
[/PERMISSIONS:XRWCDA]
resnaam [wachtwoord]
[/PRINT]
[/USERS:aantal | /UNLIMITED]
[/REMARK:tekst]
[/PERMISSIONS:XRWCDA]
NET SHARE resnaam=station:\pad [wachtwoord]
[/USERS:aantal | /UNLIMITED]
[/REMARK:tekst]
[/PERMISSIONS:XRWCDA]
NET SHARE [resnaam | apparaat | station:\pad]
[/USERS:aantal | /UNLIMITED]
[/REMARK:tekst]
[/DELETE]
[/PERMISSIONS:XRWCDA]

Onder OS/2 is dit (net als onder windows NT) een taak van de systeembeheerder.

[I:\]net share

NET2761: U kunt deze opdracht alleen geven als u

beheerdersbevoegdheid hebt of als u beschikt over de volgende

gebruikersrechten: PRINT,COMM,SERVER.

Voor meer informatie typt u HELP NET2761.

In de praktijk moet u zich dan als zodanig even opnieuw aanmelden op het netwerk.

[F:\]net share

Naam resource Resource Opmerking

------------------------------------------------------

IPC$ IPC op afstand

ADMIN$ F:\IBMLAN Systeembeheerder op afstand

DATA E:\ Data op VFAT

DOS D:\

FAT32 M:\ FAT32 op L

HPFSDATA G:\ Data op HPFS

VAPRO M:\ VAPRO op M

PRINTER LPT1 Gespoold Deskjet op OS/2

COM1 COM1

De opdracht is uitgevoerd.

#### Andere NET-opdrachten

Een logbestand aanmaken van het netwerkverkeer.

[I:\]net log

De functie Berichten vastleggen is ingeschakeld.

De naam van het logboekbestand of het apparaat is I:\IBMLAN\LOGS\MESSAGES.LOG.

De tijd opvragen:

### Netstat en TCP/IP

##### > Top <

Netstat geeft veel informatie over het TCP/IP netwerk. IBM heeft hier geen online informatie voor. De PEER FAQ van Thomas Baumann (Buchhorn BBS) wel.

De opdracht netstat geeft een globaal overzicht van de parameters. De netstat parameters kunt u combineren: netstat -mtuisprcna >j:/data/netstat.log.

[I:\]netstat

Syntaxis: netstat [ -? ] | [ -mtuisprcna ]

Where:

m - mbufs | [I:\]netstat -m mbufs verkregen van pagina-pool 80 mbufs vrij 32 mbufs gegevens 0 mbufs koptekst 2 mbufs socket-structuur 12 mbufs socket-naam 0 mbufs socket-optie 0 mbufs protocol-stuurblok 18 mbufs routing-tabel 13 mbufs opnieuw samenstellen 0 clusters verkregen van pagina-pool 95 vrije clusters 94 aantal keren dat geen ruimte werd gevonden 0 aantal keren gewacht op ruimte 0
t - tcp | Informatie over de TCP/IP transmissie via het TCP protocol.
u - udp | Informatie over de TCP/IP transmissie via het UDP protocol.
i - ip | Informatie over de verwerking van de IP pakketten.
s - sockets | Informatie over internet diensten (sockets). In het onderstaande voorbeeld staat een smpt poort op en is er een telnetverbinding met een samba server op IP adres 192.168.1.20. -------------------------------------------------------------------------- AF_INET Adresfamilie : SOCK TYPE FOREIGN LOCAL FOREIGN STATE PORT PORT HOST ==== ========= ============= ============= ============= ============= 17 STREAM telnet..23 1025 192.168.1.20 ESTABLISHED 16 STREAMnetbios-ssn..139 1024 192.168.1.20 ESTABLISHED 15 DGRAM 0 13991 0.0.0.0 UDP 14 DGRAM 0 0 0.0.0.0 UDP 13 STREAM 0 0 0.0.0.0 CLOSED 12 STREAM 0 smtp..25 0.0.0.0 LISTEN 11 STREAM 0 0 0.0.0.0 CLOSED 10 DGRAM 0 emfis-data..140 0.0.0.0 UDP 9 STREAM 0 netbios-ssn..139 0.0.0.0 LISTEN 8 DGRAM 0 netbios-ns..137 0.0.0.0 UDP 7 DGRAM 0 netbios-dgm..138 0.0.0.0 UDP -------------------------------------------------------------------------- AF_OS2 Adresfamilie : -------------------------------------------------------------------------- AF_NB Address Family : SOCK TYPE PARTNER NAME LOCAL NAME U/G ADP STATE ==== ======= ================ ================ === === =========
r - routes | Netstat-r geeft de routing tabel weer. [I:\]netstat -r bestemming router netmasker refcnt gebruik vlaggen snmp intrf decimaal 127.0.0.1 127.0.0.1 255.255.255.255 0 0 UH 0 lo 192.168.1.0 192.168.1.10 255.255.255.0 0 0 U 0 lan0 192.168.1.20 192.168.1.10 255.255.255.255 2 2623 UH 0 lan0 192.168.1.21 192.168.1.10 255.255.255.255 0 1 UH 0 lan0 192.168.1.255 192.168.1.10 255.255.255.255 0 1 UH 0 lan0 Hier een output van netstat -r >netstat.txt tijdens een internet sessie. destination router netmask metric flags intrf default 194.159.73.222 0.0.0.0 0 UGP ppp0 24.2.168.186 194.159.73.222 255.255.255.255 0 UGHW ppp0 63.96.6.195 194.159.73.222 255.255.255.255 0 UGHW3 ppp0 127.0.0.1 127.0.0.1 255.255.255.255 0 UH lo 128.123.3.50 194.159.73.222 255.255.255.255 0 UGHW ppp0 132.248.17.115 194.159.73.222 255.255.255.255 0 UGHW3 ppp0 139.130.51.36 194.159.73.222 255.255.255.255 0 UGHW3 ppp0 149.174.211.5 194.159.73.222 255.255.255.255 0 UGHW3 ppp0 192.168 192.168.0.1 255.255.255.0 0 UC lan0 194.109.74.138 194.159.73.222 255.255.255.255 0 UGHW3 ppp0 194.159.73.10 194.159.73.222 255.255.255.255 0 UGHW ppp0 194.159.73.22 194.159.73.222 255.255.255.255 0 UGHW3 ppp0 194.159.73.136 194.159.73.222 255.255.255.255 0 UGHW3 ppp0 194.237.137.131 194.159.73.222 255.255.255.255 0 UGHW3 ppp0 194.247.47.86 194.159.73.222 255.255.255.255 0 UGHW3 ppp0 195.173.244 195.173.244.121 255.255.255.0 0 UP ppp0 195.173.244.121 127.0.0.1 255.255.255.255 0 UH lo 209.69.142.86 194.159.73.222 255.255.255.255 0 UGHW3 ppp0 209.143.212.20 194.159.73.222 255.255.255.255 0 UGHW3 ppp0 216.167.78.68 194.159.73.222 255.255.255.255 0 UGHW3 ppp0
c - icmp | Netstat -c geeft de ICMP statistieken. [I:\]netstat -c ICMP-statistieken ontvangen pakketten 0 ontvangen ber. over onbereikbare bestemming 0 ontvangen ber. over tijdoverschrijding 0 ontvangen ber. over parameterprobleem 0 ontvangen ber. over brononderdrukking 0 ontvangen redirect-berichten ontvangen 0 ontvangen verzoeken om 0 ontvangen antwoorden met echo 0 ontvangen verzoeken om tijdaanduiding 0 ontvangen antwoorden met tijdaanduiding 0 ontvangen verzoeken om adresmasker 0 ontvangen antwoorden met adresmasker 0 DRUK OP EEN TOETS OM DOOR TE GAAN verzonden pakketten 0 verzonden ber. over onbereikbare bestemming 0 verzonden ber. over tijdoverschrijding 0 verzonden ber. over parameterprobleem 0 verzonden ber. over brononderdrukking 0 verzonden redirect-meldingen 0 verzonden verzoeken om echo 0 verzonden antwoorden met echo 0 verzonden verzoeken om tijdaanduiding 0 verzonden antwoorden met tijdaanduiding 0 verzonden verzoeken om adresmasker 0 verzonden antwoorden met adresmasker 0
n - interfaces | Netstat -n [I:\]netstat -n interface 0 DIX+802.3 fysiek adres 0000b4a2a28d MTU 1500 snelheid 10000000 bits/sec unicast-pakketten ontvangen 6046 broadcast-pakketten ontvangen 77 totaal aantal bytes ontvangen 2644803 unicast-pakketten verzonden 5689 broadcast-pakketten verzonden 138 totaal aantal bytes verzonden 1155536 pakketten verwijderd tijdens transmissie 0 pakketten verwijderd bij ontvangst 0 ontvangen pakketten met een fout 0 fouten tijdens verzenden 0 pakketten ontvangen in niet-ondersteunde protocollen 0
a - address | Waarheen de datagrammen verzonden worden. [I:\]netstat -a adr 192.168.1.10 interface 0 masker ffffff00 verzenden 192.168.1.255 adr 127.0.0.1 interface 0 masker ff000000 verzenden 127.0.0.1
p - arp | Geeft de ARP tabel weer. [I:\]netstat -p inhoud ARP-tabel: interface apparatuuradres IP-adres minuten verstreken sinds laatste gebruik 0 0000b4b81e20 192.168.1.20 5
? - help | Geeft het staatje in de eerste kolom.

#### Arp

ARP staat voor het Address Resolution Protocol .

Arp host vraagt het fysieke hardware-adres van de netwerkaart op. Dit adres is door de fabrikant in de netwerkadapter aangebracht.

[I:\]arp zolder

zolder (192.168.0.2) at 0:0:b4:b8:1e:20

Warps arp kan "visser" hardware adres niet achterhalen.

[I:\]arp visser
visser (192.168.0.1) -- geen item

Met telnet vanuit Linux lukt het (na een opvallende vertraging) wel, maar ook linux kan zijn eigen hardware-adres niet vinden:

sjoerd@zolder:~ > /sbin/arp visser
Address HWtype HWaddress Flags Mask Iface
visser.thuis ether 00:00:B4:A2:A2:8D C eth0
sjoerd@zolder:~ > /sbin/arp zolder
zolder (192.168.0.2) -- no entry
sjoerd@zolder:~ >

Netstat -p geeft de inhoud van de arp tabel.

[F:\]netstat -p
inhoud ARP-tabel:
interface apparatuuradres IP-adres minuten verstreken sinds
laatste gebruik
0 0000b4b81e20 192.168.0.2 17
[F:\]

#### Traceroute

Traceroute ( tracerte onder OS/2) geeft de weg weer van uw IP adres naar een andere host. De weg naar uw eigen provider (hieronder) is natuurlijk kort, maar ga je verder dan kom je tientallen tussenstations (routers) tegen.

[F:\]tracerte www.demon.nl
0 * * *
1 du-ams-202.access.nl.demon.net (195.11.247.202) 109 ms 94 ms 109 ms
2 cow-2.access.nl.demon.net (195.11.247.130) 101 ms 289 ms 94 ms
3 hotel.router.nl.demon.net (194.159.73.248) 101 ms 109 ms 149 ms
4 www-3.www.nl.demon.net (195.11.243.23) 109 ms 109 ms 109 ms
[F:\]tracerte -help
Usage: tracerte [-dnrv] [-w wait] [-m max_ttl] [-p port#] [-q nqueries] [-t tos]
[-s src_addr] host [data size]
Traceroute

#### Nslookup

Nslookup is vooral bedoeld voor het opsporen van domeinen. Het gaat om een test voor de DNS. De door mij ingestelde DNS server van Demon geeft zonder blikken en blozen het IP adres van mijn domein. Dat is logisch, want Demons naamserver(ns-cache-1.ns.nl.demon.net) is verantwoordelijk voor de hosts in het domein demon.nl.

[F:\]nslookup sjoerd-visser.demon.nl
Server: ns-cache-1.ns.nl.demon.net
Adres: 194.159.73.136
Naam: sjoerd-visser.demon.nl
Adres: 195.173.244.121

Vraag je de de DNS server van Demon om het IP adres van IBM, dan blijken er meerdere adressen voor www.ibm.com te bestaan. Demon geeft een "Antwoord zonder machtiging", d.w.z dat de cache ingangen voor "www.ibm.com" bevat, maar dat hier de "authoritative" DNS server van het domein www.ibm.com niet geraadpleegd is.

[F:\]nslookup www.ibm.com
Server: ns-cache-1.ns.nl.demon.net
Adres: 194.159.73.136
Antwoord zonder machtiging:
Naam: www.ibm.com
Adressen: 198.133.16.99, 198.133.17.99, 204.146.80.99, 204.146.81.99

Het commando "host domein" geeft aan dat 198.133.17.99 gebruikt moet worden. Overigens gaven de door nlookup geleverde IP adressen hetzelfde resultaat.

[F:\]host www.ibm.com
www.ibm.com = 204.146.81.99
[F:\]arp ibm.com
ibm.com (198.133.17.99) -- geen item

##### > Top <