Pull a lot of common code for handling 802.3 frames (i.e., frames with a
[obnox/wireshark/wip.git] / README.win32
1 $Id: README.win32,v 1.18 2001/01/12 02:35:49 gram Exp $
2
3 Running Ethereal, Tethereal, and Editcap on Win32
4 =================================================
5 You need the glib and gtk libraries for running Ethereal. 
6
7 These packages for win32 can be found at:
8
9         http://www.ethereal.com/distribution/win32
10
11 and at the home page for the GTK+ for Win32 project:
12
13         http://www.gimp.org/~tml/gimp/win32
14
15 or
16         http://www.iki.fi/tml/gimp/win32/
17
18 (the mirror nearer to you may be faster).
19
20 Plugins (gryphon.dll and mgcp.dll) can go in:
21         C:\Program Files\Ethereal\plugins\<version>
22         C:\Ethereal\plugins\<version>
23
24 Where <version> is the version number, without brackets.
25 For example, C:\Ethereal\plugins\0.8.15
26
27 Yes, the location of plugins needs to be more flexible.
28
29 Make sure the glib and gtk DLL's are in your path - i.e., that your path
30 includes the directory (folder) or directories (folders) in which those
31 DLLs are found - when you run Ethereal.  This includes gtk-*.dll,
32 glib-*.dll, gmodule-*.dll, gdk-*.dll, and gnu-intl.dll.  As of the
33 20000805 GTK+/GLIB distribution, gthread-*.dll is no longer needed.
34
35 The Win32 Binary distribution, available from
36
37         http://www.ethereal.com/distribution/win32
38
39 used different version of the GTK+/GLIB libraries at different points
40 in time:
41
42 Ethereal Version                GTK+/GLIB version
43 ----------------                -----------------
44 0.8.11 and after                20000805
45 0.8.9 - 0.8.10                  20000416
46 0.8.8 and before                19990828
47
48
49 Capturing Packets
50 -----------------
51 Remember, if using the the Win32 Binary distribution, available from
52
53         http://www.ethereal.com/distribution/win32
54
55 there are two separate packages, one with non-capturing tools, and
56 one with capturing tools. Install the appropriate package. The
57 capturing version requires WinPcap, the non-capturing version does not.
58
59 In order to capture with Win32, you need to install the NDIS
60 packet capture driver for your particular Win32 OS; drivers for Windows
61 9x, Windows NT 4.0, and Windows 2000 can be downlaoded from the
62 WinPcap home page:
63
64         http://netgroup-serv.polito.it/winpcap/
65
66 If Ethereal is not capturing packets, you can test your WinPcap
67 installatino by installing WinDump (TCPdump for Windows) ported by the
68 same folks who make WinPcap. It's at:
69
70         http://netgroup-serv.polito.it/windump/
71
72 They also make Analyzer, a GUI sniffer for Win32:
73
74         http://netgroup-serv.polito.it/analyzer/
75
76
77 Compiling the Ethereal distribution from source
78 ===============================================
79 You'll need the development package for GLIB, GTK+, and WinPcap.
80 Those versions are available from the respctive home pages for
81 each project (the same URLs as listed above). The development
82 packages contain header files and stub libaries to link against.
83
84 SNMP and ZLIB are not working yet in Ethereal/Win32, but the
85 libraries can be had from these locations if you want to hack:
86
87 The UCD SNMP library for win32 can be had from
88
89         ftp://ftp.revelstone.com/pub/snmp/
90
91
92 Zlib (or 'libz') is available for Win32 from
93
94         http://www.winimage.com/zLibDll/
95
96
97
98 Instructions for MS Visual C
99 ----------------------------
100 Modify the config.nmake file in the top directory of the Ethereal
101 source tree to work for your local configuration. You should not
102 have to modify any other Makefile.
103
104 Be sure that your command-line environment is set up to compile
105 and link with MSVC. When installing MSVC, you can have your
106 system's environment set up to always allow compiling from the
107 command line, or you can invoke the vcvars32.bat script.
108
109 In the ethereal directory, type "nmake -f makefile.nmake". It will
110 recurse into the subdirectories as appropriate.
111
112 Some generated source is created by traditionally "Unix-ish" tools.
113 If you are building from an official distribution, these files are
114 already generated, so you have nothing to worry about unless you
115 modify the source. If building from a CVS image, you'll need the tools
116 to generate C source. The "special" files and their requisite tools are:
117
118 Source                          Output                  Tool
119 ------                          ------                  ----
120 dfilter-grammar.y               *.[ch]                  Bison or Yacc
121 dfilter-scanner.l               *.c                     Flex
122 wiretap/ascend-grammar.y        *.[ch]                  Bison or Yacc
123 wiretap/ascend-scanner.l        *.c                     Flex
124 ncp2222.py                      packet-ncp2222.c        Python
125
126 make-reg-dotc, packet*.c        register.c              Bash
127 or
128 make-reg-dotc.py, packet*.c     register.c              Python
129
130 The Makefile.nmake supplied with the Ethereal distribution will
131 attempt to make register.c with Python, since it is much much much
132 faster than the shell version. The reason it is faster is because
133 the shell version launches multiple processes (grep, sed) for each
134 source file, multiple times. The Python script is one process. This
135 matters a lot on Win32. If for some reason you want to build register.c
136 with the shell script, uncomment out the action line for the register.c
137 target in Makefile.nmake.
138
139 If you have a Unix system handy, you can first build on Unix
140 to create the source files that these tools make, then run the build
141 on Windows.  That will avoid the need for these tools on your Windows
142 computer.
143
144 If you don't have a Unix system handy, most of those tools are available for
145 Win32 systems as part of the Cygwin package:
146
147         http://sourceware.cygnus.com/cygwin/
148
149 After installing them, you will probably have to modify the config.nmake
150 file to specify where the Cygwin binaries are installed.
151
152 Python for Win32 is available from
153
154         http://www.python.org/
155
156
157 Instructions for Cygwin
158 -----------------------
159 No one has ever compiled Ethereal entirely with Cygwin.  It should not
160 be difficult, however.  This spot is reserved for your instructions on
161 how to compile Ethereal with Cygwin.