Linux系统平台下安装tcpdump问题解决

转自:http://hi.baidu.com/fmang_007/item/c63213e0a4bab6236dabb8be
 
2009-11-24 18:28

Linux系统平台下安装Libpcap问题解决

libpcap是unix/linux平台下的网络数据包捕获函数包。

Libpcap提供了系统独立的用户级别网络数据包捕获接口,并充分考虑到应用程序的可移植 性。Libpcap 软件包可从  www.tcpdump.org/ 下载,然后依此执行下列三条命令即可安装,但如果希望libpcap能在linux上正常工作,则必须使内核支持"packet"协议,也即在编译内核时 打开配置选项 CONFIG_PACKET(选项缺省为打开)。
然后,执行以下命令:
(sudo) ./configure
(sudo) make
sudo make install
注:括号内部分为可选的。

好了,废话少说,现在进入正题。

1、打开网址: www.tcpdump.org/ 下载 libpcap-1.0.0.tar.gz (512.0KB) 软件包,通过命令 tar zxvf libpcap-1.0.0.tar.gz 解压文件,并将其放入自定义的安装目录。
2、打开网址: flex.sourceforge.net/ 下载 flex-2.5.35.tar.gz (1.40MB) 软件包,通过 tar zxvf flex-2.5.35.tar.gz  解压文件,并将其放入上述自定义的安装目录中。
注:如果没有编译安装此文件,在编译安装libpcap时,就会出现 “configure: error: Your operating system's lex is insufficient to compile libpcap.”的错误提示。
3、打开网址: ftp.gnu.org/gnu/bison/ 下载 bison-2.4.1.tar.gz (1.9MB) 软件包,通过 tar zxvf bison-2.4.1.tar.gz 解压文件,并将其放入上述自定义的安装目录中。
注:如果没有编译安装此文件,在编译安装libpcap时,就会出现 "configure: WARNING: don't have both flex and bison; reverting to lex/yacc checking for capable lex... insufficient" 的错误提示。
4、打开网址: ftp.gnu.org/gnu/m4/ 下载 m4-1.4.13.tar.gz (1.2MB)软件包,通过 tar zxvf m4-1.4.13.tar.gz 解压文件,并将其放入上述自定义的安装目录中。
注:如果没有编译安装此文件,在编译安装bison-2.4.1时,就会出现 “configure: error: GNU M4 1.4 is required”的错误提示。
而后依次进入目录m4-1.4.13,bison-2.4.1,flex-2.5.35,libpcap-1.0.0,tcpdump..包解压同样 并执行以下命令:
(sudo) ./configure
(sudo) make
(sudo) make install
注:括号内部分为可选的。

命令完成后,libpcap网络捕包接口程序方可使用。
注:以上使用的版本均为当时的最新版本,不建议你使用和我列举出来的一样的版本,建议使用最新版本!安装过程均相同。

另外:
在实际编程编译源文件的时候,需要注意一些地方,指定编译链接库。
#gcc test.c -o test -lpcap
注意:运行此类程序时需要以root的身份运行,因为系统不允许非root用户进行一些网络操作。

你可能感兴趣的:(Network-tcp/Ip)