home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-06-12 | 40.7 KB | 1,190 lines |
-
- [*]===========================================================[*]
- | |
- | NETLIST Concurrent search for NetBIOS network users, |
- | 1.3 extended network statistics |
- | June 1990 & other services |
- | |
- [*]===========================================================[*]
-
-
- Public domain software
-
-
- by Adam MIROWSKI
- MIROWSKI@FRECP12.BITNET
- ADAMAINT@FRECP12.BITNET
-
- developed at the
- Ecole Centrale de Paris
- FRANCE
-
-
-
- =======================
- TABLE of CONTENTS
- =======================
-
-
- INTRODUCTION
- ------------
-
- NETLIST's purpose
- Prerequisites
- New version 1.3 features
- Version 1.2 features
-
-
- USER's GUIDE
- ------------
-
- NETLIST's command line syntax
- Explanation of various fields and entities
- Creating users' database
- NETLIST.DEF, the configuration file
- Examples
- Starting and interrupting NETLIST
- Archive's contents
- Remarks -- Bugs
-
-
- APPENDICES
- ----------
-
- NETSTART.COM
- Ideas for next releases
- Search's principles
- Connection's mechanism
- The author
-
-
-
- ==============
- INTRODUCTION
- ==============
-
- __________________
- NETLIST's purpose
-
- NETLIST performs various tests on NetBIOS networks. NetBIOS protocols
- are mainly run on Token-Ring and PC Network hardware, but there are
- implementations over TCP/IP and AppleTalk.
-
- NETLIST can:
-
- -- show current network users, by quickly checking the presence of
- a list of selected users, doing up to 170 tests per second,
-
- -- scan a range of adapters by number, to show connected ones,
-
- -- give extensive information and usage statistics about any adapter
- on the network,
-
- -- give an explanation about NetBIOS return codes.
-
- User's list can be automatically created and later updated. Results
- can be automatically time-stamped and archived.
-
- NETLIST supports two simultaneous LAN adapters.
-
- _____________
- Prerequisites
-
- Have a working NetBIOS driver
- -----------------------------
-
- All tests are performed at the NetBIOS level of protocols, so in
- order to be detected or tested, the user must have an installed and
- working NetBIOS that could answer NETLIST. The machine on which
- NETLIST is run must have NetBIOS too.
-
- The NetBIOS layer will be active on a machine if one of the following
- network softwares is running:
- -- IBM PC-LAN (Microsoft Network, in MS-Windows 3.0 terminology)
- -- Da Vinci eMAIL
- -- Future Soft DynaComm
- -- Sun Microsystems TOPS (*)
- -- Novell NetWare (*)
- -- Microsoft/3Com LAN Manager
- and generally if any NetBIOS based software has been used since the
- boot.
-
- (*) Netware and TOPS aren't NetBIOS based networking softwares, but
- they can provide NetBIOS services if the respective drivers have
- been loaded. You will only be able to detect people who did that.
-
- TOPS' NetBIOS driver is TNETBIOS.EXE and should be loaded after
- ALAP and PSTACK. You should add the /... parameter on ALAP command
- line.
-
- Netware's driver is NETBIOS.EXE. It should be loaded after IPX.COM
- or after NET?.COM.
-
- IBM's dxmT0mod.sys NetBIOS driver isn't automatically activated on
- adapter opening, except when it opens the adapter itself. So you
- don't have an active NetBIOS layer if after the boot you only
- started:
- -- IBM PC-3270 emulation,
- -- IBM Token-Ring bridge program,
- -- IBM TCP/IP suite of programs,
- -- IBMTOKEN.COM (Brian Fisher's 'Ethernet' packet driver
- for TCP/IP over Token-Ring).
-
- However, running NETLIST will activate your NetBIOS layer after
- the start of the PC-3270 emulation or after the installation of
- IBMTOKEN.COM. NETLIST cannot however activate NetBIOS on remote
- adapters.
-
- To simply start the NetBIOS layer there is NETSTART.COM, that you
- could insert at the end of batch files used to launch non NetBIOS-
- based network applications.
-
- Have a database of users or an momentaneous access to network machines
- ----------------------------------------------------------------------
-
- In order to detect the presence of a user or to test his adapter, you
- have to know either one of the network names declared by his NetBIOS
- network software (for exemple the name PC-LAN has been started with)
- or the permanent identification number of his adapter.
-
- Testing adapter numbers is better than testing names, because an
- adapter number will be present on the network as soon as NetBIOS is
- started, whereas network names can change and depend on the currently
- used software.
-
- The adapter number can be obtained with NETLIST either remotely, from
- an active name or locally, running NETLIST on the machine the adapter
- is installed in.
-
- To create users' database, run REGISTER.BAT from a diskette on each
- machine you want to register. You will be asked to input a few words
- to identify the current machine. See details below.
-
- ________________________
- New version 1.3 features
-
- Describes remote adapters better...
- -----------------------------------
-
- -- NETLIST shows whether PC-LAN is running on remote adapters.
-
- -- The /X option displays all the names found on adapters during
- a search or in a scan.
-
- -- Adapter status display has been adapted to new NetBIOS drivers.
- Now, it indicates the type of the adapter hardware. Various
- other fields have been changed.
-
- Is easier to use...
- -------------------
-
- -- Configuration files set defaults. No more need for batch files.
-
- -- User's database can be set up with a minimal effort.
-
- -- The /F option has a default argument (NETLIST.NAM). The /S option
- is more intelligent.
-
- -- Now when NETLIST doesn't find a name or an adapter number, it
- clearly indicates how it understood the given input string.
-
- -- Name and adapter number syntaxes are better checked.
-
- -- Now slash syntax for funny chars in names is used as often as
- possible, except when saving screen place is important. No
- slash is put in front of adapter numbers when there is no need
- for it.
-
- ...and more powerful!
- ---------------------
-
- -- Every command updates the specified or default namefile if /U
- option is specified.
-
- -- The /R [times] options asks to loop the test continuously or
- "times" times.
-
- -- The monitor option (/M) asks NETLIST to both:
- -- clear the screen and start displaying from the top,
- -- display received and transmitted frames instead of adapter
- numbers.
-
- -- Adaptative use of adapter resources will try to recover from
- errors which caused a premature end in the 1.2 version.
-
- -- NETLIST tries to find the right interrupt to use. You can impose
- an interrupt if needed.
-
- Some (small) 1.2 bugs have been fixed:
- --------------------------------------
-
- -- Doesn't display inopportune messages anymore when used with 4DOS,
- the COMMAND.COM replacement.
- -- Missing newlines in /D option display.
- -- Missing fourth digit in the displayed adapter numbers' range
- (/S option).
- -- Number of available NCBs on remote adapters was +1 than what
- it should be.
- -- Wasn't correctly working from the root directory.
-
- ____________________
- Version 1.2 features
-
- -- NETLIST can scan a given interval of adapter adresses.
-
- -- It can automatically update the network names and adapters'
- identifiers database, replacing NetBIOS names with adapter
- identifiers.
-
- -- NETLIST can display the full status of any given adapter and
- the status of all sessions on the local one.
-
- -- When NETLIST has to open the adapter, it warns about the additio-
- nal (10 second) delay and gives some feedback by displaying dots
- at 1/2 second intervals during the process.
-
- -- The parameters of the search (speed, precision) can be adjusted
- through command line switches.
-
- -- NETLIST gently stops on a Ctrl-C or Ctrl-Break request, after
- cancelling all the outstanding polls.
-
- -- The result of each scan can be automatically archived to a file
- for later retrieval.
-
- -- NETLIST can wait for a while before returning to DOS.
-
- -- NETLIST can list NetBIOS error/reply codes with their meaning.
-
- -- NETLIST displays user friendly error messages, that should help
- the novice to compose a correct command line.
-
-
-
- ==============
- USER's GUIDE
- ==============
-
-
- [-----------------------------------------------]
- [ Notational conventions ]
- [-----------------------------------------------]
- [ [] designs an optional element ]
- [ { | | } asks to select one alternative ]
- [ ... represents any string ]
- [-----------------------------------------------]
-
- _____________________________
- NETLIST's command line syntax
-
- NETLIST's command line syntax is basically:
-
- NETLIST [options] arguments
-
- "arguments" determine the function NETLIST performs, so there should
- be only one per run most of the time.
-
- Possible arguments (some look like options...) are:
-
- /H or /? Display help
- /F [NameFile] Search for adapters and names from
- namefile
- /S \FirstAdapterID {\CompleteLastAdapterID | IncompleteAdapterID}
- Scan this range of adapters
- NetworkName Display data about this network name
- * Display data about local adapter
- \AdapterID Display data about this adapter
-
- Available options are:
-
- /{0|1} Primary/secondary adapter
- /A ArchiveFile File where archive results
- /B NbOfBlocksToUse Speed of the search
- /D Set debug mode
- /E Display possible NetBIOS return codes
- /I Interactive update mode
- /L [[HH:]MM:]SS Wait after scan/search completion
- /M Select monitor mode
- /N [configfile] Use another config file or none
- /P HexIntNo Use this interruPt for NetBIOS comms
- /R [times] Repeat the test
- /T NbOfTicksToWaitForAnAnswer Precision of the search
- /U [updatefile] Update database
- /X Display all names
-
- Both upper case and lower case are accepted.
- Each option letter must be preceeded by a slash.
- Spaces are compulsory only after option argument (/R/M/X is valid,
- but not /R1/M/X).
- Some options may be not suitable for all functions.
-
- A description of arguments and options follows:
-
- ______
- /H, /?
-
- Display a help screen.
-
- ______________
- /F [NameFile]
-
- Test the presence of the NetBIOS names and adapter numbers
- listed in the NameFile database. If a name or adapter is
- present on the network, display one line of information about
- it.
-
- NameFile is a text file, a combination of two types of lines:
-
- NetworkName [Remark] [...]
- \12-digitHexadecimalAdapterID [Remark] [...]
-
- NETLIST lists all found names and adapters in the following way
- (a name always resides on an adapter):
-
- [MachineName] AdapterHEXid ConnectionTime Sessions/Names [P] [*][Remark]
-
- with a header and a footer giving the date/time of the test,
- used command line options and the time spend on the test.
-
- A "P" follows the names number if PC-LAN is running on the
- remote adapter.
-
- * is put at the beginning of the remark's field when the test
- has been done by network name rather than by adapter number.
-
- If NameFile isn't specified, the default NETLIST.NAM file is
- taken.
-
- NameFile is looked for in the current directory or in the direc-
- tory in which NETLIST.EXE resides. PATH environnement variable
- isn't used, in order to avoid side effects.
-
- The exact format of each field of the input file and of the
- displayed results is discussed in a separate section below.
-
- ___________________________________________________________________
- /S \FirstAdapterID {\CompleteLastAdapterID | IncompleteAdapterID}
-
- Test the presence of the given range of adapter numbers.
- The first four digits must be the same in both numbers.
-
- To indicate the last adapter to test, writing only the end of
- its number is enough. For example, instead of:
- /S \10005A037500 \10005A0375FF
- you could simply put
- /S \10005A037500 FF
- on the command line.
-
- Control-Break and Control-C will safely interrupt the scan.
-
- Useful options: /T /B /U
-
- ___________
- NetworkName
-
- Displays the NetBIOS status of the network adapter which has
- declared this network name.
-
- See the section below for an explanation of NetworkName formats.
-
- Useful options: /T
-
- ____
- *
- Displays the status of the local adapter at the NetBIOS level
- and the status of all NetBIOS sessions.
-
- __________
- \AdapterID
-
- Displays the status of the given adapter. For local adapters
- displays also the status of all its sessions.
-
- See the section below for an explanation of the \AdapterID
- format.
-
- Useful options: /T.
-
- ______
- /{0|1}
-
- Select either the primary (/0) or the secondary adapter (/1)
- for the current command, when you have more than one.
-
- When you select a non-existent adapter, you could receive a
- rather technical error diagnosis.
-
- _______________
- /A ArchiveFile
-
- Specifies the archive file to which the output of any command
- should be appended for a later retrieval. You could use the
- "NETLIST.LOG" name.
-
- Everything that appears on the screen (excepted error messages
- and copyrights) will be registered there. A separation line
- (79 '=') is inserted before any new log.
-
- In a future version, the format of this output could be
- different from the one seen on the screen, so that statistics
- could be more easily performed on it later.
-
- ___________________
- /B NbOfBlocksToUse
-
- Specifies the number of polls to perform simultaneously. Valid
- only with /S or /F.
-
- [ A poll is associated with a NetBIOS Control ]
- [ Block (called Message Control Block in the Token- ]
- [ Ring Technical Reference Manual), so that is where ]
- [ the name of this option comes from. ]
-
- By default, NETLIST performs as many simultaneous polls as it
- can with the available memory and adapter configuration, so
- this option can only be used to limit used resources.
-
- In order to increase the number of simultaneous polls, you
- should modify NetBIOS's configuration: increase the number
- of outstanding NetBIOS control blocks that it should allow.
-
- If you use IBM's drivers ("LAN Adapter Support Program"),
- the default value is 12 (of which 11 can be used for the
- simultaneous polls) and you should add or modify the
-
- C=number
-
- parameter on the
-
- DEVICE = [disk:][dir]dxmT0mod.SYS [...]
-
- line in your CONFIG.SYS file, then reboot the system. That will
- increase the memory the driver will take. The maximum value is
- about 255.
-
- The more simultaneous polls, the quicker a list or range of
- adapters will be searched,
-
- BUT
-
- -- NETLIST has an internal overhead in handling the polls.
- This overhead will become significant with a high number
- of blocks.
-
- -- You won't be able to ask for more simultaneous polls than
- the number of response buffers that can fit in your RAM.
-
- -- NetBIOS is internally limited and will prevent you from
- reaching very high search speeds (see the "Search's
- principles" section below).
-
- If Blocks is higher than the available maximum, it will be
- adjusted and a warning will be issued.
-
- ____
- /D
-
- Do the search in the Debug mode. Valid only for /S and /F modes.
-
- Display one line for each tested adapter, even those not present
- on the network. This will simply copy the information from
- NameFile for adapters or network names which didn't answered.
- There will be no connection time nor session/names data in
- those lines.
-
- ____
- /E
-
- Display possible return values for NetBIOS commands, along with
- their meaning.
-
- The meaning is mostly suitable for PC Network adapters.
-
- Related options: None
-
- ____
- /I
-
- Interactive mode: Ask for a description string for an adapter
- which doesn't have one yet in the current database. Save this
- description in the remark-field of the namefile database. Spaces
- will be replaced with underscores (_).
-
- Valid only if the update (/U) mode has been selected.
-
- Without the /I option, a question mark (?) will be put instead
- of the remark.
-
- The first of adapter's NetBIOS names will always be written
- as the third field, except if there is no NetBIOS names in
- the adapter.
-
- _____________________________
- /L [[Hours:]Minutes:]Seconds
-
- The deLay (counted from the start of the program) to wait before
- returning to DOS. To be used when running a loop with the /R
- option or in a batch file.
-
- Related options: /A /R
-
- ____
- /M
-
- Clear the screen before displaying results. Display received and
- transmitted NetBIOS packets instead of adapter numbers. Useful
- when continuously monitoring a list of nodes or a specific
- name/adapter.
-
- If the list is more than 19 entries long, in the repeat mode (/R)
- legends will be suppressed in following screen updates.
-
- This command clears the unused portion of the screen. It supports
- the /X option, but only when the display of additional names
- doesn't take more than one line, ie up to about 5-6 additional,
- non PCLAN names.
-
- Related options: /R /L
-
- ________________
- /N [coNfigfile]
-
- Don't use the settings of the NETLIST.DEF configuration file.
- If there is an argument for /N, use it as the new configuration
- file instead of NETLIST.DEF.
- coNfigfile is first looked for in the current directory, then
- in NETLIST's directory. If NETLIST doesn't find coNfigfile,
- it stops with an error message.
-
- Put in a configuration file, /N will void it.
- The coNfigfile parameter is only valid on the command line.
-
- The default config file will always be read, except when the /N
- option is the first option on the command line.
-
- ____________
- /P HexIntNo
-
- Force NETLIST to use the HexIntNo interrupt to communicate with
- NetBIOS. NETLIST will not call any other interrupts when the /P
- option is specified.
-
- HexIntNo is the 2-digit hexadecimal number of the interrupt, NOT
- followed by an 'H' nor preceeded by anything, not quoted in IBM
- fashion... Just 2 hexadecimal digits!
-
- Interrupts below 28H are rejected.
-
- Remark: Without the /P option NETLIST will test for the
- installation of an application-level networking software and
- use either the 2AH or the 5CH interrupt depending on the
- responses and errors it gets.
-
- ___________
- /R [times]
-
- Repeat the test "times" times or continuously if no "times"
- argument is given.
-
- Related options: /F /S /L /A
-
- ______________________________
- /T NbOfTicksToWaitForAnAnswer
-
- Adjust the timeout for commands that poll remote adapters.
- Specifies the number of clock ticks an adapter is given to
- respond within.
-
- 3 is the default value. 99 is the maximum.
-
- [1 tick = 1/18.2 of a second]
-
- This parameter can only decrease the default 3 second NetBIOS
- time-out, so there will be generally no effect in giving values
- greater than 50.
-
- _______________
- /U [updatefile]
-
- This option will update the user's database (NameFile) with the
- the results of the current test. If the database doesn't exist,
- it will be started in NETLIST's directory.
-
- The update will be of 3 kinds:
-
- -- If the search is made from a NameFile, entries beginning
- with a "Name" will be turned into "\HexadecimalAdapterID"
- entries;
-
- -- If a by-AdapterID scan is done, NameFile will be either
- updated or created with the adapter IDs effectively found;
-
- -- If a status display is asked for a local (*) or remote
- adapter, NETLIST will add its data to the configuration
- file if this adapter isn't already mentioned there.
-
- The update process will preserve any fields of the NameFile
- other than the NetworkName or \AdapterID field.
-
- A temporary NETLIST.$$$ file will be used during the modifi-
- cation process and must be writable in the NameFile directory
- (ie the directory must be writable -- non-writable directories
- exist on file servers even if they don't exist on the local
- machine; if you know how to make a local directory read-only
- let me know! -- and the NETLIST.$$$ should not be read-only if
- it exists).
-
- When using the /U option, the namefile will be updated even if
- you interrupt the scan/search with a Control-Break.
-
- If an "updatefile" is indicated, discovered adapters (in a /S
- scan) or users known only by name (in a /F search) will be
- recorded into, with their adapter number. An existing
- "updatefile" will be appended.
-
- The format of "updatefile" is:
-
- \AdapterID NetworkName Date
-
- Spaces in dates are replaced with underscores.
-
- If there is no NetworkName, the corresponding field will be
- blank or the remark will be put there instead (in a /F search).
-
- Related options: /I (interactive update)
-
- ____
- /X
-
- Display all the names found on adapters in a /F search or in
- a /S scan. Only non PC-LAN names will be displayed.
-
- __________________________________________
- Explanation of various fields and entities
-
- ___________
- NetworkName
-
- You communicate on a NetBIOS network by using names. The NetBIOS
- software maintains a table of names that his adapter is known
- by. These names are provided to the NetBIOS program by the
- application program.
-
- NetworkName is a NetBIOS name on the adapter to test. It can be
- the PC-LAN name, or any other name defined to NetBIOS by the
- software run on adapter's machine.
-
- NetworkNames are limited to 16 characters, the maximal length
- of NetBIOS network names. They will be internally padded with
- blanks up to 16 characters if they have less than that.
-
- It is case-sensitive. PC-LAN converts the name on the NET START
- command line to uppercase before declaring it on the network,
- so when you search for one, type it in uppercase.
-
- To look for names that contain non-displayable characters, write
- those characters in hexadecimal and preceed each of them with a
- \ in the NetworkName. To insert \'s into a NetworkName, double
- them.
-
- To test a name with embedded blanks, surround it with quotes.
-
- For example, the NetworkName MIROWSKI\03 would be understood
- as a name with 8 letters (M,I, etc.) followed by the char whose
- ASCII code is 3, then padded with blanks up to 16 characters.
-
- You could also write the above name as \\\4DI\52OWS\4BI\03
-
- The NetworkName "MIROWSKI \03" would be understand as
- containing 8 letters, then 7 blanks and finally the char whose
- ASCII code is 3. As the total is already 16, no padding will
- be done.
-
- You CANNOT write \03 as \3.
-
- If you run NETLIST from a batch file, for example WHO.BAT:
- @ECHO OFF
- NETLIST some-parms %1 %2 %3 %4 %5
- you cannot give the command WHO /N "name \somehex" to see
- "name \somehex" status, because DOS passes "name and \somehex
- as separate arguments (%1 and %2). You must call NETLIST directly.
-
- __________
- \AdapterID
-
- Every adapter has an internal name by which it is always known
- on the network. That is a 6 byte number, which can be handled
- through a 12-digit hexadecimal representation.
-
- It can be obtained by running NETLIST with a NetworkName or *
- argument. In the first case NETLIST will display the number of
- the adapter NetworkName resides on. In the second one, NETLIST
- will give the number of your own adapter.
-
- As NetworkNames and AdapterIDs are handled by the same routine,
- the latter must be preceeded with a back-slash (\) in order to
- be distinguished from the former.
-
- On all the Token-Ring adapters I have seen so far, numbers began
- with 10005A... Mine is 10005A037592. So when I poll for my own
- adapter status, I do either
-
- NETLIST *
- or
- NETLIST \10005A037592
-
- The display from those two commands aren't exactly the same,
- because no sessions are usually attached to the adapter number
- whereas all are to the star name.
-
- ___________
- MachineName
-
- MachineName is the first of the NetBIOS network names found on
- any adapter. It is always the PC-LAN name if PC-LAN is running.
-
- It can be blank if search has been done by adapter number and
- the adapter has no names defined.
-
- ______________
- ConnectionTime
-
- ConnectionTime is the time since the start of the NetBIOS layer,
- which is usually the same as the time since the adapter's
- opening.
-
- ConnectionTime is expressed in days, hours and minutes.
-
- ________
- Sessions
-
- Sessions is the number of pending NetBIOS sessions, i.e CALL-
- Pending, LISTEN-Pending, Established, Abnormally Ended, HANG-
- UP-Pending or HANG-UP-Complete.
-
- In practice, it means that servers will show a number of ses-
- sions superior to the established ones because they LISTEN for
- incoming calls. PC-LAN servers will always have at least 2 pen-
- ding sessions (LISTENING).
-
- For PC-LAN users, the number of sessions will be number of
- servers they are connected to. If you use, for example, the
- \\S1\PUBLIC disk, the \\S1\LASER printer, the \\SERVER\PUBLIC
- and \\SERVER\NCR disks, you will have only two sessions.
-
- _____
- Names
-
- Names is the number of names the adapter has declared to the
- net. People with 3 or more names usually have PC-LAN running,
- which is indicated by the "P" letter following the "Names"
- number.
-
- ______
- Remark
-
- Remarks help to identify an adapter when search is done by
- adapter number and the connected machine has no network name.
-
- Only the first 22 characters are displayed and only till the
- first space.
-
- In order to put white spaces in remarks, you should replace
- them with underscores (_). Those will be substituted with spaces
- before they go to the display.
-
- Remarks are preceded by an asterisk when search has been done
- by name. This enables you to progressively complete the list
- of adapter numbers, starting from PC-LAN names.
-
- To make it automagically, use the /U option.
-
- ________________________
- Creating users' database
-
- If you have access to all the machines you want to put into the
- database, put NETLIST.EXE on a diskette, no other file with it
- and run it on all those machines with the following command
- line:
- NETLIST /N/U/I/A NETLIST.LOG *
-
- NETLIST will prompt you for a description of the adapter, and
- will add a line to NETLIST.NAM, creating it at the first time.
- The line will be:
- \AdapterID your_remark first_of_network_names
-
- If there are no names defined in the adapter, there will be no
- "name" field.
-
- The whole operation will be logged to the NETLIST.LOG file. You
- will thus obtain a complete database of all parameters of the
- adapters on your network, at the NetBIOS level.
-
- If you don't want to enter anything manually, just drop the /I
- option:
- NETLIST /N/U/ANETLIST.LOG *
-
- NETLIST will put a question mark (?) as the remark field.
-
- You can edit the "namefile" later manually.
-
- Please remark that running NETLIST on all machines from the same,
- non write-protected diskette is inherently dangerous, because if
- one of the machines has a virus, you could infect the others.
- There should be no hard disk accesses if you start NETLIST from
- a diskette.
-
- If you don't have a physical access to the machines you wan't to
- put into the list, you can either try to scan a range of adapter
- numbers at a hour when there are lots of people on the net, or
- try to get network names people use (for example their own name
- for PC-LAN connections), put them into the NETLIST.NAM file (or
- any other file you will have to specify after /F) and do:
-
- NETLIST /F /U /T1
-
- NETLIST will scan the list and replace names with adapter numbers
- if the name is present on the network.
-
- If you want to do a scan, test adapter IDs starting with 10005A0,
- 10005A1 and 10005A2. At our site, all Token-Ring adapters have a
- number starting with one of those sequences.
-
- Configure then your network driver so that it accepts a high
- number of command blocks (simultaneous polls), for example 100.
- See the description of the /B option to see how to do it with
- standard IBM drivers. There is no sense in allowing more blocks.
- Reboot your machine and issue for example:
-
- NETLIST /S \10005A100000 FFFFF /T1 /U /I
-
- The scan should take less than two hours. There is one million of
- adresses to test, at a rate of about 170 per second.
-
- If you loose your patience before the end, make a Ctrl-Break.
- This will end the scan while preserving any already acquired
- data. The number of adapters effectively tested will be shown
- on the last line.
-
- Don't specify the /D option! The search would be 20 times
- longer.
-
- Remark: The REGISTER.BAT file in the archive can be used to
- make up the database.
-
- ___________________
- Configuration files
-
- All the options can be put into a configuration file and split
- freely over several lines.
-
- Everything following the # and ; chars till the end of the line
- will be ignored.
-
- The bigger the file, the slower NETLIST startup will be.
-
- ________
- Examples
-
- With the following namefile, derived from my local database:
- [NETLIST.OLD]
-
- SERVEUR CTI-Server
- S1 S1-Server
- S3 S3-Server
- GLOBAL Mail-server
- MIROWSKI Adam_Mirowski
-
- and the:
-
- NETLIST /N/F/T1 /B 10 /0/UNETLIST.UPD /a NETLIST.LOG
-
- command, I got today: [NETLIST.LOG]
-
- ===============================================================================
- Tue Jun 12 12:05:06 1990 NETLIST 1.3 NetBIOS network users are now
- ===============================================================================
- Name Adapter ID For Sess/Names Remarks
- ===============================================================================
- SERVEUR 10005A0616B4 4days 1:55 5/3 P *CTI-Server
- S1 10005A1CCC3E 18days 1:09 8/3 P *S1-Server
- S3 10005A266F6F 18days 1:12 5/3 P *S3-Server
- GLOBAL 10005A1C8CF8 6days23:01 0/1 *Mail-server
- MIROWSKI 10005A037592 3:39 2/3 P *Adam Mirowski
- ===============================================================================
- 5 users present, 5 tested (5 by name). 1 ticks/name, 10 blocks, 1 secs.
- Updating users' database...OK.
-
-
- The created "updatefile" was: [NETLIST.UPD]
-
- \10005A0616B4 SERVEUR Tue_Jun_12_12:05:07_1990
- \10005A1CCC3E S1 Tue_Jun_12_12:05:07_1990
- \10005A266F6F S3 Tue_Jun_12_12:05:07_1990
- \10005A1C8CF8 GLOBAL Tue_Jun_12_12:05:07_1990
- \10005A037592 MIROWSKI Tue_Jun_12_12:05:07_1990
-
-
- Namefile has been updated into: [NETLIST.NAM]
-
- \10005A0616B4 CTI-Server
- \10005A1CCC3E S1-Server
- \10005A266F6F S3-Server
- \10005A1C8CF8 Mail-server
- \10005A037592 Adam_Mirowski
-
-
- Remarks: 1) Any comments can be inserted in the "namefile".
- 2) One poll updates only one line in the "namefile".
- 3) If lines appear duplicated after the update, as in
- the above example, they will stay there (to preserve
- remarks, for example).
-
- With
- NETLIST /N/a NETLIST.LOG *
- I got: [NETLIST.LOG]
-
- ===============================================================================
- Tue Jun 12 12:05:55 1990 NETLIST 1.3 Status of *
- ============================================================================/0=
- Adapter identifier 10005A037592 Primary release level 2
- Reporting period 3:40 Last self-test OK (00H)
- Max. session data frame size 1028 Token-Ring adapter, NetBIOS v2.2
- --------------- No errors --------------
- Successfully Tx frames 6476 Successfully Rx frames 3716
- Available NCBs 12 Pending sessions 2
- Reset-configured NCBs 12 Reset-configured sessions 16
- Load-time-configured NCBs 12 Load-time-configured sessions 16
-
- Name Num Type State
- ------------------ --- ------ ----------------
- MIROWSKI 2 Unique Registered
- MIROWSKI \03 3 Unique Registered
- MIROWSKI \00 4 Unique Registered
-
- ----------- 2 active sessions ----------
- Pending Rx-(Broadcast)-Datagram 0 Pending Receive-Any 0
-
- Num Session state Local-name Num Remote-name Num Rec Snd
- --- ---------------- ---------------- --- ---------------- --- --- ---
- 1 Established MIROWSKI * 4 S1 2 0 0
- 2 Established MIROWSKI * 4 SERVEUR 2 0 0
-
-
-
- _________________________________
- Starting and interrupting NETLIST
-
- NETLIST opens the adapter if necessary when it starts.
-
- When doing this, it displays the copyright notice and warns of the
- additional 10 second delay. During the opening process it displays
- a dot every half second to give some feedback and ends with an Ok.
- This display cannot be removed.
-
- When NETLIST receives the Control-C or Control-Break request, it
- informs the user that it has been accepted and tries to stop as
- quickly as it can.
-
- It will interrupt the input stream of network names and adapter
- numbers to test, causing a premature end of the program.
-
- All files will be closed. If the update mode was active, namefile
- update will be done if the program was performing a scan search
- (/S), but not if it was doing a NameFile scan (/F without /S).
-
- Don't keep Control-C or Control-Break pressed or the machine will
- hang so that only the Reset key (if you're lucky enough to have
- one, I'm not) or the main power switch will be able to restart it
- by performing a hard boot.
-
- __________________
- Archive's contents
-
- NETLIST EXE Main program.
- NETLIST DOC This documentation.
- NETLIST DEF Sample configuration file.
- NETLIST NAM Sample "namefile" from "Examples" section above.
- NETLIST OLD Sample "namefile" ---------------"--------------
- NETLIST LOG Sample archive file -------------"--------------
- NETLIST UPD Sample "updatefile" -------------"--------------
- NETLIST PIF Program Information File for Windows.
- REGISTER BAT Batch to automatize "namefile" database creation.
- WHO BAT Batch to start NETLIST with selected options.
- NETSTART COM Short program to only start the NetBIOS
- on the local primary network adapter.
-
- _______________
- Remarks -- Bugs
-
- 1) There is an ambiguity on how to understand the command line when
- the last parameter is an option which accepts an optional argu-
- ment, as /F, /N, /R and /U do. Should this argument below to the
- option or should it be considered as a name to search for on the
- net?
-
- I choosed to consider this argument as the network name to search
- for if it is separated from the last option letter, and as the
- argument of the option if there is no space between it and the
- option letter.
-
- For example,
-
- NETLIST /U GLOBAL
-
- will be understand as "test the GLOBAL name and update the
- database if necessary", whereas
-
- NETLIST /UGLOBAL
-
- will tell NETLIST to consider GLOBAL as the name of the
- "updatefile" to create (or to update).
-
-
- 2) IBM's NetBIOS device driver is either the old NETBEUI.COM, or the
- newer DXMT0MOD.SYS.
-
- 3) The \ notation doesn't allow a funny char to start a normal name,
- because the name would then be taken as a hexadecimal adapter
- number (because of the single \ at the beginning). In order to
- minimize this problem, when the name/number parsing routine finds
- the hex number wrong it tries to interpret the whole string as a
- name.
-
- 4) The order of lines in output isn't necessarily the same as in the
- input file. This is especially true when the Debug option (/D) is
- used.
-
- 5) NETLIST needs 42 Ko to start, but additional space will be necessary
- for each poll block and associated data, mainly the response buffers,
- and for the /U option for storing NameFile updates (48 bytes per
- update) and making a DOS exec call.
-
- 6) If you don't want DOS to put his prompt at the end of the last line
- of NETLIST's display when run from a batch file, don't put any CR-LF
- on the line with NETLIST, just a Ctrl-Z.
-
-
- ============
- APPENDICES
- ============
-
- ____________
- NETSTART.COM
-
- NETSTART.COM opens the local primary adapter or starts the NetBIOS
- on it if this adapter is already opened.
-
- [ Starting NetBIOS consists in opening the NetBIOS Service ]
- [ Access Point (F0), reserving place for link stations and ]
- [ starting receiving/responding to NetBIOS frames. ]
-
- It doesn't display any messages, even if errors occur, like running
- it on a machine without network hardware and corresponding drivers
- installed.
-
- Remark: to start NetBIOS on an opened adapter there should be one
- available SAP (Service Access Point). The number of allo-
- wable SAPs is requested during adapter opening.
- Some network software could only request one SAP (for them-
- selves) or too few allowable link stations when they open
- the adapter, making it impossible to start a NetBIOS SAP
- later.
-
- _______________________
- Ideas for next releases
-
- The big improvement would be to find the users without any database,
- only by doing the right network calls. It seems that the Token-Ring
- network manager does such things (this software costs over $2000 here
- in France) on the corresponding network. But I wouldn't be surprised
- if in fact it simply (:-) monitored all the frames passing through his
- ring and asked the bridges for the same thing on other rings.
-
- NETLIST could receive a Windows or (why not?) Presentation Manager
- fancy user interface.
-
- NETLIST could better indicate what software is running on the remote
- nodes (currently only PC-LAN is detected), whether they listen for
- messages or provide some services (file sharing, etc.).
-
- ___________________
- Search's principles
-
- NETLIST simultaneously polls as many cards as has been requested by
- the /B switch, through non-blocking STATUS calls. Because the default
- answer time-out would lead to an unbearable slowness, each poll is
- interrupted by a CANCEL after a selected number of ticks.
-
- As the ticks decrease, adapters are given less time to respond, but
- even with one tick, there should be no losses.
-
- The number of simultaneous polls is limited to 255 by the NetBIOS
- software.
-
- The speed will grow with their number but only to a certain limit,
- because interrupting a poll is a blocking call.
-
- If we neglect the input reading speed and the overhead and if we
- suppose that all tested adapters do not answer, the speed function
- would behave like
-
- (18.2 / ticks) * blocks
-
- for small values of the "blocks" argument and big values of the
- "ticks" one, and reach the
-
- 1 / CANCEL_delay_per_call
-
- asymptote for big values of "blocks" and small values of "ticks".
-
- All that explanation is purely speculative, as I don't have any
- mean to know what exactly is going on inside the adapter firmware
- and on various levels of interfaces and as I have no mean to measure
- anything with a precision superior to 1 clock tick. I've heard that
- it is possible to reprogram the system clock to quite high speeds,
- like 1000 ticks per second, but this necessitates too much effort
- and would introduce even more overhead into the program.
-
- ___________________________________
- Connection's mechanism (Token-Ring)
-
- Will be discussed in a future version of NETLIST's documentation.
-
- __________
- The author
-
- Adam Mirowski, Ecole Centrale de Paris, FRANCE
-
- The following people have provided help to test NETLIST in various
- environments:
-
- Alex at awiwuw11.bitnet
- C. H. Cheng at cucsc.bitnet
- David William at esoc.bitnet
- Peter Jaspers-Fayer at vm.uoguelph.ca
- Don Meyer at uiuc.edu
- David Priestley at p1.lancsp.ac.uk
- Dave Richardson at engr.uky.edu
- Tom Salzmann at ramona.cary.nc.us
- Samuel Lam at wimsey.bc.ca
- Sean at clarku.bitnet
- Bernd Wagener at doluni1
- and Warren Evans at ecncdc.bitnet
-
- Many thanks!
-
- This program is placed in public domain, but any donations
- will be accepted and will support the development of next
- versions.
-
- If you like it or simply use it, drop a line to
- MIROWSKI@FRECP12.BITNET or ADAMAINT@FRECP12.BITNET.
-
-
- ------------------------ ------- Till 8/90 -------
- Residence Monceau Residence ECP
- 1, square de Tocqueville 2, avenue Sully-Prudhomme
- 78150 Le Chesnay 92290 Chatenay-Malabry
- FRANCE FRANCE