115 lines
4.6 KiB
Plaintext
115 lines
4.6 KiB
Plaintext
This file contains a very short introduction to the IPX implementation
|
|
on Linux. Feel free to forward comments (especially suggested additions)
|
|
to greg@caldera.com.
|
|
|
|
--------------------------------------8<--------------------------------------
|
|
Since this mail address isn't valid anymore (2002-03-10), I took care of this
|
|
package myself and enhanced this to compile under recent kernel versions and
|
|
systems. Feel free to write me: poc@pocnet.net.
|
|
--------------------------------------8<--------------------------------------
|
|
|
|
The following are important definitions in understanding the descriptions
|
|
in this README file.
|
|
|
|
IPX Interface - This is the item to which IPX sockets are bound.
|
|
An IPX interface corresponds to an IPX Network Number which corresponds
|
|
to a physical device and frame type. A sample IPX Interface would be:
|
|
Network Number: 0x00ABCDEF
|
|
Device: Eth0
|
|
Frame Type: 802.2.
|
|
The particular interface is selected during binding by using the
|
|
Network Number (see sample code below).
|
|
|
|
Primary Interface - The interface that is selected by default when
|
|
binding a socket. This is selected when binding by using
|
|
a network number of 0 (see sample code below).
|
|
|
|
Internal Network - This is a special kind of IPX interface that does
|
|
not have a physical device or frame type. It is used to provide
|
|
a route-independent address for service providers. Internal network
|
|
numbers are optional; however, when one is present it is also the
|
|
Primary Interface.
|
|
|
|
This tar file contains the following IPX utilities:
|
|
|
|
ipx_interface.c
|
|
This program is used to create an IPX interface.
|
|
|
|
ipx_internal_net.c
|
|
This program is used to create an IPX Internal Network number.
|
|
|
|
ipx_route.c
|
|
This program creates an IPX route.
|
|
|
|
ipx_configure.c
|
|
This program is used to read/write two configuration parameters:
|
|
AUTO INTERFACE CREATE - IPX should/shouldn't automatically create
|
|
an IPX interface when it discovers one that has not been
|
|
registered via ipx_interface above.
|
|
AUTO PRIMARY SELECT - IPX should/shouldn't automatically select
|
|
a primary interface when it one an interface exists and
|
|
none are designated as the primary. Manual designation
|
|
is performed via ipx_interface.
|
|
|
|
By default, these are both turned off.
|
|
|
|
The following are sample IPX programs (found in directory Samples):
|
|
|
|
ipxrcv.c and ipxsend.c
|
|
ipxsend will send a single packet to an instance of ipxrcv running on the
|
|
same machine. It uses getsockname(2) to determine the address to which to
|
|
send the packet.
|
|
rip.c
|
|
rip passively monitors the rip traffic on the attached IPX network.
|
|
sap.c
|
|
sap passively monitors the sap traffic on the attached IPX network.
|
|
|
|
There are three files in /proc/net/ipx that relate to IPX:
|
|
interface contains the list of IPX interfaces.
|
|
route contains the list of IPX routes.
|
|
socket the list of IPX sockets in use.
|
|
This is a VERY stupid packet sniffer for IPX ethernet packets.
|
|
|
|
=============================================
|
|
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
|
|
! ! ! S E C U R I T Y W A R N I N G ! ! !
|
|
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
|
|
=============================================
|
|
|
|
If you are using unencrypted passwords, and use this tool to send a
|
|
dump to somebody else or store it on a computer, you might very well
|
|
store passwords there. So, be VERY careful! This is exactly the kind
|
|
of tools Novell designed the encrypted passwords for (or against).
|
|
|
|
|
|
|
|
I hacked it together to be able to help people with problems with
|
|
ncpfs. The socket handling was taken from Statnet-2.0.
|
|
|
|
You can use it to watch commercial NetWare clients when they talk to
|
|
servers. I divided the program into 2 parts, ipxdump and ipxparse.
|
|
|
|
ipxdump simply pumps all the IPX frames it receives to stdout.
|
|
|
|
If you use ipxdump to watch a workstation, you can use the simple
|
|
filter function ipxdump provides. You can call ipxdump with the node
|
|
address of the workstation you want to watch. This way only the
|
|
packets this workstation sends and receives are monitored. As an
|
|
example, I call ipxdump as
|
|
|
|
./ipxdump 00001B038B11
|
|
|
|
to look at my 286/10MHz test 'workstation'. ipxdump still generates
|
|
huge amounts of data, so you should be very careful to start it just
|
|
before you perform the operation (such as file creation for OS/2
|
|
clients with NW4.1 as a server, or a 'dir' on a directory with long
|
|
and short file names, or an encrypted password change ;-)) and stop it
|
|
directly after that. And, please gzip -9 and uuencode it before you
|
|
send it to anybody.
|
|
|
|
ipxparse will eventually take apart the dump that ipxdump
|
|
generates. They can as well be used in a pipe. Currently ipxparse does
|
|
not do anything sensible, but that will definitely change.
|
|
|
|
Volker Lendecke
|
|
<lendecke@namu01.gwdg.de> |