安装java tcpdump


安装libpcap.a

http://www.cnblogs.com/lynch_world/archive/2011/08/31/2160678.html

http://www.linuxfromscratch.org/blfs/view/6.2.0/basicnet/libpcap.html

Introduction to Libpcap

libpcap provides functions for user-level packet capture, used in low-level network monitoring.

Package Information

  • Download (HTTP): http://www.tcpdump.org/release/libpcap-0.9.4.tar.gz

  • Download (FTP):

  • Download MD5 sum: 79025766e8027df154cb1f32de8a7974

  • Download size: 416 KB

  • Estimated disk space required: 3.2 MB

  • Estimated build time: less than 0.1 SBU

Libpcap Dependencies

Optional

Software distribution for the DAG and Septel range of passive network monitoring cards.

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/libpcap

Installation of Libpcap

Install libpcap by running the following commands:

./configure --prefix=/usr &&
make

 ./configure

  在这一步可能会遇到缺少flex包的问题:

configure: error: Your operating system 's lex is insufficient to compile libpcap.  flex is a lex replacement that has many advantages, including being able to compile libpcap.  For more information, see http: //www.gnu.org/software/flex/flex.html .

  解决方法:

sudo apt-get install flex

  

4、编译

  make

    可能会遇到yacc错误:

yacc -d ./parse.y
make: yacc: Command not found
make: *** [parse.c] Error 127

  解决方法:

 

sudo apt-get install -y byacc

5、安装

  sudo make install

   注意:要加上sudo,不然会出现权限问题。

6、示例

  testlibpcap.c文件,目的是为了查询网络设备。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include
#include
#include
#include
#include
#include
#include
 
int  main( int  argc, char  *argv[])
{
     char  *dev;
     char  *net;
     char  *mask;
     int  ret;
     char  errbuf[PCAP_ERRBUF_SIZE];
     bpf_u_int32 netp;
     bpf_u_int32 maskp;
     struct  in_addr addr;
     dev = pcap_lookupdev(errbuf);
     if (dev ==NULL)
     {
         printf ( "%s\n" ,errbuf);
         exit (1);
     }
     printf ( "设备名:%s\n" ,dev);
     return  0;
}

  然后编译:

gcc  testlibpcap.c -lpcap -o testlibpcap

    gcc编译后,运行./testlibpcap会出错:

: error while  loading shared libraries: libpcap.so.1: cannot open shared object file: No such file or directory

    解决方法:

     到/usr/lib下找到libpcap.so.1.x.x文件,复制一个备份,重命名为libpcap.so.1,将libpcap.so.1后拷贝文件到/usr/lib目录下,就可以了。

 还有一点需要注意:

  如果直接这样运行./testlibpcap,结果肯定是“no suitable device found”,原因是权限不够,所以,还需要这样运行才能结果正常。

  sudo  ./testlibpcap


安装


This package does not come with a test suite.

Now, as the root user:

make install &&
install -v -m755 -d /usr/share/doc/libpcap-0.9.4 &&
install -v -m644 doc/*{html,txt} /usr/share/doc/libpcap-0.9.4

Contents

Installed Programs: None
Installed Library: libpcap.a
Installed Directory: /usr/share/doc/libpcap-0.9.4

Short Descriptions

libpcap.a

is a library used for user-level packet capture.

Last updated on 2007-02-14 11:57:11 -0600



安装libjpcap:

https://code.google.com/p/jdrcom/downloads/detail?name=jpcap-0.7.tar.gz&can=2&q=

makefile 添加-fPIC

$(CC) $(COMPILE_OPTION) -fPIC -I$(JNI_INCLUDE) -I$(JNI_INCLUDE2)\ 
                 -I$(PCAP_INCLUDE)\ 

这里可能遇到jni.h头文件找不到。

通过locate jni.h查找该头问价你的目录


注意下下jdk的目录:


 

$(CC) $(COMPILE_OPTION) -fPIC -I$(JNI_INCLUDE) -I$(JNI_INCLUDE2)\ 
                 -I$(PCAP_INCLUDE)\ 

你可能感兴趣的:(linux开发环境)