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错误是怎么回事?请各位指教,谢谢。
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错误是怎么回事?请各位指教,谢谢。
# 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
换个操作系统与JDK再试试吧。