問題タブ [jnetpcap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1409 参照

java - Native Lcom/slytechs/library/NativeLibrary の実装が見つかりません

Android プロジェクトで JNetPcap ライブラリの使用にスタックしています。JNetPcap をプロジェクトのライブラリとして設定しても、このコードでネイティブ アプリケーションに到達できません。

誰かが私を助けることができますか?お願いします

私のコードは以下の通りです:

ログファイル:

0 投票する
1 に答える
2132 参照

java - JNetPcap プロジェクト

コードが以下のjNetPcapプロジェクトを作成しました。

プログラムを実行しようとすると、コンソールタグの結果として次のようになりました。

「デバイスのリストを読み取れません。エラーは次のとおりです」

jNetPcap はルート権限を必要とする Libpcap C ライブラリに依存しているため、それが私のプログラムを実行できない理由であることは明らかです。誰かがその問題について私を助けてくれますか?

注: src フォルダーに .jar ファイルを作成し、この .jar ファイルから .exe を作成しようとしましたが、次のエラーがスローされます。


0 投票する
1 に答える
944 参照

java - jnetpcap を使用したデータ使用カウント

コンピューターの総データ使用量を測定できるプログラムの次のコードを作成しました。クラス PcapPacket のメソッド getTotalSize() を使用しました。データ使用量を直接示しているか (継続的に追加されている場合)、または他の方法を使用する必要があります。

上記は、ネットワークを通過するトラフィックをカウントするために私が書いたコードです。コンピューターのデータ使用量を (完全に正確ではないにしても) 直接示していますか?

0 投票する
1 に答える
730 参照

java - Java からの PCAP ナノ秒の解像度

環境

現在のステータス

パフォーマンス分析のために、私の会社はナノ秒の分解能に関心があります。これまではハードウェア タイムスタンプを使用してきましたが、ナノ秒のサポートはすぐに C libpcapライブラリに組み込まれました。

ナノ秒のサポートがライブラリに追加されたようです (他のスタック オーバーフローの回答はこちらを参照) 。git リポジトリの最新バージョンでは、次のメソッドが利用可能になっています。

未来

問題は、C は保守やスケーラビリティが難しいことが証明されており、キャプチャを分析のみに使用しているため、代わりにJavaを使用することでメリットが得られると感じていることです。パフォーマンス分析に関しては、適切な IDE、Maven、ビルド Web サービスなどを使用できることが、実行速度よりも重要であるように思われます。

私は最初にjNetPcapを使用できることを望んでいましたが、libpcap の Java バインディングでナノ秒の解像度をサポートする方法を見つけることができません。


質問

jNetPcap

jNetPcap を使用して、ナノ秒の精度で Pcap ファイルを読み取る簡単な方法を知っている人はいますか?

更新:TimestampResolution jNetPcap の Javadoc で列挙型についての言及を見つけました。それを使用して、後で回答を更新しようとします。

注: jNetPcap のサポート フォーラムでナノ秒の解像度について直接質問したこともあり、その面で回答が得られたら質問を更新します...

その他のソリューション

ナノ秒の精度で PCap ファイルを読み取ることができる一方で、Java のエコシステムから利益を得る別の方法を知っている人はいますか?


ありがとう!:)

0 投票する
1 に答える
662 参照

java - Java を使用した WIRELESS .pcap パケットの読み取り

キャプチャされた (.pcap) WIRELESS パケットを読み取り、IP アドレスやポート番号、フラグなどの情報を取得したい (ネットワーク層および OSI モデルの上位層から)。どのJavaライブラリが私を助けることができるか。JnetPcap で試してみましたが、成功しなかったため、JnetPcap はワイヤレス パケットをサポートしているかどうか ?... または上記で使用できる他の Java ライブラリ

0 投票する
1 に答える
1706 参照

android - jNetPcap for Android パケット キャプチャ

Wifi に接続しているときに、Android アプリでパケットをキャプチャしようとしています。

ブロードキャストレシーバークラスを使用しています。

次のコードを使用して、wifi ネットワークに接続したときにブロードキャストを正常に受信しました。

ネットワーク接続時にパケットをキャプチャしたい。私は wifiInfo と WifiManager クラスについてすべて知っています。

ここでjNetPcapライブラリを試しています。それらのパケットをキャプチャする方法は? 私にはアイデアがありません。

みんな助けてください...

0 投票する
1 に答える
1020 参照

java - フレームを複製する jNetPcap sendPacket() 関数

特定の質問をしたいと思います: Java 1.7でjNetPcap 1.4ライブラリを使用してソフトウェア スイッチを開発しようとしています。目標は、ポート番号で受信したパケットを転送できるプログラムを作成することです。1~ポート番号 2 およびその逆(これら 2 つの NIC-s のみ)。

両方のインターフェースですべての着信パケットを確認できますが、転送に関しては問題があります。クラス内pcap.sendPacket(PcapPacket)nextPacket()関数を使用してインターフェース X でパケットを送信すると、それも認識され、"同じインスタンスPcapPacketHandler()によって送信されたため、単に無視するのではなく、新しい" パケット。Pcap

pcap.sendPacket(PcapPacket) 関数によって送信されたパケットを無視する方法はありますか (したがって、nextPacket() 関数に再び表示されません)?

基礎となる winpcap ライブラリについてはあまり知りませんが、C# の SharpPcap にはこのタイプの機能があると確信しています。jNetPcap にもありませんか、何か不足していますか?

私が試したこと:

  1. pcap.inject()の代わりに使用していますpcap.sendPacket()が、私の NIC はこの機能をサポートしていないようです
  2. キャプチャ方向をインバウンドのみに設定 pcap.setDirection(Direction.IN)- これはまったく効果がないようです。パケットは設定前と同じようにキャプチャされます。

Ps。残念ながら、Java で書かなければなりません。jNetPcap ライブラリにこの機能がない場合は、問題の解決方法を教えてください。送信されたパケットを何らかのタイプの配列にバッファリングし、新しく検出されたすべてのパケットが配列内の 1 つのパケットと同じであることを確認することを考えていますが、これは計算上複雑なソリューションのようです。

これが私のサンプルコードです(全体ではなく、関連する部分だけです):

2 番目のインターフェイスについても同様です。

よろしくお願いいたします。

0 投票する
1 に答える
180 参照

eclipse - 選択したデバイスが Jnetpcap で (Eclipse を使用して) 開かないのはなぜですか?

jnetpcap の使用方法を学んでいます (Windows 8、64 ビット)。最初に Wincap をインストールしてから、ライブラリを Eclipse にセットアップし、次の例を (何も変更せずに) 実行しました: http://jnetpcap.com/examples/classic。問題なく実行されますが、デバイスが選択されると、パケットは送信されず、コンソールにも何も出力されません。管理者としてEclipseを実行しています(右クリック)。この例が想定どおりに機能するには、他に何をしなければなりませんか。私はJavaの初心者であることを理解してください。これが私のコンソールにあるものです(この後は何も印刷されません):