問題タブ [winpcap]
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 - すべてのローカル http リクエストを乗っ取り、c を使用して URL を抽出する方法は?
どの方向に進むべきですか (ライブラリ、ドキュメント)?
アップデート
誰かが winpcap を使用して仕事をする方法を説明できますか?
更新 2
パケットが HTTP かどうかを確認するにはどうすればよいですか?
c - winpcap を使用するためにこれらの 2 つの手順を実行するように cmake に指示するにはどうすればよいですか?
ここから引用:
プログラムで WinPcap の Win32 固有の関数を使用する場合は、必ずプリプロセッサ定義に WPCAP を含めてください。
プログラムで WinPcap のリモート キャプチャ機能を使用する場合は、プリプロセッサの定義に HAVE_REMOTE を追加します。ソース ファイルに remote-ext.h を直接含めないでください。
cmake で winpcap を使用できた人はいますか?
c - winpcap の実行に .lib と .dll の両方が必要なのはなぜですか?
仕様はここで見ることができます:
http://www.winpcap.org/docs/docs_40_2/html/group__wpcapsamps.html
それは非常に奇妙です、.lib
または.dll
IMOで十分です.なぜ両方が必要なのですか?
c - winpcapを使用してHTTPパケットのURIを取得するにはどうすればよいですか?
c - winpcap を使用してキャプチャを停止するにはどうすればよいですか?
上記はキャプチャを開始しますが、プログラムを終了する以外にキャプチャを停止する方法が見つかりません...
c - pcap_pkthdr は何のためにありますか?
ここからのコードスニペット:
const struct pcap_pkthdr *header
(定義)の目的、いつ必要なのか、どのように入力されるのか (パケット自体に以下のような情報がないため)。
(出典: lewis at www.dcs.gla.ac.uk )
c - winpcap で HTTP 応答パケットを変更するにはどうすればよいですか?
ここには 2 つの問題があります。
- コンテンツがエンコードされている場合: gzip...
- HTTP パケットを有効にするためにヘッダー部分も変更する必要がありますか (チェックサムがある場合)。
アップデート
実際の経験のある人は、関連する手順を詳しく説明できますか?
私はトラフィックをフィルタリングするためにwinpcap
bpfを使用しているので、私の仕事はこのコールバック関数にあります:tcp and src port 80
c# - VOIP ネットワークで H.323 音声トラフィックをキャプチャするにはどうすればよいですか?
私がやろうとしているのは、SharpPCap/PCap.Net を使用して VOIP ネットワークで電話での会話の WAV データをキャプチャすることです。
H.323 推奨事項を使用しており、音声データは RTP パケットにあると理解しています。ただし、UDP パケットが RTP パケットであるかどうかをヒューリスティックに判断する方法はないため、データをキャプチャする前にさらに作業を行う必要があります。
H.323 の推奨事項では、WAV データが RTP 経由で送信される前に、特定の TCP ポートで大量のトラフィックを使用して通話をネゴシエートしているようです。しかし、それらのTCPポートで実際に送信されるデータ、送信されるタイミング、パケットの外観、処理方法などを判断する運がほとんどありません.
誰かがこれについての情報を持っていれば、本当に感謝しています。私のGoogle-Fuは、これで失敗しているようです。
networking - Web サイトをブロックするアプリケーションはどのように機能しますか?
私が知っている Web サイトをブロックする低レベルの方法は、hosts ファイルだけです。ただし、主流のプログラムがこれを達成する別の方法を持っていることは明らかです。
この種のプログラムの新しいモデルのアイデアがありますが、サイトをブロックする可能性がなければ役に立ちません :(
ブロッキングは 1 つの問題であり、別の問題は Web ブラウザのコンテンツのフィルタリングと置換です。手がかりはありますか?
編集:
私は、多くのフィルタリング プログラムがオープン ソース ライブラリ WinPcap を使用していることを発見しました。ユーザーがどのサイトを開こうとしているかを確認するのに最適です。ただし、もちろん、サイトの要求されたサイトをブロックに関する情報に置き換えるなど、サイトをブロックする可能性が必要です。これは WinPcap で実現できますか?
c++ - メンバー関数へのポインターをC関数に渡す方法は?
重複の可能性:
C++クラスメンバー関数をCコールバック関数として使用する
Cライブラリ(winpcap)を使用してオブジェクト指向ライブラリを作成しています。ネットワークパケットが関数ポインタとして到着したときに呼び出されるコールバック関数を渡す必要があります。メンバー関数ポインターをwinpcapに渡し、デザインオブジェクトの方向を維持し、さまざまなオブジェクトがさまざまなパケットを受信できるようにします。ただし、私が理解している限り、メンバー関数の呼び出し規約は異なるため、C関数に渡すことはできません。これを修正する方法はありますか?boost :: bind(試行錯誤以外ではほとんど使用できません)を使った実験は実り多いものではありません。
メンバー関数の呼び出し規約を変更する方法はありますか?
これは、私が現在使用しているコールバック関数の定義であり、実際にwinpcapに渡すものです。
pcap_loopは、関数の名前を取ります(現時点ではグローバルスコープにあります)。これは、関数ポインタパラメータ(pcap_loopの3番目のパラメータ)の定義です。これはサードパーティのコードなので、実際に変更することはできません。この形式をとることができるメンバー関数が必要になります。
私が理解している限り、メンバー関数はこの呼び出しを使用し、c関数ポインターはcdeclを必要とします