Hallo,
auf der Suche nach einem TCP/IP-Stack und HTTP-Parser für libpcap bin ich auf Kraken PCAP und Kraken HTTP Decoder gestoßen. Dadurch ist es in Java möglich sämtlichen HTTP-Datenverkehr, der z.B. über www.youtube.com, übertragen wird mitzuschneiden. Damit das funktioniert muss allerdings ein PCAP-Netzwerktreiber im Betriebssystem installiert sein (unter Linux: libpcap; unter Windows: WinPCAP). Jeder der schonmal Wireshark benutzt hat, hat diesen Treiber bereits installiert.
Mein Problem ist, dass die Beispielanwendung Kraken HTTP Sniffer nicht startet. Diese Beispielanwendung besteht aus einer einzelnen .jar Datei und sollte eigentlich auf jedem System mit installiertem PCAP-Treiber sofort läuffähig sein. Trotzdem bricht das Javaprogramm sofort mit einem ExceptionInInitializerError ab.
Um aus Java aus auf libpcap zuzugreifen wird das JNI-Modul "kpcap" geladen. Die .dll bzw .so befindet sich in der .jar und wird normalerweise beim Start in das Arbeitsverzeichnis kopiert und dann geladen. Vermutlich liegt da der Fehler?
Download von KrakenHttpSniffer: kraken-http-sniffer-0.5.1-package.jar
Download von Wireshark (enthält den passenden Treiber): Wireshark Homepage
Command Line: java -jar kraken-http-sniffer-0.5.1-package.jar
Ausgabe mit Fehler:
Normalerweise sollte aber in der Ausgabe eine Liste aller Netzwerkinterfaces stehen ... z.B.:
Ich habe kaum Erfahrung mit Java und via Google und Javadocs bin ich bisher kein Stückchen weiter gekommen. Hab auch schon versucht den Autor des Beispielprogramms eine kurze E-Mail zu schreiben, allerdings gabs da seit 1 Woche leider noch keine Antwort ...
Wenn jemand ein paar Tipps hat, wie ich dieses Beispielprogramm zum Laufen bringen kann, bin ich wirklich dankbar dafür
auf der Suche nach einem TCP/IP-Stack und HTTP-Parser für libpcap bin ich auf Kraken PCAP und Kraken HTTP Decoder gestoßen. Dadurch ist es in Java möglich sämtlichen HTTP-Datenverkehr, der z.B. über www.youtube.com, übertragen wird mitzuschneiden. Damit das funktioniert muss allerdings ein PCAP-Netzwerktreiber im Betriebssystem installiert sein (unter Linux: libpcap; unter Windows: WinPCAP). Jeder der schonmal Wireshark benutzt hat, hat diesen Treiber bereits installiert.
Mein Problem ist, dass die Beispielanwendung Kraken HTTP Sniffer nicht startet. Diese Beispielanwendung besteht aus einer einzelnen .jar Datei und sollte eigentlich auf jedem System mit installiertem PCAP-Treiber sofort läuffähig sein. Trotzdem bricht das Javaprogramm sofort mit einem ExceptionInInitializerError ab.
Um aus Java aus auf libpcap zuzugreifen wird das JNI-Modul "kpcap" geladen. Die .dll bzw .so befindet sich in der .jar und wird normalerweise beim Start in das Arbeitsverzeichnis kopiert und dann geladen. Vermutlich liegt da der Fehler?
Download von KrakenHttpSniffer: kraken-http-sniffer-0.5.1-package.jar
Download von Wireshark (enthält den passenden Treiber): Wireshark Homepage
Command Line: java -jar kraken-http-sniffer-0.5.1-package.jar
Ausgabe mit Fehler:
Code:
[*] Device name is required
Error in GetInterfaceInfo
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.krakenapps.featurepack.sniffer.SnifferBase.run(SnifferBase.java:33)
at org.krakenapps.featurepack.sniffer.http.HttpSniffer.main(HttpSniffer.java:20)
Caused by: java.lang.NullPointerException
at java.util.Arrays$ArrayList.<init>(Unknown Source)
at java.util.Arrays.asList(Unknown Source)
at org.krakenapps.pcap.live.PcapDeviceManager.<clinit>(PcapDeviceManager.java:19)
... 2 more
Normalerweise sollte aber in der Ausgabe eine Liste aller Netzwerkinterfaces stehen ... z.B.:
Code:
[*] Device name is required
{BCEFC3FC-73EC-41C5-9EBC-25A4F645D748} MS Tunnel Interface Driver
{AFF4C6CC-2C74-485A-8A7F-807712D18A24} TAP-Win32 Adapter V8
{5E955A8C-E8A8-4A02-8EDB-161136A6886A} Microsoft
{FE8D1EF3-3E0B-46ED-B776-217C4F180D15} Marvell Yukon Ethernet Controller.
{A569FFF6-617E-4B48-92D3-D086C63857AD} Microsoft
Ich habe kaum Erfahrung mit Java und via Google und Javadocs bin ich bisher kein Stückchen weiter gekommen. Hab auch schon versucht den Autor des Beispielprogramms eine kurze E-Mail zu schreiben, allerdings gabs da seit 1 Woche leider noch keine Antwort ...
Wenn jemand ein paar Tipps hat, wie ich dieses Beispielprogramm zum Laufen bringen kann, bin ich wirklich dankbar dafür