Wednesday, 7 December 2011

ETHLOAD user's guide 40








ETHLOAD 1.04



USER'S GUIDE











A simple free



Ethernet load/problems analyzer


and events tracer









E. Vyncke



vyncke@csl.sni.be



16 January 1994




1. Introduction.



ETHLOAD is a free software running on any MS-DOS PC with an


Ethernet controller.



Currently, ETHLOAD supports the following drivers (for


Ethernet and Token Ring):


- Digital Equipment Corp. DLL specification;


- Microsoft 3Com NDIS (Network Driver Interface


Specification);


- packet driver as issued from PC/TCP, Clarkson University


or from the Crynwr collection;


- Novell ODI (Open Datalink Interface) if the driver


supports promiscuous mode;


- ASCII file containing Ethernet frames;


- loopback driver (mainly for debugging purposes).



The purposes of ETHLOAD are twofold:


- display very simply non accurate numbers about the


Ethernet load (number of frames/sec, bits/sec, ...);


- display important parameters, events and loads for the


TCP/IP, DECnet, OSI, XNS, NetWare and Netbeui protocols.



ETHLOAD allows you to:


- check simply the load of your Ethernet (with error


rate, inter frame gap,...);


- check which host is sending most of frames;


- see which host is sending to which host;


- see what kind of protocols are in use in your


Ethernet;


- ...



In a TCP/IP network, ETHLOAD allows you to:


- see ARP table contents;


- see which host is sending (un)resolved ARP probes;


- see the IP host which is sending most of the IP, UDP


or TCP packets;


- see what kind of protocols are in used (either TCP or


UDP);


- see which is the mostly used telnet/rlogin server (or


client);


- see the boot sequence with important BOOTP and TFTP


events;


- see some characteristics of IP hosts (fragments size,


MTU, IP retransmission, options used -- including


source routing, ...);


- see main RFC 1001/1002 NetBIOS events and names;


- see the working of DNS;


- see important TCP events: start/stop of


connections,...



In a DECnet network, ETHLOAD allows you to:


- see which node are sending/receiving most of DECnet


packets;


- see all Connect Initiate packets (including object


number, ...) ;


- see returned packets;


- ...



In an OSI network, ETHLOAD allows you to:


- see the top transmitter/receiver NSAP;


- see what happens with TUBA (TCP & UDP with Big


Addresses);


- see the exchange of information between ES and IS and


between IS;


- see important events for the transport layer:


connection/disconnection, TSAP are displayed in


hexadecimal, ASCII and EBCDIC.



In a Microsoft NetBEUI network, ETHLOAD allows you to:


- see the main naming events;


- see the connections and the datagrams.



In a Novell NetWare network, ETHLOAD allows you to:


- see the routers;


- see the different XNS/IPX networks;


- see the advertised services ;


- see who is connected to who.



* * *


* *


*



2. Miscellaneous and acknowledgements.




2.1. Original copyright.



This software is based on the very first version of ETHLOAD


I have developed while I was working in a company called


Network Research Belgium. This version was already free and


in the public domain thanks to the management of this


company.



Here follows the copyright included in the source files of


about 0,1% of the current version of ETHLOAD.



/* This software and documentation can be copied, used,


modified freely as long as:


- the source contains this text


- this software, documentation is provided free of charge


(but for the cost of media: paper, CD-ROM, ...).


Network Research Belgium and the individuals who have written


this software DO NOT ASSUME any responsibilities in respect


to the use, (un)expected side -effects of this program.


The software and documentation is provided as it is. No


maintenance will be given.


Anyway, we would be pleased to hear of any use of these


softwares by email, fax:


bert@nrb.be


fax: +32.41.48.11.70


Suggestions, modifications are always welcome.


These softwares have been developed by a special team called


BERT in a company called Network Research Belgium located in


Herstal, Belgium, Europe .


This team includes:


Eric Vyncke, vyncke@nrb.be now vyncke@csl.sni.be


Frederic Blondiau, blondiau@nrb.be


Michel Ghys, now mghys@cisco.com


Marie-Christine Timmermans, timmermans@nrb.be


Jean Hotterbeex, now jhotterb@cisco.com


Manu Khronis, khronis@nrb.be


Vincent Keunen, keunen@manex.uucp


*/




2.2. Current copyright and disclaimer.



Right now, all software developments are made home and


tested after working hours in my current company: Siemens


Nixdorf Informationsystems, SNI. So, here follows the usual


disclaimer: Siemens Nixdorf and NRB are by no means


responsible for any good or bad effects of this program.


And by the way, the quality of ETHLOAD does not reflect the


usual quality of NRB or SNI software.



NRB, Siemens Nixdorf and the author do not support this


software and are, in no case, responsible for any bad use


or any bad effect or any false result or anything caused by


any version of ETHLOAD.



2.3. Support.



If you have problems to run ETHLOAD, please read carefully


this manual and also check the common pitfalls in appendix


A.4.



The UseNet comp.protocols.tcp-ip.ibmpc newsgroup is the


right place to state your problems, to comment on ETHLOAD,


... I'm reading this newsgroup every day (together with


comp.sys.novell and the BITNET mailing list about NOVELL


and PATHWORKS). This if the preferred way to get some


'support'.



Anyway, you can get some support from the author since he


wants to promote this software... You can reach the author


through email: vyncke@csl.sni.be1, X.400:


/c=be/admd=rtt/prmd=sni/o=siemens nixdorf/ou1=liege/ou2=L1/


ou3=D1/ou4=csl/g=eric/s=vyncke/ or by post mail:



Eric Vyncke


Rue Nolden, 25


B-4432 Alleur


Belgium (Europe).



If you are happy with ETHLOAD, my little son, Pierre, would


appreciate to receive any postcard (he is still very young


and still lives with us :-)!



Due to the large 'success' of ETHLOAD, I'm no more able to


reply to all questions or comments addressed to my email


address... So, you are strongly urged to try the


comp.protocols.tcp-ip.ibmpc newsgroup.



In no case, shall I answer to phone calls at my office


(except for those of you who are working for a company of


the Siemens group)... Don't forget that I am paid by


Siemens Nixdorf and that I have a lot of work to do at the


office :-)



2.4. Distribution channel.



I have no access to internet, so I cannot place ETHLOAD on


anonymous FTP server, if you run such a server I will


appreciate that you reserved some place for ETHLOAD on your


BBS or anon FTP server...



If you do so, please warn me by email in order to keep a


list of distribution channels.



Normally, ETHLOAD is available as package called


ETHLDvrr.ZIP (where vrr are version and release numbers)


from the Simtel repository (aka oak.oakland.edu) in


/pub/msdos/lan and also in


ub4b.eunet.be:/pub/ub4b/network/msdos. A companion program


called ETHDUMP is generally available from the same


locations under the name ETHDPvrr.ZIP.



These servers can be accessed by email via TRICKLE servers


on BITNET for the Simtel repository or via mail-


server@ub4b.eunet.be (commands: help, reply

and


get ethld104.zip).



2.5. Thanks to testers.



I would like to thank anyone of you about his/her comments.



I thank especially my beta-testers:


Ralf Buettemeyer, buettemeyer@hagenuk.netuse.de


Michel Dalle, michel@d92.cb.sni.be


Niels Kr. Jensen, msterlje@vm.uni-c.dk


Hans-Joachim Koch, koch@lifra.lif.de


Hans-Michael Pronk, hpronk@fac.fbk.eur.nl


A.A.L. Reijnierse, A.A.L.Reijnierse@research.ptt.nl


Frank Van Uffelen, frankvu@bix.com, fvo@te6.siemens.be



I thank also for comments, suggestions, ...:


Joe Doupnik, jrd@cc.usu.edu


Knut Eckstein, eckstein@isd.uni-stuttgart.de


Thomas Gasser, thomasg@staff.tc.umn.edu


Derek Johnston, ugcsjj9697@mtvms2.mtech.edu


Ross Lazarus, rossl@westmead.health.su.oz.au


Ted Llellewyn, tsl@panix.com


Jos Minnema, jos.minnema@pagv.agro.nl


Craig Morgan, cmrcm@staffs.ac.uk


Russ Nelson, nelson@crynwr.com


Hugo Philips, zigo@uc.sni.be


Oliver Rehmann, orehmann@itr.ch


Lars Scheffmann, scheffmann@dou.dk


Russell Thamm, rmt@gwd.erl.dsto.gov.au



And, all of you who have send a postcard :-)



2.6. Changes.



1.01:


- support for packet driver, ODI and NDIS


- support for TCP/IP


- no more load graphics


- dictionaries


- bug correction in the length display


- porting from large model in Borland C to small model in


Borland C++



1.02:


- bug correction in DLL support


- documentation about copyright on packet drivers


- dropped packets percentage in MAC screen


- MAC flow screen


- SMTP, TFTP and BOOTP support


- Telnet/rlogin monitoring


- options in command line


- OSI support


- improved DLL, ODI, NDIS and packet driver routines



1.03:


- use a local stack for all interrupt time routines;


- add file driver;


- support DNS, RFCNBIOS in TCP/IP;


- add NetBEUI and XNS/NetWare supports;


- improved display routines;


- NumLock key for switching between numeric and symbolic


display;


- improved memory management;


- port to large model C;


- slight changes in DECnet presentation.



1.04:


- consider socket instead of packet types for Novell;


- addition of TUBA


- better OSI support (active network layers)


- slight modifications in packet driver


- add the -b option to specify LAN bandwidth


- add the -f option to allow very trivial filtering


- add the -m option to specify more buffers


- add the -o option to allow partial work of ETHLOAD even


if promiscuous mode is not supported


- remove the old -s (stack) option


- replace the old -f (fast) option by a -s (slow) option,


the default is now fast mode


- some IEEE 802.5 support (MAC frames, ring status, ...)


- decode MSS option in TCP


- decode IP options


- add a dictionary for DNA objects


- ETHDUMP (the companion) can record short frames ( < 14


bytes) and can be put in quiet mode


- the key '%' change top display percentage


- length in recorded file now includes all headers and FCS


- -l command line option to get panic messages



2.7. Trademarks.



As usual, all trademarks (Ethernet, DEC, NetWare, ...) are


properties of their respective owners.



2.8. Source code.



After being flamed on some mailing lists for having put a


sniffer source code in the public domain and as I


understand their fears (even if a large bunch of other


Ethernet sniffers are available everywhere), I have decided


that the source code is not made available.



If you do need some parts of code, please refer first to


public domain sniffers before asking me for parts of the


code. What can be disclosed to you, is some parts of


ETHLOAD, please email me for this.



2.9. Licensing.



All version of ETHLOAD (1.01 to 1.04) are copyrighted by


NRB and Eric Vyncke.



Version 1.01, 1.02, 1.03 and 1.04 are free, you may use it,


copy it (on any support), distribute it as long as you


don't earn money from it (of course you may get paid a


little for the media/transmission cost). This right is


given for an unlimited period of time :-) I would


appreciate if my little son received a postcard from you


(see 2.3).



As ETHLOAD is now more than 65,000 lines of C code (roughly


about 60 evenings ;-)), next version of ETHLOAD (2.0) will


be shareware: i.e. you will be allowed to copy it and


distribute it as before but you will be allowed only a 90


days test period before having to be registered.



The registration fee (probably about $199 or ECU 199) will


allow you the right to use it for an unlimited period of


time on any PC within your organization. Moreover, you will


receive a 'registration key' that will allow you to get


print-outs of ETHLOAD, an Excel compatible file for the


load of the day, a larger number of internal buffers (so


less dropped frames), a fully configurable of table size


(in order to avoid the 'Filled since ...' message), and


also a special electronic mail address for a support.



Version 2.0 will have a completely different screen layout


and a on-line help. The code will be completely different


from the code of the NRB version and the copyright of NRB


will be deleted.



Now, enough about these stuffs, let's have fun and start


ETHLOAD !




2.10. Security.



ETHLOAD should never be a major security leak on your LAN.



ETHLOAD just may disclose the addresses used in your LAN


and also the usernames of people.



If for some reason, you HAVE to monitor some telnet/rlogin


sessions, ETHLOAD will be able to do this. To be allowed to


monitor these sessions or to check the contents of connect


initiate of DECnet, you need a special software key linked


to the Ethernet ROM address of your PC. This key will be


delivered only after I have received an OFFICIAL paper


letter from a very high level manager of your company (e.g.


for University the rector or for a commercial organisation


the head of EDP department or of a CEO). This letter should


bear the name of the PC operator, his/her email address and


the physical address of the PC. Even with this paper


letter, the author may not give you the authorization for


any reason.



* * *


* *


*



3. Configuration files.



In order to run in basic mode (i.e. without translation of


addresses into names,...) ETHLOAD does not require any


configuration file. The configurations are required only if


you want to achieve good printings: host name instead of


addresses, ...



It is possible to suppress the messages about loading these


files, by using the -q option when starting ETHLOAD.



All configuration files are in the same format:


- plain ASCII files, i.e. lines ended by CR/LF;


- any line beginning with a ';' or a '#' is considered as a


comment;


- empty lines are ignored;


- other lines must begin with a token generally numeric,


called the key, then a series of space or TAB characters,


followed by another token, called the value. The value


token is ended by the CR/LF end of line.



Most of these files are the MS-DOS image of the well known


TCP/IP files for UNIX: /etc/hosts, /etc/ethers,


/etc/protocols, ... The simplest way to use them is to FTP


them from your UNIX box.



If you are using TCP/IP you should FTP /etc/hosts of a UNIX


host and perhaps add some MAC addresses to the ETHERS file.



If you are using DECnet, you probably don't need to modify


any of these files.



If you are using another protocol, you will probably need


to modify ETHERS file together with TYPES and/or SAPS.



All these optional files must be located in the current


directory of the current drive or in the directory


specified by the MS-DOS environment variable ETHLOAD.




ETHERS



This file contains the mapping between MAC Ethernet


addresses into host names.



The key token is the Ethernet MAC address in the format HH-


HH-HH-HH-HH-HH where HH is a pair of hexadecimal digits.



The value token is any character string representing the


name of this host.



Part of ETHERS file:



AB-00-03-00-00-00 DEC: Local Area Transport -LAT-


FF-FF-FF-FF-FF-FF Broadcast


CF-00-00-01-00-00 Loopback Assistance


00-00-00-00-00-00 Null Address



Remark: ETHLOAD is smart enough to recognize a DECnet node


and display the DECnet address of any MAC address. If you


want to display DECnet address by node name, you may use


the MKNODE.EXE program documented in annex A.3.



Remark 2: ETHLOAD is also listening for ARP requests and


replies, so it can display the IP address of any MAC


address.



Remark 3: ETHLOAD as it is (i.e. without ETHERS) cannot


even display correctly well known address as the null


address or even the broadcast address.



Remark 4: you should add your own MAC addresses only if you


are not using DECnet or TCP/IP, moreover, you should add


these addresses at the end of ETHERS file and keep the


original contents of ETHERS.




HOSTS



This file contains the mapping between IP address and host


names.



The key token is an IP address in the format


ddd.ddd.ddd.ddd where ddd is up to three decimal digits.



The value token is any character string representing the


name of this host.



Part of HOSTS file:



139.21.20.18 d012s509.mch.sni.de d012s509


139.21.18.140 d012s322.mch.sni.de d012s322


139.21.22.206 d012s712 rm400ap


139.21.24.1 cisco.ap.mch.sni.de


139.24.16.44 baumann



The best way to initiate this file is to get a /etc/hosts


from a UNIX machine (or the stdout of the ypcat


hosts.byaddr if you are running NIS2).



NETWORKS



This file contains the mapping between IP address and


network names. It is used to display the IP addresses when


no information can be found in the host file.



The key token is an IP address in the format


ddd.ddd.ddd.ddd where ddd is up to three decimal digits.



The value token is any character string representing the


name of this network.



Part of NETWORKS file:



150.144.0.0 UCCLE


150.148.0.0 CSL



The best way to initiate this file is to get a


/etc/networks from a UNIX machine (or the stdout of the


ypcat networks.byaddr if you are running NIS3).



PROTOCOL



This file contains the mapping between IP protocols and


protocol names.



The key token is a decimal number up to 255.



The value token is any character string representing the


name of the protocol.



One again, the best way to initiate this file is to get


/etc/protocols from a Unix machine or using the PROTOCOL


file you may have receive with ETHLOAD. The first solution


is probably not useful since /etc/protocols are always


nearly the same.



The shipped PROTOCOL file contains:



0 ip


1 icmp


3 ggp, gateway-gateway protocol


6 tcp


8 egp, exterior gateway protocol


12 pup


17 udp


20 hmp, host monitoring protocol


22 xns-idp


27 rdp, reliable datagram protocol



SAPS



This file contains the mapping between IEEE 802.2 LLC SAP


and SAP names.



The key token is two hexadecimal digits.



The value token is the name representing the Service Access


Point.



Part of a sample SAPS file:



80 3Com XNS


8E Proway-LAN


AA TCP/IP SNAP (Ethernet type in LLC)


BC Banyan VINES


E0 Novell NetWare


F0 IBM NetBIOS



Remark: ETHLOAD has a built-in knowledge of SNAP.





WKS.TCP (resp. WKS.UDP)



This file contains the mapping of TCP (resp. UDP) well-


known services ports.



The key token is a decimal number up to 65535 which is the


port number assigned to the service.



Part of a sample WKS.TCP file:



79 finger


21 ftp


101 hostnames


2156 informix


1524 ingreslock



This file together with WKS.UDP contains all the


information of the usual /etc/services UNIX file but in a


slightly different format.



Since the file /etc/services is always the same on all Unix


machine, you may probably use the files provided with


ETHLOAD.



TYPES



This file contains the mapping of the DIX Ethernet packet


type into names.



The key token is 4 hexadecimal digits.



Part of a sample TYPES file:



0600 XNS


0601 XNS Address Translation


0800 DOD IP


0801 X.75 internet




VENDORS



This file contains the mapping between the IEEE vendor


codes and the vendor names. The IEEE vendor code is


representing the most significant three bytes of the MAC


address of any adapter built by this manufacturer.



The key token is 3 bytes represented each by two


hexadecimal digits, each byte is separated by a dash.



Part of a sample VENDORS file:



00-00-0C cisco


00-00-0F NeXT


00-00-10 Sytek


00-00-1D Cabletron




OBJECTS.DNA



This file contains the mapping between the DECnet object


number and the object name.



The key token is a decimal number between 1 and 255.



The file shipped should be enough for all sites. Here


follow some lines of the file:



25 MIRROR


26 EVL


27 MAIL


29 PHONE


42 CTERM



NETWORKS.XNS



This file contains the mapping between the XNS (or IPX)


network numbers and their names.



This file is used when you are displaying XNS/Novell


screens else it can be safely deleted.



The key token is the network number in the format XX-XX-XX-


XX where each X is an hexadecimal digit.



The shipped NETWORK.XNS file contains:



00-00-00-00 Local


FF-FF-FF-FF Broadcast


;


; The rest has to be customized


;


00-00-00-03 Net3



Of course this file will have to be heavily customized for


each site.




TYPES.XNS



This file contains the mapping between the XNS (or IPX)


protocol types and their names.



This file is used when you are displaying XNS/Novell


screens else it can be safely deleted.



The key token is the type number in the format XX where


each X is an hexadecimal digit.



The file TYPES.XNS contains:



00 Unknown


01 RIP (Routing Information Protocol)


02 Echo


03 Error


04 PEP (Packet Exchange, datagram)


05 SPP/SPX (Sequence Packet Protocol)


11 Netware Core Protocol



This file should be correct for most networks.




WKS.XNS



This file contains the mapping between the XNS (or IPX)


socket numbers and their names.



This file is used when you are displaying XNS/Novell


screens else it can be safely deleted.



The key token is the socket number in the format XX-XX-XX-


XX where each X is an hexadecimal digit.



The file WKS.XNS contains:



0001 RIP (Routing Information)


0002 Echo


0003 Error Handler


0451 Novell File Service


0452 Novell Service Advertising


0453 Novell Routing Information


0455 Novell NetBIOS


0456 Novell diagnostic


0457 Novell Copy Protection



This file should be correct for most sites.




NLIDS.OSI



This file contains the mapping between the first byte of


the network PDU for the OSI stack.



Currently, the file contains only:



00 ISO 8473: inactive network layer


81 ISO 8473: ES-ES



This should be correct for most sites.




SELECTOR.OSI



This file contains the mapping between the NSAP selector


(last byte of a NSAP) and its name.



The key token format is two hexadecimal digits.



Here follow a few lines from the file:



00 Network Layer Identifier


06 TCP & UDP with Bigger Addresses (TUBA): TCP


11 TCP & UDP with Bigger Addresses (TUBA): UDP


1E CLNP short term ping request


1F CLNP short term ping reply


20 DECnet/OSI: NSP transport


21 DECnet/OSI: OSI transport



This file may be customized for your network but should be


correct.



NSAPS.OSI



This file contains the mapping between a NSAP and its name.



The format of the key token is HH-HH....-HH where HH is a


hexadecimal digit. There can be up to 20 bytes in the NSAP.


The file may contain NSAP of different length.



Here follow a possible line for the NSAPS.OSI file:



39-52-8F-11-00-00-09-10-00-00-00-00-40-BB-BB-AA-AA-00-10-00


tuba10



This file should be customized for your site, the shipped


file is just an example.



AFI.OSI



This file contains the mapping between the Authority and


Format Identifier (first byte of a NSAP) and its name.



The key token format is HH where h is an hexadecimal digit.



Here follows some lines from the shipped AFI.OSI:



36 X.121: decimal coded: non-zero first IDI digit


37 X.121: binary coded: non-zero first IDI digit


38 DCC (Data Country Code): decimal coded


39 DCC (Data Country Code): binary coded



The file should be correct as shipped.




ICD.OSI



This file contains the mapping between an ISO IDI with the


format Internal Code Designator and the name of the


organization.



The key token format is HH-HH.



Here follow a few line from the shipped ICD.OSI:



0057 Saint Gobian


0058 Siemens Corporate Network


0059 DANZNET


0060 Data Universal Numbering System



The file should be correct as shipped.




DCC.OSI



This file contains the mapping between an ISO IDI with the


format Data Country Code and the name of the country.



The key token format is HH-HH.



Here follow a few lines from the shipped file:



052 BARBADOS


112 BELARUS


056 BELGIUM


084 BELIZE



The file should be correct4 as shipped.



* * *


* *


*



4. Set-up of datalink drivers.



ETHLOAD as already said is currently running as it is on


the top of four different datalink drivers. ETHLOAD


automatically configures itself to use the first driver


found. It tries in the following order:


- Novell ODI;


- Microsoft 3Com NDIS version 2.0.1 or higher5;


- Digital Equipment DLL;


- PC/TCP packet driver;


- ASCII file driver.



If you use another driver and you have a specification of


its API (or even some C routines in the public domain),


please email me because I would like that ETHLOAD runs on


nearly all datalink drivers... ;-)



Sun PC-NFS drivers are NOT supported by ETHLOAD, mainly


because the specification is not freely available and also


because Sun seems to prefer to use NDIS now.



If this order does not work for you, you will have to use


the -d option in the command line for starting ETHLOAD (see


section 5).



Some of these datalink drivers allow for simultaneous


execution of ETHLOAD and of you usual protocol stack: NDIS


and ODI. All other drivers prevent the execution of your


usual protocol stack, it means that you will abort all


current connections to any servers.



Some of these datalink drivers do not require a PC reboot


after running them: DLL, NDIS version 2.0 or higher, packet


driver and ODI.



Finally, only one kind of drivers namely ODI allows for the


identification of faulty frame by their source or


destination addresses.



In conclusion, if your Ethernet hardware has a ODI driver


with promiscuous mode support, it is better to use ODI.



ETHLOAD despite its name can probably work on all IEEE LAN


(with 48 bits addresses and IEEE 802.2 LLC sub-layer).


Starlan has been analyzed through ETHLOAD. The single point


to keep in mind is that the MAC screen (see further) is


computed for a bandwidth of 10 Mbps (or you may elect to


use the -b option to specify the LAN bandwidth).



Another important point is that most Token Ring adapters do


not support promiscuous mode (notably IBM adapters). So,


when starting ETHLOAD a warning message will be displayed


and only broadcast/multicast packets will be analyzed


showing a very lightly loaded token ring! The only way to


escape this problem is to get a promiscuous mode adapter


and driver (IBM has a trace adapter, Olicom supports


promiscuous mode). The ODI driver for Madge adapters is


supported by ETHLOAD.



A final remark, packet driver does not differentiate


between the various kind of errors in its statistics. So,


you should use any other driver if possible.



4.1. Novell ODI.



The first thing to note is that only very few ODI drivers


supports the promiscuous mode which is needed for ETHLOAD.


Novell has a list of those drivers since the promiscuous


mode is also needed by Novell LANanalyzer product.



You should also check that your NET.CFG has enough buffers


and mempool allocation (see also the annex about common


pitfalls).



To use ETHLOAD, you just have to load the ODI driver


(preceded as usual by loading LSL.COM) and having a correct


NET.CFG. If you can run any other ODI application (Novell


LAN Workplace for DOS, Siemens Nixdorf LAN 1, ...), you


should be able to run ETHLOAD as it is. Nevertheless, it


seems that IPXODI and NETX cannot be loaded before ETHLOAD.



The use of ETHLOAD is not disruptive to your other network


application which will continue to run at very bad


efficiency...



ETHLOAD does not support IEEE 802.2 type 2 frames, so if


your NET.CFG contains several frame types, you may have to


use the -do2 option to select the second frame type, or the


-do3, ...



To start ETHLOAD, just issue the ETHLOAD command to the MS-


DOS prompt.




4.2. Microsoft 3Com NDIS v 1.0.1.



Before running ETHLOAD for the first time, you must modify


your PROTOCOL.INI (usually located as


C:\LANMAN\PROTOCOL.INI see your C:\CONFIG.SYS file and the


DEVICE=..PROTMAN... /I:).



You must add the following lines in your PROTOCOL.INI


(anywhere in the file but after a section):



[ETHLOAD]


drivername = ETHLOAD$


bindings = MYMAC



where MYMAC is the name of the MAC module you want to use.



These modifications do not modify the usual behaviour of


your PC, so you may leave these lines in your PROTOCOL.INI


file even if you don't use ETHLOAD.



After you have made these changes, you must reboot your PC.



After this reboot, when you want to use ETHLOAD you must


issue the ETHLOAD command to the MS-DOS prompt.



By the way, the Protocol Manager directory (containing


NETBIND.EXE, ...) should be in the PATH of MS-DOS.



Remark 1: in PROTOCOL.INI the case of the left part of '='


does not matter, but uppercase characters must be used on


the right part as indicated in the examples above.



Remark 2: as you are using a version of Protocol Manager


older than version 2.0.1 6, ETHLOAD will display some


warnings and you have to pay special attention to the


following points:


don't run NETBIND.EXE before ETHLOAD (so look out in


your AUTOEXEC.BAT for an automatic run of NETBIND.EXE)7


reboot your PC after running ETHLOAD since Protocol


Manager cannot be reset in a correct state


some statistics are missing.



4.3. Microsoft 3Com NDIS v2.0.1 or higher.



Before running ETHLOAD for the first time, you must modify


your PROTOCOL.INI (usually located as


C:\LANMAN\PROTOCOL.INI see your C:\CONFIG.SYS file and the


DEVICE=..PROTMAN... /I:).



You must add the following lines in your PROTOCOL.INI


(anywhere, after a section):



[ETHLOAD]


drivername = ETHLOAD$


bindings = MYMAC



where MYMAC is the name of the MAC module you want to use.


The MAC module name is what is between [] in PROTOCOL.INI


which is followed by a drivername= line with the name of


the device driver loaded in CONFIG.SYS (the name of a MAC


module often ends with _NIF).



You also have to modify the [PROTOCOL MANAGER] entry to add


a dynamic line. But first try without this modification


before modifying further your PROTOCOL.INI file.



[PROTOCOL MANAGER]


devicename = PROTMAN$


dynamic = YES


bindstatus = YES


priority = ETHLOAD



These modifications do not modify the usual behaviour of


your PC, so you may leave these lines in your PROTOCOL.INI


file even if you don't use ETHLOAD8.



After you have made these changes, you must reboot your PC.



After this reboot, when you want to use ETHLOAD you must


issue the ETHLOAD command to the MS-DOS prompt.



By the way, the Protocol Manager directory (containing


NETBIND, ...) should be in the PATH of MS-DOS.



Remark 1: in PROTOCOL.INI the case of the left part of '='


does not matter, but uppercase characters must be used on


the right part as indicated in the examples above.



Remark 2: the use of ETHLOAD should not be disruptive for


your favourite protocol stacks, so you should not have to


reboot your PC.



Remark 3: you may have to run READPRO before loading


ETHLOAD if the image copy of PROTOCOL.INI is corrupted


(i.e. ETHLOAD displays an error message like 'PROTOCOL.INI


corrupted').



4.4. Digital Equipment DLL.



If DLL.EXE (or DLLDEPCA.EXE) is already loaded, you have


nothing to do before starting ETHLOAD by the ETHLOAD


command.



Note: in order to go promiscuous, DLL requires that ETHLOAD


shutdown ALL connections: LAT, DECnet, ... After using


ETHLOAD you probably will have to reset the whole DECnet


protocol stack (so reboot your PC).



Note 2: it seems that at least for version 4.1 of DLL, it


is impossible to run ETHLOAD in a DOS box within MS-Windows


3.1.



4.5. Packet driver.



Packet drivers exist for nearly all known Ethernet


adapters. There even exists 'packet driver shim' that


transform some other datalink drivers into a packet driver.



You have to use a software interrupt between 0x60 and 0x7F


in order to let ETHLOAD run.



ETHLOAD will use the first packet driver found while


checking from interrupt 0x60 up to 0x7F.



The use of ETHLOAD is not disruptive to your other network


application which will continue to run at very bad


efficiency...



To start ETHLOAD, just issue the ETHLOAD command to the MS-


DOS prompt.



Remark: nearly all packet drivers can be found in numerous


anonymous FTP server including the Simtel repository. For


BITNET users, they can also be fetched through TRICKLE


server. The Crynwr Packet Driver Collection is copyrighted


using the GNU General Public License.



Remark 2: for the 3Com 3C509 you should use version 11.* of


the Crynwr packet driver.



Remark 3: for some packet drivers, you may have to run


PKTRCV with the mode 3 before running ETHLOAD, you may even


have to unload all programs using the packet driver...



4.6. Loopback driver.



This driver allows to test ETHLOAD mainly for debugging


purposes.



It can be used also to check the start-up of ETHLOAD, ...



To use this driver, you must use options on the command


line.




4.7. File driver.



This driver reads frames from an ASCII file. By default the


file ETHLOAD.IN is used but other files can be specified by


using parameters on the command line.



Of course, the input file format is compatible with the


output file format of ETHLOAD used in recorder mode and


with ETHDUMP9.



The format of the file is simple:


- empty lines or lines beginning with a ';' are


ignored;


- else line consists of 2 decimal tokens followed by


the frame.



The decimal tokens are:


1) a time-stamp when the frame was received expressed


in MS-DOS ticks10 from the start of the recording;


2) the length of the received frame including the FCS,


this length may be different from the length of the


frame in the file.



The frame itself starts with the first byte of the


destination address (excluding the preamble) and goes


through all fields: source address, Ethernet type or IEEE


802.3 length, data bytes, ... For Token Ring, FA and AC are


also copied.



Each byte is represented by two contiguous hexadecimal


digits. Bytes can be separated by spaces, tabs and '-'.



An example of input file is:



0000000087 0060 000E20009127 0000E80109FC 0020 FF-FF-00-20-


01-00-00-00-00-03-00-0E-20-00-91-27-40-05-00-B0-BB-1E-00-00-


00-00-00-01


;


0000000125 0060 00AA001E1FE4 000080CAC901 0020 FF-FF-00-20-


01-00-00-00-00-03-00-AA-00-1E-1F-E4-40-05-00-00-02-01-00-00-


00-00-00-01


;


0000000141 0110 FFFFFFFFFFFF 00AA001E1FE4 0060 FF-FF-00-60-


00-04-00-00-00-00-FF-FF-FF-FF-FF-FF-04-52-00-00-00-03-00-AA-


00-1E-1F-E4



* * *


* *


*




5. Command line options.



In nearly all configurations, ETHLOAD can be started


without specifying command line options. In some case, you


may need to use these command lines options: special


datalink drivers configuration, few memory left, ...



Command line option can be specified in either the UNIX


shell format:


ETHLOAD -do1 -i65 -t


or in the MS-DOS format:


ETHLOAD /D:O1 /I:65 /T



Case does not matter.




5.1. Datalink driver: -d



ETHLOAD can be forced to use a special datalink driver


instead of trying to find automatically the best one.



To use Novell ODI, specify: -do or /D:O


To use Novell ODI with the MLID board 3, specify: -do3 or


/D:O3


To use Microsoft/3Com NDIS, specify: -dn or /D:N (you may


specify the MAC module to which ETHLOAD must bind)


To use Digital Equipment DLL, specify: -dd or /D:D


To use Packet driver at first interrupt found between 0x60


and 0x80, specify: -dp or /D:P


To use Packet driver at interrupt 0xHH, specify: -dphh or


/D:PHH


To use Loopback driver, specify: -dl or /D:L


To use the file driver (default filename is ETHLOAD.IN),


specify: -dffilename or /D:Ffilename



5.2. Protocols to be analyzed: -p



ETHLOAD by default analyzes all protocols. This requires


both more memory and more processing than analyzing a


single protocol. By using the -p option, you can restrict


the protocols to be analyzed by ETHLOAD.



To analyze DECnet, specify d after the -p.


To analyze the TCP/IP protocol suite, specify i after the -


p.


To analyze the OSI protocol suite, specify o after the -p.


To analyze the TUBA protocol suite, specify t after the -p.


To analyze the XNS/NetWare protocol suite, specify n after


the -p.


To analyze the IEEE 802.2 LLC sublayer, specify l after the


-p.


To analyze the Netbeui protocol suite, specify b after the


-p.



By specifying a digit after the -p, you specify the highest


layer to be analyzed. E.g. -p3 will analyze frames up to


layer 3 (e.g. no DECnet NSP, no TCP or UDP, ...).



This option may be useful if you need more memory (as


ETHLOAD will allocate fewer tables for its operation) or if


you need more CPU power or time accuracy.



5.3. Real time frame trace: -t



ETHLOAD can display the very first bytes of all received


frames in real time on the bottom line of the display.



This behaviour is set by using the -t option on the command


line.



Remark: in version 1.01, ETHLOAD always displayed the first


bytes of the packet.




5.4. Slow/secure mode: -s



ETHLOAD works by default in fast mode with packet driver


and ODI.



The unsecured (the default) is defined as enabling IRQ


while a frame is analyzed. The disadvantage is that the


datalink driver may be overloaded, but, the big advantage


is that a lot of frames are neither dropped nor ignored.



If you want stability instead of accuracy, you may elect to


use the -s option.



By using this option, ETHLOAD can see much more packets but


may sometimes runs into problems...



So, this option should be set ONLY if you encounter no


problems with ETHLOAD (PC that hangs, inconsistent display,


...) and you have a high percentage of lost packets.



The meaning of this option is different for the file


driver, if used with the file driver, ETHLOAD will ignore


the timestamps in the file and receives all frames as fast


as it can process them (so no frame will be dropped and


this will go fast).



5.5. Measure interval: -i



ETHLOAD measures the load of the LAN at regular interval,


the screen is also automatically refreshed at the same


rate.



By default, this interval is 5 seconds. You may select


another measure/screen refresh interval by using the -i


option followed by the number of seconds.




5.6. Quiet Mode: -q



ETHLOAD normally wait for a key to be pressed before


actually analyzing frames so you can read the startup


information.



If you want to automatically start the analysis you may


specify the -q option in the command line. This option


could be useful in batch files, ...



The -q option will also suppress the line displayed when


loading dictionaries.




5.7. Recorder mode: -r



ETHLOAD can also record all received frames into an ASCII


file instead of analyzing them.



Of course, this file is compatible with the file format


used by the file driver (-df).



By default, the output file is ETHLOAD.OUT but any other


valid name can be specified directly after the -r option.



Please note that only the first part of the frames are


recorded.




5.8. LAN bandwidth: -b



ETHLOAD needs the LAN bandwidth to compute and display the


load.



Generally, ETHLOAD can ask the datalink driver for the LAN


bandwidth. But, for packet drivers and DLL drivers this is


impossible and ETHLOAD defaults to 10 Mbps (i.e. Ethernet).



The -b option allows to specify the LAN bandwidth expressed


in bit/s.



E.g. -b1000000 or -b1.0E+6 will set the bandwidth for


Starlan 1 Mbps LAN.




5.9. Promiscuous override: -o.



ETHLOAD requires promiscuous mode to correctly analyze all


frames of the LAN.



Not all LAN adapters and not all datalink drivers support


this mode. By default, if the promiscuous mode is not


supported, ETHLOAD does not start and exits immediately.



Anyway, you might want to start ETHLOAD and analyze the


very small fraction of the LAN traffic which is broadcast


or multicast. If you want this, you have to use the -o


option when starting ETHLOAD.



Note: if your LAN adapter and datalink driver support


promiscuous mode, you should not use this option.




5.10. Filter: -f.



By default, ETHLOAD analyzes (or records) all received


frames. If you want to analyze (or record) only specific


frames, you must use the filter11 option to specify:


- the IEEE 802.2 LLC SAP to analyze: -fhh where hh are


two hexadecimal digits specifying the SAP value for


both the DSAP and SSAP (see file SAPS for more


details);


- the Ethernet type or DoD SNAP type to analyze: -fhhhh


where hhhh are four hexadecimal digits specifying a


type (see file TYPES for more details);


- the MAC source or destination addresses to analyze: -


fhh-hh-hh-hh-hh-hh where hh are hexadecimal digits of


the MAC address.




5.11. Buffers in memory: -m.



For some datalink drivers (ODI, NDIS, packet driver), the


datalink driver can benefit of having several buffers to


put frames in at hardware interrupt time and allowing


ETHLOAD to analyse them after.



With the current version of ETHLOAD, the default is to use


a single buffer. The maximum number of buffers to be


allocated is 5.



Please note, that the use of several buffers may lead to a


problem: ETHLOAD in some case may analyse frames out of


order. So, events histories can be disordered and


timestamps can be slightly false.



After quitting ETHLOAD, the number of buffer misses is


displayed, this is the number of times that a frame had not


been analysed because no buffer was available. The


allocated queue size is also displayed together with its


maximum size.



As a rule of the thumb, you should increase the number of


buffer until having no buffer miss.



Remark: with ODI if a protocol stack is used while ETHLOAD


is running, these buffers are not used and there can be


only one frame received at a time.



* * *


* *


*



6. The different screens of ETHLOAD




6.1. Introduction



6.1.1. Screen layout



The different screens displayed by ETHLOAD have all the


same design:


- the top line is just a copyright notice + version


identification + percentage of dropped frames due to


internal buffer shortage (either in ETHLOAD or in data


link driver or even in Ethernet controller);


- in the top right corner a character is flipping from '+'


to '-' as frames are received;


- the character on the left of the '+/-' flip-flop is


displayed as a 'P' when ETHLOAD is processing a frame


else it is a space;


- the second line is a summary of all commands available


for this screen;


- if the real time trace option was specified in the


command line, the bottom line displays the first bytes of


the last received frame12:


* six bytes of MAC destination address ;


* six bytes of MAC source address ;


* two byte(s) for either DIX packet type or for IEEE


802.3 frame length;


* a few bytes of data.


- on a Token Ring, the ring status is displayed in RED on


the top line when the ring is beaconing or being purged.



All screens are automatically refreshed every measure


interval (5 seconds by default) to reflect the current


statistics or table contents. You may also press the SPACE


key to refresh the screen.



6.1.2. Commands.



You can enter a single character command. The case of the


character is ignored.



Two commands are always recognized:


- 'Z' or '0': for resetting all statistics of ETHLOAD to


zero and clearing all tables. Note that all statistics


are cleared and not only the ones currently displayed;


- 'X' or : for leaving the current screen and getting


back to the previous menu.



On some screens a large table is displayed: ARP table, ...


As these tables are larger than the 23 lines of display


available, you have to use the PgUp (or F8) and PgDn (or


F7) key to scroll between the different pages; the keys


Home and End will display the first and the last pages.



The NumLock key is used to switch between numeric address


format (when NumLock is lit) and symbolic name (when


NumLock is not lit).



6.1.3. Data display.



Three common display are often used:


- top of sorted table display;


- raw table display;


- history of events display.



The 'top display' consists of a title beginning with 'Top


of...' and displays the contents of an internal table


sorted from the highest frequency down to the lowest


frequency. An example of such a display is the display of


MAC Transmitter.



The percentage displayed before each line is relative to:


- the number of frames relevant for this screen;


- the number of frames analyzed by ETHLOAD ;


- the estimated13 bandwidth used relative to the raw LAN


bandwidth (10 Mbps for Ethernet).



For instance, if during 10 seconds on a 10 Mbps Ethernet


there were 1000 DECnet packets and 1000 IP packets and


within these 1000 IP packets there were 100 UDP packets,


the IP protocol screen will display for the UDP protocol


(assuming a mean packet length of 1000 bits):


- 10 % (i.e. 10% of IP packets are UDP datagrams);


- 5% (i.e. 5% of frames are UDP datagrams);


- 0,1% (i.e. 0,1%14 of the Ethernet bandwidth is used by


UDP datagrams).



A reference is also displayed by indicating how many frames


represents 100%. The user can switch from one display to


another by pressing the '%' key.



As all counters are 32 bits, they are limited to about 4E+9


frames. Once they reach this upper bound they are stopped


and the whole table is kept unchanged. The time of this


table overflow is then displayed in red.



As the size of the table is limited in size, when the table


is filled, this is displayed by a yellow message on the top


of the screen.



Each line of a 'top display' consists of:


- percentage (e.g. the percentage of Ethernet frames


transmitted by the displayed Ethernet node in respect


to the total number of Ethernet frames);


- display of the node (e.g. Ethernet MAC address with


perhaps the corresponding host name of DECnet address);


- a bar graph for visual representation (resolution


2.5%).



The 'raw table display' is just the display of a non sorted


internal table. An example is the display of the ARP table.



Each line of a 'raw table display' consists of two values


(e.g. the Ethernet MAC address associated with an IP


address).



The 'event history' is used to display a chronological log


of events (e.g. the list of ICMP requests).



Each line of an 'event history' consists of:


- a time stamp in the form hh:mm:ss.hh;


- a description of the event.



6.1.4. Accuracy



A final remark must be done on the accuracy of the figures:


- some packets are lost15, so the load is always higher than


indicated if you are using a slow Ethernet controller or


a non efficient driver;


- ETHLOAD relies on the MS-DOS timer which has a resolution


of about 50 msec, moreover if the network load is high


and you have a powerless CPU some timer ticks can be


missed;


- if you are running with IRQ disabled (i.e. without the -f


option), some datalink drivers can miss frames without


further notification, so the drop percentage is always


higher than the one displayed by ETHLOAD.



To summarize, ETHLOAD give reliable figure on a medium


loaded Ethernet (10% ?) and on a correct CPU 80386dx 25


MHz. In all other case, ETHLOAD can only indicate that your


Ethernet is probably heavily loaded and you will have to


buy an expensive LAN analyzer!



Moreover, all tables have a maximum size, so it may occurs


that on a medium or large LAN some tables are filled. This


is indicated on the screen. E.g. the MAC flow table will


probably be more or less useless on a LAN with more than 50


stations.



Version 2.0 of ETHLOAD will:


- drop less frames due to an ordered multi-buffered


scheme (only for NDIS and ODI);


- use a finer timer.




6.2. MAC Level screen



The MAC level screen can be divided into two parts:


- three statistics summaries: last five16 seconds, busiest


five seconds, cumulative;


- VU-meter of the peak and current load.



6.2.1. MAC Summary



Important figures are displayed for three important


samples:


- the last five seconds;


- the busiest five seconds, i.e. the five seconds


period when the Ethernet load was the highest ;


- the cumulative since the start of ETHLOAD or the last


reset.



For all these samples, the following figures are displayed:


- total number of Ethernet frames: the mean interframe gap


is also displayed if available;


- total number of bytes of data: i.e. MAC header + MAC data


(the FCS and preamble is not taken into account) and the


load17 of Ethernet in % of the 10 Mbps bandwidth of


Ethernet;


- the number of frames containing errors + rate of error


per second.



As the internal counters are 32 bits, counters are bounded


to about 4E+9 frames/bytes. Once the counters reach this


count; they are stopped and displayed as ******.



If the datalink driver supports error differentiation


(namely all but packet driver), the kind of error is also


indicated:


- CRC error (cabling problem ?);


- too long packet (babbling transceiver or controller);


- too short packet (garbage of collision).



If you are using the ODI datalink driver, by using the 'E'


command you have access to the MAC source address of faulty


Ethernet frames (by the way don't be amazed by unknown MAC


addresses because even the source address can be faulty in


faulty frames... specially for runt frames).



6.2.2. MAC VU-meter



The VU-meter is at the bottom of the screen and is


graduated in Mbps.



The '>' is the peak marker, i.e. the highest load on five


seconds since ETHLOAD has been started or reset.



The bar is the last five seconds marker.



The color of the peak marker and of the bar is changing in


respect to the load:


- green under 1 Mbps;


- yellow under 5 Mbps;


- red over 5 Mbps.



6.2.3. MAC Commands



The MAC level screen has two main commands:


- 'Q' to quit ETHLOAD and get back to MS-DOS (a


confirmation is requested);


- 'P' to go to the Protocol screen (to choose between IP,


XNS, OSI, DECnet, Netbeui).




6.3. TCP/IP screens



In very short, you can display:


- ARP: table of the mapping between IP addresses and


MAC addresses (can be used to detect two hosts sharing


the same IP address), the last ARP packet, the ARP


senders, the requested IP addresses;


- the IP fragmenters and the size of fragments, i.e.


the IP host that transmit fragmented datagram (should


be empty !);


- important information about IP hosts: largest MTU


(Maximum Transmit Unit) seen, missing IP datagrams


(should be zero if host is on the same LAN and has only


one interface), repeated IP datagrams (could indicate


faulty transceiver or SQE test enabled were it


shouldn't), minimum and maximum TTL (Time To Live) seen


from this host;


- ICMP: the last ICMP datagrams, the senders of ICMP


datagrams;


- mostly used protocols: UDP, TCP, ...


- TCP: events (connection request, end of connection),


connections, most used services (ports), important


events for SMTP and POP, monitoring Telnet connections,


...


- UDP: associations, most used services (ports),


important events for BOOTP and TFTP,...



6.4. DECnet screens



In very short, you can display:


- Connect Initiate (with nearly all fields including


objects,...) history;


- Disconnect Initiate history;


- Returned frames by a router because the end-node is


no more reachable;


- Top nodes (classified by transmitters and receivers):


not to be confused with the MAC layer


transmitters/receivers. On the MAC screens, DECnet


routers usually represent a very high percentage but on


the DECnet network layer screen, DECnet routers usually


represent nothing and you can see remote DECnet address


(i.e. some DECnet nodes on remote LAN).



6.5. OSI screens



In very short, you can display:


- the Active network layer hosts (not tested, if it


runs please email me ;-)


- the Inactive network layer hosts;


- the most important Transport layer events:


connection, disconnection, error. NSAP are displayed in


hexadecimal and TSAP are displayed in hexadecimal,


ASCII and EBCDIC. Important parameters are decoded and


displayed.




6.6. Summary of all screens.



This chapter explains in very few words all important


screens of ETHLOAD. In version 2.0, you will receive more


information once you are registrated.



Each screen is described under the name of the access path,


i.e., the letters to be typed in from the first screen to


reach it.



(E)rror: MAC level errors



Display the top nodes that transmit bad frames, error type


is not indicated only the source address of the frame. Of


course, the source address is often corrupted and displayed


as FF's or AA's or whatever. Displayed only with an ODI


driver.



(F)low: MAC level traffic matrix



It displays the top traffic flows: from source to


destination.



(M)AC: MAC level statistics



This screen was already described previously.



(L)ength: MAC level frame length.



This screen displays the length distribution of all


received frames (including addresses and FCS but not the


preamble). Check for too long frames or too short frames!



(R)eceiver: MAC receivers.



Display the top destination addresses (including multicast


addresses flagged by a M after the address).



(T)xr: MAC transmitters.



Display the top source addresses.



(P)rotocol (T)ype/SAP: LLC SAP and Ethernet types.



Display the top used IEEE 802.2 LLC SAP, Ethernet 2.0


types, SNAP encapsulated frames and Novell raw Ethernet.



Caution: Ethload and no other protocol analyzers can


distinguish between Novell raw Ethernet and SAP FF (and


even in some case SAP FE).



(P)rotocol (I)P (A)RP (C)ache: mapping IP address to MAC


address



Displays the mapping between IP address and MAC address.



The display looks like: IP address, MAC address.



Some routers (namely cisco) use what is called proxy-arp


routing: they hide non local IP addresses behind their own


MAC address. This scheme should be used only with very dumb


IP machines (that don't allow subnetting, or...) and is


indicated by a comment 'proxy router?'. This should not be


considered as an error but rather as a trick.



(P)rotocol (I)P (A)RP (H)istory: last ARP events



Display the very last ARP events by showing the target


protocol (IP) and hardware (MAC) address and the source


protocol and hardware addresses.



To indicate whether this is a request or a reply the event


is flagged with either a '?' (request) or '!' (reply).



The display is only correct if the protocol is IP and the


hardware is IEEE 48 bits address.



(P)rotocol (I)P (A)RP (I)nvertedCache: mapping MAC address ->


IP address



Display the IP addresses owned by MAC addresses.



The display looks like: MAC address, IP address.



If the same IP address is available through more than one


MAC address this is flagged as an error and displayed in


yellow. This is a severe configuration error that should be


corrected as soon as possible. The vendor name of the


Ethernet controller is indicated so you could more easily


find the faulty machines.



(P)rotocol (I)P (A)RP (M)iscellaneous: miscellaneous


informations.



Display the last ARP packet received together with the rate


of ARP requests and replies per second.



(P)rotocol (I)P (A)RP (S)enders: top senders.



Display the top IP address which send ARP requests.



In some case, this display may indicate a host which expire


or reset its ARP cache too often.



(P)rotocol (I)P (A)RP (T)argets: top targets.



Display the top requested targets.



I.e. the IP addresses which other hosts try to map to MAC


address.



If a target cannot be found and ETHLOAD hasn't seen any


reply for this IP address, ETHLOAD will display in yellow


the comments 'unresolved'.



This may either indicate:


- a host which is temporary down (usually a X-term


contacted by a X-Windows client and the X-term is


switched off);


- a badly configured IP host which tries to contact a


non existent IP address... (bad subnetting, ...).



* * *


* *


*



A. Annexes




A.1. Data Link layer references



Digital Equipment, 'PCSA Data Link Programer's Reference


Manual', April 1989, EK-PCDLL-PR-001



FTP Software, 'PC/TCP Packet Driver Specification',


Revision 1.09, September 1989 [from anonymous FTP server


vax.ftp.com]



3Com/Microsoft, 'LAN Manager Network Driver Interface


Specification', Version 2.0.1, October 1990 [from anonymous


FTP servers ftp.microsoft.com]



Novell, 'Open Data-Link Interface - Developer's Guide for


DOS Workstation Protocol Stacks', Version 1.10, March 1992


[from anonymous FTP server sjf-lwp.novell.com]




A.2. Tested data links



Here follows a very short and not restrictive list of


tested datalinks:


- Protocol Manager 2.01 + Cogent LP486E NDIS driver;


- SMC 8003, packet driver 8003PKDR V2.03;


- SMC 8003, ODI promiscuous mode SMC8000 V3.03 (920925)


and LSL 1.0 (900530);


- EXOS205 V 10.1.2, packet driver;


- NE2000 Crynwr packet driver;


- XIRCOM Ethernet adapter II with DLL 3.0.5;


- DEPCA, DE202 and DE100 with version 4.1 of DLLDEPCA;


- Crynwr packet driver for 3Com 503 version 4.1;


- Madge Smart AT Ringnode with MADGEODI 1.28 (921015)


and LSL 2.01;


- Madge MADGEFMP ODI driver;



If you can run ETHLOAD on other drivers or even on IEEE


802.5 or 802.6 LAN, please email me in order to increase


the size of tested datalink drivers.



It seems impossible to run ETHLOAD with the Crynwr packet


driver for NI5210 because promiscuous seems not to be


supported.



It also seems that 3Com 3C509 adapter with 2 KB of memory


cannot run ETHLOAD.



A.3. Adding DECnet node names to display.



A utility program provided with ETHLOAD, MKNODE, allows to


display DECnet node names after DECnet address.



MKNODE simply converts DECnet addresses in the form of


area.node (e.g. 1.1) into Ethernet address in the form of


AA-00-04-00-xx-yy (e.g. AA-00-04-00-01-04).



MKNODE is a MS-DOS filter program, i.e. it takes input from


the stdin and its output is stdout. The usual way of using


MKNODE is:


1) get the list of DECnet node addresses and names


(e.g. by running $ NCP SHOW KNOWN NODES TO nodes on a


VAX/VMS) in a MS-DOS called NODES. The format of this


file is:


area.node name


2) on MS-DOS, issue the command:


MKNODE < NODES >> ETHERS


3) that's done !



Here is an example for the file NODES:



;


; List of DECnet nodes


;


;


1.1 RM


1.76 MDCPC


2.3 DSRV03


2.4 DSRV04



And here is the added lines in ETHERS:



#


# The next Ethernet addresses are built with MKNODE.EXE


#


# (c) vyncke@csl.sni.be


# Can be copied and used freely


#


# Input is stdin and consists of line in the format


# area.node nodename


#


# Output is stdout and should be appended to ETHERS


#


# Run of Sun Jul 11 10:18:32 1993


#


#


# 1.1 RM


AA-00-04-00-01-04 RM


# 1.76 MDCPC


AA-00-04-00-4C-04 MDCPC


# 2.3 DSRV03


AA-00-04-00-03-08 DSRV03


# 2.4 DSRV04


AA-00-04-00-04-08 DSRV04



Remark: I'm not really satisfied with this two-steps


procedure. If you have written any VMS/DCL procedure that


has the same result and you wish to put this procedure into


the public domain, I would be pleased to include it in the


distribution kit of ETHLOAD.




A.4. Common pitfalls.



Here follows a list of common pitfalls.



From: Drew Letcher . Ethload always


fails if in your CONFIG.SYS there is a STACKS=0,0 line.


Ethload is memory hungry (especially during interrupt


processing), so you should have at least STACKS=9,512



From: Klaus Troja . When


running Ethload with an ODI driver, the file NET.CFG should


contains:


Link Support


Buffer 4 1600


MemPool 4096


Moreover, it seems that Novell LAN Workplace can run while


Ethload is running but IPXODI and NETX cannot be loaded


when Ethload is running. So, IPXODI and NETX must be


unloaded before starting Ethload.



From: Wey Jing Ho

datalink drivers cannot be loaded in high memory (LH


command in MS-DOS 5.0), they MUST be loaded in onventional


memory.



With NDIS driver, ETHLOAD needs much more memory than with


other drivers, so you may have to specify which protocols


you want to analyze by using the -p option.



On a highly loaded network, you may have to analyze only


the bottom layers in order to have enough CPU for the


analyse. (You may specify the highest layer to be analyzed


with the -p option, e.g; -p2 analyzes only MAC layer).



Packet drivers sometimes require to use PKTMODE 6 before


starting ETHLOAD and to use PKTMODE 3 after ETHLOAD is


exited.



Packet drivers sometimes do not allow other protocols to be


loaded before ETHLOAD is run.



* * *


* *


*



Table of contents


1. Introduction. 2


2. Miscellaneous and acknowledgements. 4


2.1. Original copyright. 4


2.2. Current copyright and disclaimer. 4


2.3. Support. 5


2.4. Distribution channel. 5


2.5. Thanks to testers. 6


2.6. Changes. 6


2.7. Trademarks. 7


2.8. Source code. 8


2.9. Licensing. 8


2.10. Security. 8


3. Configuration files. 10


ETHERS 10


HOSTS 11


NETWORKS 11


PROTOCOL 12


SAPS 12


WKS.TCP (resp. WKS.UDP) 13


TYPES 13


VENDORS 13


OBJECTS.DNA 14


NETWORKS.XNS 14


TYPES.XNS 15


WKS.XNS 15


NLIDS.OSI 16


SELECTOR.OSI 16


NSAPS.OSI 16


AFI.OSI 17


ICD.OSI 17


DCC.OSI 17


4. Set-up of datalink drivers. 19


4.1. Novell ODI. 20


4.2. Microsoft 3Com NDIS v 1.0.1. 20


4.3. Microsoft 3Com NDIS v2.0.1 or higher. 21


4.4. Digital Equipment DLL. 22


4.5. Packet driver. 22


4.6. Loopback driver. 23


4.7. File driver. 23


5. Command line options. 25


5.1. Datalink driver: -d 25


5.2. Protocols to be analyzed: -p 25


5.3. Real time frame trace: -t 26


5.4. Slow/secure mode: -s 26


5.5. Measure interval: -i 26


5.6. Quiet Mode: -q 26


5.7. Recorder mode: -r 27


5.8. LAN bandwidth: -b 27


5.9. Promiscuous override: -o. 27


5.10. Filter: -f. 28


5.11. Buffers in memory: -m. 28


6. The different screens of ETHLOAD 29


6.1. Introduction 29


6.2. MAC Level screen 31


6.3. TCP/IP screens 33


6.4. DECnet screens 33


6.5. OSI screens 33


6.6. Summary of all screens. 33


A. Annexes 37


A.1. Data Link layer references 37


A.2. Tested data links 37


A.3. Adding DECnet node names to display. 37


A.4. Common pitfalls. 39


Table of contents 40




_______________________________


1email in Belgium is not free :-( So that's my employeer


which pays any email. If any site in Belgium or BITnet is


whishing to start-up a distribution list for ETHLOAD, I


would really appreciate ;-) I should also get very soon a


Fidonet address.


2Also known previously by Yellow Pages.


3Also known previously by Yellow Pages.


4For a while... ;-)


5The version 1.0.1 is also supported, but with several


restrictions (see further)...


6You can check the version by looking at the banner


displayed when Protocol Manager is loaded from CONFIG.SYS.


Also, if the Protocol Manager directory is missing the


PROTMAN.EXE file, you can bet you have a old 1.0 version.


7If ETHLOAD displays a message like 'Cannot parse


PROTOCOL.INI', you should modify your startup procedure to


run ETHLOAD as soon as possible after loading PROTMAN in


the CONFIG.SYS.


8But for the bindstatus=YES, which increase the resident


part of the Protocol Manager, thus, reducing the available


base memory. If you are concerned with base memory, you may


instead use bindstatus=NO, then ETHLOAD won't be able to


display some informations about Protocol Manager but wil


anyway work as usual.


9ETHDUMP is a companion utility that dumps all frames seen


on the LAN into an ASCII file (roughly equivalent to the -r


option). It is a public domain program, available as


ETHDPvrr.ZIP from Simtel repository or from ub4b.buug.be.


10A tick is generated by the PC clock 18.2 times per second.


11Please note that the filter option is very trivial and can


consist of a single -f option.


12This display together with the '+/-' flip-flop is only


displayed by memory mapped IO on colour displays.


13This is a rough estimation: preamble are neglected, runt


packets are not analyzed, all frames are assumed of the


same length...


14This results comes from: 100 frames * 1000 bits/frame /


(10E+7 bits/second * 10 second) = 10E-3 = 0,1%


15It even seems that packet drivers do not count the lost


packets so Ethload cannot display the dropped frames


percentage.


16Or whatever interval you have specified with the -i option


on the command line.


17The load is computed as: sum(MACheader+MACdata+FCS)*8/LAN


No comments:

Post a Comment

ads

Followers