          Laurent Constantin's network library (lcrzo)
               -----------------------------------

                  -----------------------------
                  |   PRESENTATION OF LCRZO   |
                  -----------------------------

Lcrzo is a network library.
Its main objective is to easily create network test programs.
This library provides network functionnalities for Ethernet, IP, UDP,
TCP, ICMP, ARP and RARP protocols. It supports spoofing, sniffing,
client and server creation. Furthermore, lcrzo contains 
high level functions dealing with data storage and handling.
Using all these functions, you can quickly create a network test 
program. Lcrzo, which means "Laurent Constantin RZO" (RZO=network in 
French), is available under the GNU LGPL license. This library was 
successfully installed under Linux, FreeBSD and Solaris.

The library lcrzo provides :
 - network functionnalities :
    + address conversion
    + packet encoding/decoding/printing
    + spoofing
    + real/virtual UDP/TCP clients/servers
    + sniffing
    + device(network board) dealing
    + etc.
 - and general functionnalities :
    + data conversion
    + chained list
    + IPC
    + etc.


                 -------------------------------
                 |   PRESENTATION OF LCRZOEX   |
                 -------------------------------

Lcrzoex is a program containing usage examples for the library lcrzo.
Actually, lcrzoex contains over 150 examples. The main objective 
of lcrzoex is to teach you how to use the library lcrzo. Every 
example can be compiled alone and modified to match your needs.

Examples provided by lcrzoex can be used in the following contexts :
 - discover the Ethernet address of a computer (examples 2, 3, 134,
   etc.)
 - sniff your LAN to detect what's going on (examples 7, 8, 9, etc.)
 - check the checksums created by a network program which isn't
   working (examples 16, 17, 18, etc.)
 - intercept a session and replay it as many times you want to
   strictly test your application (examples 10, 11, 12, 22, etc.)
 - verify if a router is well configured even if the needed computers
   are down (examples 48, ..., 53, etc.)
 - check if your router/firewall/computer blocks 
    + IP protocols (examples 29, ..., 34, etc.)
    + IP options (examples 29, ..., 34, 73, ..., 79, etc.), source
      routing (examples 45, 56, 59, 62, etc.)
    + IP fragments (examples 44, 55, 58, 61, 72, etc.)
    + TCP options (examples 48, ..., 53, etc.)
    + ICMP types (examples 65, ..., 70, etc.)
    + ARP poisoning (examples 80, 81, 82, 83, etc.)
 - create a tcp/udp client with a special local port (examples 85,
   89, 86, 93, 97, etc.)
 - convert between numbers (examples 139, ..., 148, etc.)
 - etc.


                    ------------------------
                    |         HELP         |
                    ------------------------

You can enter "man lcrzo" (or "man ./lcrzo_us.3" if lcrzo is not yet 
installed) to obtain help for each function.
You can enter "man lcrzoex" (or "man ./lcrzoex_us.3" if lcrzoex is not yet 
installed) to obtain help for lcrzoex.


                    ------------------------
                    |         BUGS         |
                    ------------------------

If you find errors, thanks for contacting me.
For every bug report, try to indicate :
 - lcrzo version (run "lcrzoex 1")
 - system (uname -a)
 - command or error environment
 - how to reproduce the error
 - other information you may think userful

My email address is on the web :
   http://www.laurentconstantin.com/us/     (main server)
   http://go.to/laurentconstantin/us/       (backup server)
   http://laurentconstantin.est-la.com/us/  (backup server)
