ubuntu下使用jpcap 您所在的位置:网站首页 usr卡卡位 ubuntu下使用jpcap

ubuntu下使用jpcap

2024-07-10 02:44| 来源: 网络整理| 查看: 265

因为我网上找的教程貌似都过期了,反正我是没装成功,故记下我自己的过程

一、安装libpcap

我在ubuntu终端输入

tcpdump --v

看到有libpcap 1.6.2还是最新的,美滋滋的以为不用安装了,后来编译后面需要的类库的时候发现自己太天真了,ubuntu安装还是很简单的,直接

sudo apt-get install libpcap-dev

光看名字应该就是给我们开发人员用的哈,之前的那个应该是tcpdump的专用

二、下载源码包

https://github.com/mgodave/Jpcap,这个地址是根据网上教程给的不能访问的网址搜到的,直接在github里面搜jpcap是第二个结果,里面有java和c的源码,解压后可以看到lib里面有jpcap.jar和Jpcap.dll,没有我们要的libjpcap.so(难道是让我们一定安装libpcap-dev?我没试过不装直接用能不能行)想偷懒的话可以直接试一下编译好的libjpcap.so

32位的http://download.csdn.net/detail/niutourenqz/5774081(是我之前偷懒没成功下载的,我64位提出格式错误,这个应该就是32位的)

64位的http://download.csdn.net/detail/yyy269954107/8145497

三、编译libjpcap.so

前面偷懒的可以略过此步,先到src/main/c里面找到Makefile,打开修改成你的jdk的安装路径

JAVA_DIR = /usr/lib/jvm/java-7-oracle保存后在终端cd到/src/main/c目录下执行 make前提是你要安装了make命令,ubuntu应该可以直接通过安装 sudo apt-get install make不出意外的话应该就能再当前路径下得到libjpcap.so了

四、导入库

java执行

System.out.println(System.getProperty("java.library.path")); 选取其中一个路径把libjpcap.so放进去就行了,我放的是/usr/lib内,让后eclipse导入jpcap.jar,就可以了

五、测试

doc文件夹下的一个示例,运行一下,如果成功的话应该就配置完成了

import jpcap.JpcapCaptor; import jpcap.NetworkInterface; import jpcap.NetworkInterfaceAddress; public class Test { public static void main(String[] args) { //Obtain the list of network interfaces NetworkInterface[] devices = JpcapCaptor.getDeviceList(); //for each network interface for (int i = 0; i < devices.length; i++) { //print out its name and description System.out.println(i+": "+devices[i].name + "(" + devices[i].description+")"); //print out its datalink name and description System.out.println(" datalink: "+devices[i].datalink_name + "(" + devices[i].datalink_description+")"); //print out its MAC address System.out.print(" MAC address:"); for (byte b : devices[i].mac_address) System.out.print(Integer.toHexString(b&0xff) + ":"); System.out.println(); //print out its IP address, subnet mask and broadcast address for (NetworkInterfaceAddress a : devices[i].addresses) System.out.println(" address:"+a.address + " " + a.subnet + " "+ a.broadcast); } } }

用jpcap就是想做一个网络拓扑结构发现的程序(验证一下想法可不可行),后续会把验证的过程写一篇博客

参考:http://askubuntu.com/questions/347788/how-can-i-install-libpcap-header-files-on-ubuntu-12-04



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有