home *** CD-ROM | disk | FTP | other *** search
/ ftp.shrubbery.net / 2015-02-07.ftp.shrubbery.net.tar / ftp.shrubbery.net / pub / astraceroute / astraceroute-1.4.a12.2.tar.gz / astraceroute-1.4.a12.2.tar / astraceroute-1.4.a12.2 / INSTALL < prev    next >
Text File  |  2007-01-24  |  4KB  |  106 lines

  1. @(#) $Id: INSTALL,v 1.1.1.1 2007/01/25 03:32:19 heas Exp $ (LBL)
  2.  
  3. Traceroute is known to build and run under SunOS 4.1.4 and Solaris 5.4.
  4. If you are running a really old kernel, see the instructions under the
  5. title "KERNEL MODIFICATIONS" further down.
  6.  
  7. To build traceroute, first customize any paths in Makefile.in, then run
  8. "./configure" (a shell script). The configure script will determine
  9. your system attributes and generate an appropriate Makefile from
  10. Makefile.in. Next run "make". If everything goes well you can su to
  11. root and run "make install" and "make install-man". Note that traceroute
  12. must be installed setuid to root or run as root.
  13.  
  14. If configure fails for some reason and decide to submit a bug report to
  15. traceroute@ee.lbl.gov, please include a copy of config.log.
  16.  
  17. You will need an ANSI C compiler to build libpcap. The configure script
  18. will abort if your compiler is not ANSI compliant. If this happens, use
  19. the GNU C compiler, available via anonymous ftp:
  20.  
  21.         ftp://prep.ai.mit.edu/pub/gnu/gcc-*.tar.gz
  22.  
  23. If you get the error message:
  24.  
  25.     traceroute: unknown protocol icmp
  26.  
  27. it usually means you're missing the icmp line in /etc/protocols.
  28.  
  29. If you are using Solaris 2.5.1 (and possibly higher), traceroute cannot
  30. calculate checksums; configure automatically changes the default to
  31. reflect this. The kernel updates the ip_id field with some unknown
  32. value and the ip_off field with the IP_DF bit. Also, if the the udp
  33. uh_sum field is non-zero, it gets updated with the value of the uh_ulen
  34. field... This means that the icmp echo option (-I flag) is not as
  35. useful.
  36.  
  37. KERNEL MODIFICATIONS
  38. --------------------
  39. If yor have a really old system, it may be necessary to modify your
  40. kernel before traceroute will work. If you want to hack on your kernel,
  41. a modified version of the routine rip_output (normally found in the
  42. file /sys/netinet/raw_ip.c) can be found in rip_output.c. This code may
  43. or may not resemble the code in your kernel. It may offer you a place
  44. to start but we make no promises. If you do hack your kernel, remember
  45. to test everything that uses raw ip sockets (e.g., ping and
  46. egpup/gated) & make sure they still work. We wish you the best of luck
  47. and you're on your own.
  48.  
  49. Some older kernels forward icmp packets that have a ttl of zero. If
  50. your system has this bug, you might want to fix it while you're in the
  51. kernel.  (This bug appears in all releases of BSD up to but not
  52. including 4.3tahoe. If your version of netinet/ip_icmp.c is any earlier
  53. than 7.3 (April, '87), it has the bug.)  The fix is just to add the
  54. line:
  55.  
  56.     ip->ip_ttl = MAXTTL;
  57.  
  58. after the line:
  59.  
  60.     ip->ip_src = t;
  61.  
  62. (or anywhere before the call to icmp_send) in routine icmp_reflect.
  63.  
  64. If you're running this on a pre-4.3bsd system (e.g., SunOS 3) that
  65. strips ip headers from icmp messages, add -DARCHAIC to CFLAGS in the
  66. Makefile.  Also note that rip_output contains a conditional for a
  67. 4.2/4.3 change in the location of a raw socket's protocol number.  I've
  68. checked this under 4.3 & SunOS 3 but you should double-check your
  69. system to make sure the appropriate branch of the #if is taken (check
  70. the line that assigned to ip->ip_p in your system's original
  71. rip_output).
  72.  
  73.  
  74. FILES
  75. -----
  76. CHANGES         - description of differences between releases
  77. FILES        - list of files exported as part of the distribution
  78. INSTALL         - this file
  79. Makefile.in    - compilation rules (input to the configure script)
  80. README        - description of distribution
  81. VERSION        - version of this release
  82. aclocal.m4    - autoconf macros
  83. config.guess    - autoconf support
  84. config.sub    - autoconf support
  85. configure    - configure script (run this first)
  86. configure.in    - configure script source
  87. findsaddr-generic.c - generic source address code
  88. findsaddr-linux.c - linux source address code
  89. findsaddr-socket.c - socket based soruce address code
  90. findsaddr.h    - source address prototypes
  91. ifaddrlist.c    - inet address routines
  92. ifaddrlist.h    - inet address prototypes
  93. install-sh    - BSD style install script
  94. lbl/gnuc.h    - gcc macros and defines
  95. lbl/os-*.h    - os dependent defines and prototypes
  96. linux-include/*    - network include files missing on Linux
  97. mean.awk    - awk script to print out the mean time along a route
  98. median.awk    - awk script to print out the median time along a route
  99. mkdep        - construct Makefile dependency list
  100. rip_output.c    - sample rip_output() from  /sys/netinet/raw_ip.c
  101. strerror.c    - emulation routine
  102. traceroute.8    - manual entry
  103. traceroute.c    - main program
  104. traceroute.h    - global prototypes
  105. usleep.c    - missing system call emulation
  106.