問題タブ [pcap]
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.
c++ - スレッド化とpcapの問題
ユーザーがネットワークをスキャンできるようにするGUIプログラムがありますが、問題は、pcap_loop関数が呼び出されると、GUIプログラムが応答しなくなることです(pcap_loopは現在のスレッドをブロックします)。
pthreadを使用しようとすると、pcap_loop関数でSIGSEGVエラーが発生しました。なぜですか?スレッドがprocPacket関数自体を認識できないようです。
audio - Gstreamer:RTPジッターバッファーがパケット損失で正しく機能していませんか?
VoIP音声品質監視アプリケーションの場合、着信RTPオーディオストリームを参照信号と比較する必要があります。信号の比較自体には、既存の専用ツールを使用します。他の部分(パケットキャプチャを除く)については、Gstreamerライブラリが適切な選択であるように思われました。次のパイプラインを使用して、最低限のVoIPクライアントをシミュレートします。
pcapファイルには、単一のRTPメディアストリームが含まれています。元の400個のUDPデータグラムのうち50個が欠落しているキャプチャファイルを作成しました。与えられたオーディオサンプル(私の例では8秒の長さ)の場合:
一定量の連続したパケット損失があると、次のようなオーディオ信号が出力されると思います(' -
'は無音を示します)。
ただし、実際にオーディオファイルに保存されるのは次のとおりです(私の例では1秒短くなっています)。
このアプリケーションの重要な部分であるジッターバッファが正しく機能していないようです。これは、要素との非互換性/pcapparse
要素の欠点である可能性がありますか?時間の同期を確保するために、パイプラインの重要な部分が欠落していますか?他に何がこれを引き起こしている可能性がありますか?
c - タイムアウト付きの Pcap を使用してリッスンする
Linux 上の C で Libpcap を使用して小さなアプリケーションを作成したいと考えています。
現在、パケットのスニッフィングと待機を開始しています。しかし、それは私が実際に必要としているものではありません。N 秒待ってからリッスンを停止します。
どうすればそれを達成できますか?
これが私のコードです:
c++ - libpcapとwinpcapの関数は同じ名前ですか?
libpcapとwinpcapの関数は同じ名前ですか?そうでない場合、どのような名前が異なりますか、またはそれらの大部分は異なりますか?
また、libpcap ++をwinpcapに使用できますか?
c - libpcapを使用したアップロード/ダウンロードレートの測定
ネットワークトラフィックを監視するために、Cアプリケーションでlibpcap(およびWindowsではwinpcap)を使用しています。接続速度の統計を生成するには、各ネットワークアダプターでアップロードトラフィックとダウンロードトラフィックを区別する必要がありますが、ライブラリで使用されるフィルター式はこれを簡単にサポートしていないようです(つまり、「着信」/「発信」演算子はありません) )。
私が検討したアプローチの1つは、各アダプターのIPアドレスを照会してから、 (src host 1.2.3.4
アップロードを測定するため)やdst host 1.2.3.4
(ダウンロードを測定するため)などのフィルターを使用することです。
私の質問は次のとおりです。
上記のものよりも優れた/単純なアプローチはありますか(各アダプターに同じフィルター式を使用できるようにするものがいいでしょう)?
上記のアプローチが進むべき道である場合、単一のアダプターに複数のIPアドレスが関連付けられている可能性はありますか?私が尋ねる理由pcap_addr
は、単一のアダプター(in struct pcap_if
)のアドレスの詳細を保持する構造体に「next」メンバーがあり、これが可能であることを示唆しているためです。
c# - C# でネットワーク インターフェイス名を取得する
wPCAP ライブラリを使用するプログラムを作成しています。インターフェイス名のリストを取得することができました:
\Device\NPF_{A9734063-CA83-4D91-A35B-CC727749256A ...
ここで私の質問は次のとおりです。これがどのインターフェースであるかをどのように知ることができますか? その名前のインターフェイスの IP を取得しようとしています。
関数を試してみましたNetworkInterface.GetAllNetworkInterfaces()
が、これらのクラスでは「読み取り可能な」名前しか見つかりませんでした。\Device... の名前は見つかりませんでした。
ありがとうございました!
イヴァン
編集:「\Device\NPF_...」という名前のデバイスの IP アドレスを取得する必要があります。どうすればこれを達成できますか?
.net - HTTP GetまたはPostが含まれている場合、生のパケットから検出する方法は?
ネットワークプログラミングを始めたばかりです。ネットワークパケットを取得するためにpcap pcap.NETを使用しています。私の質問は、パケットの「ペイロード」部分から HTTP Get または Post 要求を抽出できますか? これは、特定のプロトコルがあるかどうかを検出するために、ペイロードから個々のバイトを読み取る必要があるということですか?
どんなガイドでも大歓迎です。
ありがとう。
c - WLANでレイヤー2フレームを送受信する方法
私がしたいこと:ユーザースペースにレイヤー2プロトコルを実装します。
したがって、Linux 2.6.32でpcapを使用して、パケットをスニッフィングしています。
これはすべてのパケットで問題なく機能します。しかし、pcapを使用して、ether_headとIPヘッダーのないパケットを送信すると、次のようになります。
ローカルホストでのみパケットをスニッフィングでき、同じプログラムを実行している他のラップトップではスニッフィングできません。それで、質問は「どうすればwlanでether_headなしでメッセージをブロードキャストできますか?」です。任意のポインタをいただければ幸いです。
ruby - Ruby PCAP 完全なキャプチャ ファイルの読み取り
Ruby を使用していくつかの PCAP ファイルを処理しています。完全なファイルを読み取り、各 pcaket を分析する必要があります。
上記のコードは、すべてのパケットを読み取った後に終了しません。Ruby pcap のドキュメントによると、「負の数はパケットを永遠に処理するか、EOF に到達するまで処理します」。ここで何が問題になる可能性があります。
python - Pythonライブラリでパケットを解析するには?
Python を使用して、.pcap ファイルまたはインターフェイスからパケットを解析するにはどうすればよいですか?
特に、よく文書化されたライブラリを使用するソリューションを探しています。