jpcap网络流量监控
来源:互联网 发布:淘宝 鸟枪暗语 编辑:程序博客网 时间:2024/05/01 22:33
网络流量统计类型大概有三种:1、监听网络抓取数据包。2、分析服务器的日志文件。3、植入脚本文件
根据第一类做了一个小案例:
语言:java
首先配置好java运行环境。安装winPcap,然后将jacap.dll放在jdk安装目录的bin下。
winPcap,jacap.dll,jacap.jar下载地址:http://download.csdn.net/detail/can_not_find/9186939
创建一个java本地项目,导入jacap.jar在网上找的代码(亲测可用),代码如下:
- import java.io.IOException;
- import java.util.Scanner;
- import jpcap.*;
- import jpcap.packet.*;
- public class NetFetcher implements PacketReceiver{
- @Override
- public void receivePacket(Packet arg0) {
- //将抓取的包进行输出
- System.out.println(arg0);
- TCPPacket tcp = (TCPPacket) arg0;
- System.out.println("请求ip:" + tcp.src_ip + ",目标ip:" + tcp.dst_ip);
- System.out.println("数据:");
System.out.println("**********************************");
for (int i = 0; i < tcp.data.length; i++) {
System.out.print((char) tcp.data[i]);
}
System.out.println(new String(tcp.data)); - }
- public static void main(String[] args){
- //获得网卡设备列表
- NetworkInterface[] devices = JpcapCaptor.getDeviceList();
- if(devices.length==0){
- System.out.println("无网卡信息!");
- return;
- }
- //输出网卡信息
- for(int i=0;i<devices.length;i++){
- System.out.println("网卡"+i+"信息:"+devices[i].name);
- for(NetworkInterfaceAddress address:devices[i].addresses){
- System.out.print(address.address+" ");
- }
- System.out.println("\n");
- }
- Scanner scan = new Scanner(System.in);
- System.out.println("请选择您要监听的网卡序号:");
- int index = scan.nextInt();
- //监听选中的网卡
- try {
- JpcapCaptor jpcapCaptor = JpcapCaptor.openDevice(devices[index], 2000, false, 20);
- jpcapCaptor.loopPacket(-1, new NetFetcher());
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
运行以上代码即可监听网卡, 获取的信息可以查看jpcap帮助文档。将该项目导出jar文件,在需要监听的服务器中运行。则可监听访问数据
二、cmd中如何运行jar文件
将该项目导出的jar文件放在服务器的某文件夹下,将jpcap.jar放在其同一目录下
导出后的jar文件中的META-Info下会自动生成MANIFEST.MF文件,在其中增加运行入口main方法所在的类,和所有关联的jar包(此处仅关联jpcap.jar)
Manifest-Version: 1.0
Class-Path: jpcap.jar
Main-Class: MyTest
Class-Path: jpcap.jar
Main-Class: MyTest
第一行为自动生成。第二行为关连架包,架包之间空格区分。第三行为运行主方法
cmd下跳转到项目目录下,键入 java -jar **.jar (**为改项目jar名称)
0 0
- jpcap网络流量监控
- 网络流量监控
- 网络流量监控
- 用c#监控网络流量
- 用c#监控网络流量
- Nagios监控网络流量
- 网络流量监控(局域网)
- linux网络流量监控软件
- linux 下网络流量监控
- linux 下网络流量监控
- C#实现监控网络流量
- 监控linux 网络流量
- linux网络流量监控脚本
- windows下网络流量监控
- 网络流量监控mrtg
- iptraf实时监控网络流量
- linux网络流量监控
- mrtg--网络流量监控
- 谋略和勇略
- SQL DELETE 语句
- Ruby数组的各种使用
- android studio常用插件,可极大简化开发,增强开发效率
- 从逻辑回归推广到广义线性模型
- jpcap网络流量监控
- 通过ClipDrawable 实现茶杯注满效果
- Swift通过类名动态创建对象的方式
- FRM-40212:字段**的值无效
- Android系统性能调优工具介绍
- Ruby中Hash常用方法
- Java interview 统计一篇英文文档的单词数,并输出次数最多的10个
- UVA 11019 Matrix Matcher(二维矩阵匹配ac自动机)
- 使用递归对数组元素进行全排列