1 $Id: README.linux,v 1.2 1999/12/29 21:33:06 gerald Exp $
3 The standard libpcap compiled for Linux has a timeout problem.
4 If you use Ethereal with this libpcap on a not-so-busy network, at
5 times you will see that the Ethereal GUI freezes. It will freeze until
6 one more packet is received.
8 As of version 0.4 of libpcap this problem still exists. This is the
9 version of libpcap that comes with the standard Linux distributions.
10 If the freezing really annoys you, you can apply a patch to the libpcap
13 Libpcap can be obtained from ftp://ftp.ee.lbl.gov
15 You can download the Linux patch at http://ethereal.zing.org/~gerald/
17 Modified RedHat 6.0 and 6.1 libpcap RPMs are available at
18 ftp://ethereal.zing.org/pub/ethereal/rpms
21 To illustrate the problem, below is the output of strace on Ethereal
22 using a stock version of libpcap, followed by a "fixed" version.
23 Note that in the "fixed" version select() is called before recvfrom().
24 The use of select() allows the packet capture to time out if there is
27 30677 08:30:30 poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}], 2, 0) = 0
28 30677 08:30:30 recvfrom(8, "\0\20{\357;\333\10\0 }\200\302\10\0E\0\0(\22\23@\0\377"..., 65535, 0x20, {sa_family=17, sa_data="\10\0\0\0\0\2\0\1\3\6\10\0 }"}, [20]) = 60
30 30914 09:05:48 poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}], 2, 0) = 0
31 30914 09:05:48 select(9, [8], NULL, NULL, {0, 250000}) = 1 (in [8], left {0, 250000})
32 30914 09:05:48 recvfrom(8, "\10\0 }\200\302\0\20{\357;\333\10\0E\10\5\334-\323@\0\363"..., 65535, 0x20, {sa_family=17, sa_data="\10\0\0\0\0\2\0\1\3\6\0\20{\357"}, [20]) = 1514