网络数据包分析仪 [英] network packet analyser

查看:114
本文介绍了网络数据包分析仪的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

导入jpcap.*;
导入jpcap.packet.Packet;
导入jpcap.PacketReceiver;
导入jpcap.JpcapCaptor;
导入jpcap.NetworkInterface;
导入jpcap.NetworkInterfaceAddress;
导入java.io.IOException;
导入java.util.Scanner;
导入javax.swing.JFrame;
公共  PacketAnalyser {
    公共 静态  void  main(字符串 args [])引发java.io.IOException {
}

    /*   *
     * @param args命令行参数
     */
    静态 字符串 text = " ";
    公共 字符串 capture(){
    
尝试 {
captor = JpcapCaptor.openDevice(devices [index], 65535  true  [] packs =   [  20 ];
 int  tcp =  0 ;
 int  udp =  1 ;
 for ( int  j =  0 ; j< ; 10; j ++){
 long  count1 =  0 ;
 long  count2 =  0 ;
captor.setFilter(" > true );
 for ( int  i =  0 ; i< ; 10; i ++){

text1 = text1 + captor.getPacket()+ " ;
如果(captor.getPacket()!= ){count1 ++;}}
text1 = text1 + captor.dropped_pa​​ckets + " ;
text1 = text1 + count1 + " ;
captor.setFilter(" > true );
 for ( int  i =  0 ; i< ; 10; i ++){
text1 = text1 + captor.getPacket()+ " ;
如果(captor.getPacket()!= ){count2 ++;}
}
text1 = text1 + captor.dropped_pa​​ckets + " ;
text1 = text1 + count2 + " ;
packs [tcp] = count1;
packs [udp] = count2;
tcp + =  2 ;
udp + =  2 ;
}

captor.close();
返回 text1; }}
} 




因此,在实施和运行此程序时,我发现错误为运行:
java.lang.ExceptionInInitializerError
引起原因:java.lang.RuntimeException:无法编译的源代码-包jpcap.packet不存在
在PacketAnalyser中.< clinit>(PacketAnalyser.java:12)
线程"main" Java中的异常结果:1
建立成功(总时间:0秒)....即时消息没有到达我的位置[是我的错误..所以请帮助解决方案

公共  void  main(字符串 args [])抛出 java.io.IOException {

}



那永远都行不通.

您应该使用像Eclipse或Netbeans这样的IDE,这些IDE可能会通知您lib不存在.并检查是否列出了包含"JpcapCaptor"的库以供生成.

另外,请从主程序中分离应用程序.主要功能只是入口,请让该对象调用某个对象并将其启动. Java是OOP,不是一些脚本.


import jpcap.*;
import jpcap.packet.Packet;
import jpcap.PacketReceiver;
import jpcap.JpcapCaptor; 
import jpcap.NetworkInterface; 
import jpcap.NetworkInterfaceAddress; 
import java.io.IOException; 
import java.util.Scanner; 
import javax.swing.JFrame;
public class PacketAnalyser {
    public static void main(String args[])throws java.io.IOException{
}

    /**
     * @param args the command line arguments
     */
    static String text="";
    public String capture(){
    	   
	try { 
		captor=JpcapCaptor.openDevice(devices[index], 65535, true, 20); 
		long[] packs = new long[20]; 
		int tcp = 0; 
		int udp = 1; 
		for(int j = 0;j<10;j++){ 
		long count1 = 0; 
		long count2 = 0; 
		captor.setFilter("tcp and ip", true); 
		for(int i=0;i<10;i++){ 
			  
		text1=text1+captor.getPacket()+"\n"; 
		if(captor.getPacket()!=null){count1++;}} 
		text1=text1+captor.dropped_packets + " packets dropped by kernel\n"; 
		text1=text1+count1+"\n"  ; 
		captor.setFilter("udp and ip", true); 
		for(int i=0;i<10;i++){ 
		text1=text1+captor.getPacket()+"\n"  ; 
		if(captor.getPacket()!=null){count2++;} 
		} 
		text1=text1+captor.dropped_packets + " packets dropped by kernel\n"; 
		text1=text1+count2+"\n"; 
		packs[tcp]=count1; 
		packs[udp]=count2; 
		tcp+=2; 
		udp+=2; 
		} 
		
	captor.close(); 
	return text1; }}
}




so while implementing and running this program i am finding error as "run:
java.lang.ExceptionInInitializerError
Caused by: java.lang.RuntimeException: Uncompilable source code - package jpcap.packet does not exist
at PacketAnalyser.<clinit>(PacketAnalyser.java:12)
Exception in thread "main" Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)".... i m not getting where [is my mistake .. so plz help

解决方案

public static void main(String args[])throws java.io.IOException{

}



THAT will never work.

You should use a IDE like Eclipse or Netbeans, those will probably notify you that the lib is not there. And check if the lib including "JpcapCaptor" is listed to be included for the build.

Also please separate the application from the main. The main-function is just the entry point, please let that one call some object and fire that Object up. Java is OOP, not some script.


这篇关于网络数据包分析仪的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆