package subjectprogram;import java.io.IOException;import jpcap.JpcapCaptor;
import jpcap.NetworkInterface;
import jpcap.PacketReceiver;
import jpcap.packet.IPPacket;
import jpcap.packet.Packet;public class JpcapTest implements PacketReceiver { public void receivePacket(Packet p) {
System.out.println("***********分析数据包*******************");
// System.out.println(p.toString());
System.out.println("长度:\t" + p.caplen);
System.out.println("数据头:\t"); for (int i = 0; i < p.header.length; i++) {
System.out.print(Byte.toString(p.header[i]));
} System.out.println();
System.out.println("IP包属性:");
System.out.println("源IP:\t" + ((IPPacket) p).src_ip.toString());
System.out.println("目标IP:\t" + ((IPPacket) p).dst_ip.toString());
System.out.println("***********分析数据包*******************");
} public static void main(String[] args) throws IOException {
NetworkInterface[] devices = JpcapCaptor.getDeviceList(); for (int i = 0; i < devices.length; i++) {
System.out.println("DEVICES " + i + ":");
System.out.println("name:\t" + devices[i].name);
System.out.println("description:\t" + devices[i].description);
System.out.println("datalink_name:\t" + devices[i].datalink_name);
System.out.println("datalink_description:\t"
+ devices[i].datalink_description);
System.out.println("mac_address:\t"); for (int j = 0; j < devices[i].mac_address.length; j++) {
System.out.print(Integer
.toHexString(devices[i].mac_address[j] & 0xff)
+ ":");
} System.out.println();
System.out.println("NetworkInterfaceAddress:\t"); for (int j = 0; j < devices[i].addresses.length; j++) {
System.out.println("address:\t"
+ devices[i].addresses[j].address);
System.out.println("broadcast:\t"
+ devices[i].addresses[j].broadcast);
System.out.println("destination:\t"
+ devices[i].addresses[j].destination);
System.out
.println("subnet:\t" + devices[i].addresses[j].subnet);
}
} System.out.println("***********************************");
JpcapCaptor cap = JpcapCaptor.openDevice(devices[1], 1028, true, 10000);
cap.loopPacket(-1, new JpcapTest()); }}在控制台输出结果如下:DEVICES 0:
name: \Device\NPF_GenericDialupAdapter
description: Adapter for generic dialup and VPN capture
datalink_name: EN10MB
datalink_description: Ethernet
mac_address:
0:0:0:0:0:0:
NetworkInterfaceAddress:
DEVICES 1:
name: \Device\NPF_{C7DD2764-676D-44C4-95DB-2577CC10345E}
description: VIA PCI 10/100Mb Fast Ethernet Adapter                       (Microsoft's Packet Scheduler) 
datalink_name: EN10MB
datalink_description: Ethernet
mac_address:
0:50:2c:a5:8f:5b:
NetworkInterfaceAddress:
address: /125.220.196.108
broadcast: /255.255.255.255
destination: null
subnet: /255.255.254.0
DEVICES 2:
name: \Device\NPF_{516CC1EF-2C46-4929-A0C8-0F55BDAAF25F}
description: WAN (PPP/SLIP) Interface
datalink_name: EN10MB
datalink_description: Ethernet
mac_address:
0:53:45:0:0:0:
NetworkInterfaceAddress:
address: /219.139.245.18
broadcast: /255.255.255.255
destination: null
subnet: /255.255.255.255
***********************************
***********分析数据包*******************
长度: 64
数据头:
-1-1-1-1-1-10559-10483-6486018064010559-10483-64125-36-601000000125-36-5947
IP包属性:
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d75c5cc, pid=2320, tid=1692
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_08-b03 mixed mode, sharing)
# Problematic frame:
# V  [jvm.dll+0x9c5cc]
#
# An error report file with more information is saved as hs_err_pid2320.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#
请问Java VM错误是怎么回事?请各位指教,谢谢。

解决方案 »

  1.   

    hs_err_pid2320.log的内容如下:#
    # An unexpected error has been detected by HotSpot Virtual Machine:
    #
    #  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d75c5cc, pid=2320, tid=1692
    #
    # Java VM: Java HotSpot(TM) Client VM (1.5.0_08-b03 mixed mode, sharing)
    # Problematic frame:
    # V  [jvm.dll+0x9c5cc]
    #---------------  T H R E A D  ---------------Current thread (0x00823ab0):  JavaThread "main" [_thread_in_vm, id=1692]siginfo: ExceptionCode=0xc0000005, reading address 0x00000000Registers:
    EAX=0x00000000, EBX=0x0082cf60, ECX=0x0006f994, EDX=0x6d74dd5c
    ESP=0x0006f974, EBP=0x0006f9c0, ESI=0x0006f994, EDI=0x6d815820
    EIP=0x6d75c5cc, EFLAGS=0x00010246Top of Stack: (sp=0x0006f974)
    0x0006f974:   6d74af49 00000000 00823ab0 6d74dd8f
    0x0006f984:   00823ab0 00000000 0006f9d4 00823b70
    0x0006f994:   0082cdfc 6d701bd8 00823ab0 0006f9bc
    0x0006f9a4:   6d74b408 00823ab0 00000006 0000000e
    0x0006f9b4:   6d815820 00823b70 00000040 00000040
    0x0006f9c4:   10001e04 00823b70 0082cdfc 00000000
    0x0006f9d4:   00000014 033a0048 02e53c40 02daa79a
    0x0006f9e4:   0082cf60 033a0048 033a005c ffffffff Instructions: (pc=0x6d75c5cc)
    0x6d75c5bc:   44 24 04 24 fc 8b 00 8b 00 c3 8b 44 24 04 24 fc
    0x6d75c5cc:   8b 00 ff 74 24 04 8b c8 e8 93 fe ff ff c3 8b 44 
    Stack: [0x00030000,0x00070000),  sp=0x0006f974,  free space=254k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    V  [jvm.dll+0x9c5cc]Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    j  jpcap.JpcapCaptor.loopPacket(ILjpcap/PacketReceiver;)I+0
    j  subjectprogram.JpcapTest.main([Ljava/lang/String;)V+411
    v  ~StubRoutines::call_stub---------------  P R O C E S S  ---------------Java Threads: ( => current thread )
      0x00830510 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=1300]
      0x0082f860 JavaThread "CompilerThread0" daemon [_thread_blocked, id=440]
      0x0082e670 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=436]
      0x0082dbe0 JavaThread "Finalizer" daemon [_thread_blocked, id=308]
      0x0082c9a0 JavaThread "Reference Handler" daemon [_thread_blocked, id=312]
    =>0x00823ab0 JavaThread "main" [_thread_in_vm, id=1692]Other Threads:
      0x0082bbc0 VMThread [id=3076]
      0x008310c0 WatcherThread [id=428]VM state:not at safepoint (normal execution)VM Mutex/Monitor currently owned by a thread: NoneHeap
     def new generation   total 576K, used 431K [0x22bd0000, 0x22c70000, 0x230b0000)
      eden space 512K,  84% used [0x22bd0000, 0x22c3bc00, 0x22c50000)
      from space 64K,   0% used [0x22c50000, 0x22c50000, 0x22c60000)
      to   space 64K,   0% used [0x22c60000, 0x22c60000, 0x22c70000)
     tenured generation   total 1408K, used 0K [0x230b0000, 0x23210000, 0x26bd0000)
       the space 1408K,   0% used [0x230b0000, 0x230b0000, 0x230b0200, 0x23210000)
     compacting perm gen  total 8192K, used 391K [0x26bd0000, 0x273d0000, 0x2abd0000)
       the space 8192K,   4% used [0x26bd0000, 0x26c31c90, 0x26c31e00, 0x273d0000)
        ro space 8192K,  63% used [0x2abd0000, 0x2b0dd608, 0x2b0dd800, 0x2b3d0000)
        rw space 12288K,  46% used [0x2b3d0000, 0x2b970608, 0x2b970800, 0x2bfd0000)Dynamic libraries:
    0x00400000 - 0x0040d000  C:\Program Files\Java\jre1.5.0_08\bin\javaw.exe
    0x7c920000 - 0x7c9b4000  C:\WINDOWS\system32\ntdll.dll
    0x7c800000 - 0x7c91c000  C:\WINDOWS\system32\kernel32.dll
    0x77da0000 - 0x77e49000  C:\WINDOWS\system32\ADVAPI32.dll
    0x77e50000 - 0x77ee1000  C:\WINDOWS\system32\RPCRT4.dll
    0x77d10000 - 0x77d9f000  C:\WINDOWS\system32\USER32.dll
    0x77ef0000 - 0x77f37000  C:\WINDOWS\system32\GDI32.dll
    0x77be0000 - 0x77c38000  C:\WINDOWS\system32\MSVCRT.dll
    0x76300000 - 0x7631d000  C:\WINDOWS\system32\IMM32.DLL
    0x62c20000 - 0x62c29000  C:\WINDOWS\system32\LPK.DLL
    0x73fa0000 - 0x7400b000  C:\WINDOWS\system32\USP10.dll
    0x6d6c0000 - 0x6d85b000  C:\Program Files\Java\jre1.5.0_08\bin\client\jvm.dll
    0x76b10000 - 0x76b3a000  C:\WINDOWS\system32\WINMM.dll
    0x6d280000 - 0x6d288000  C:\Program Files\Java\jre1.5.0_08\bin\hpi.dll
    0x76bc0000 - 0x76bcb000  C:\WINDOWS\system32\PSAPI.DLL
    0x6d690000 - 0x6d69c000  C:\Program Files\Java\jre1.5.0_08\bin\verify.dll
    0x6d300000 - 0x6d31d000  C:\Program Files\Java\jre1.5.0_08\bin\java.dll
    0x6d6b0000 - 0x6d6bf000  C:\Program Files\Java\jre1.5.0_08\bin\zip.dll
    0x10000000 - 0x10027000  C:\Program Files\Java\jre1.5.0_08\bin\Jpcap.dll
    0x71a20000 - 0x71a37000  C:\WINDOWS\system32\WS2_32.dll
    0x71a10000 - 0x71a18000  C:\WINDOWS\system32\WS2HELP.dll
    0x02da0000 - 0x02de1000  C:\WINDOWS\system32\wpcap.dll
    0x02df0000 - 0x02e05000  C:\WINDOWS\system32\packet.dll
    0x02e10000 - 0x02e20000  C:\WINDOWS\system32\WanPacket.dll
    0x5a740000 - 0x5a751000  C:\WINDOWS\system32\NPPTools.dll
    0x727a0000 - 0x7289e000  C:\WINDOWS\system32\MFC42u.DLL
    0x76990000 - 0x76acd000  C:\WINDOWS\system32\ole32.dll
    0x770f0000 - 0x7717c000  C:\WINDOWS\system32\OLEAUT32.dll
    0x76d30000 - 0x76d48000  C:\WINDOWS\system32\iphlpapi.dll
    0x77bd0000 - 0x77bd8000  C:\WINDOWS\system32\VERSION.dll
    0x61be0000 - 0x61bed000  C:\WINDOWS\system32\MFC42LOC.DLL
    0x610c0000 - 0x610d1000  C:\WINDOWS\system32\npp\ndisnpp.dll
    0x5adc0000 - 0x5adf7000  C:\WINDOWS\system32\uxtheme.dll
    0x74680000 - 0x746cb000  C:\WINDOWS\system32\MSCTF.dll
    0x76fa0000 - 0x7701f000  C:\WINDOWS\system32\CLBCATQ.DLL
    0x77020000 - 0x770ba000  C:\WINDOWS\system32\COMRes.dll
    0x77fc0000 - 0x77fd1000  C:\WINDOWS\system32\Secur32.dll
    0x6d4c0000 - 0x6d4d3000  C:\Program Files\Java\jre1.5.0_08\bin\net.dllVM Arguments:
    java_command: subjectprogram.JpcapTest
    Launcher Type: SUN_STANDARDEnvironment Variables:
    JAVA_HOME=C:\Program Files\Java\jdk1.5.0_08
    CLASSPATH=.;C:\Program Files\Java\jdk1.5.0_08\lib\tools.jar;C:\Program Files\Java\jdk1.5.0_08\lib\dt.jar;
    PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;C:\Program Files\Java\jdk1.5.0_08\bin;D:\Program Files\Rational\common;C:\Program Files\Common Files\Autodesk Shared\;C:\Program Files\backburner 2\
    USERNAME=夏志雄
    OS=Windows_NT
    PROCESSOR_IDENTIFIER=x86 Family 6 Model 8 Stepping 1, AuthenticAMD---------------  S Y S T E M  ---------------OS: Windows XP Build 2600 Service Pack 2CPU:total 1 (cores per cpu 1, threads per core 1) family 6 model 8 stepping 1, cmov, cx8, fxsr, mmx, sse, mmxext, 3dnowext, 3dnowMemory: 4k page, physical 523760k(126820k free), swap 1279916k(812756k free)vm_info: Java HotSpot(TM) Client VM (1.5.0_08-b03) for windows-x86, built on Jul 26 2006 01:10:50 by "java_re" with MS VC++ 6.0
      

  2.   

    汗,没弄过Jpcap
    换个操作系统与JDK再试试吧。