問題タブ [libpcap]
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.
macos - OSXのlibpcap-統計モードを使用しようとしています
OSXで統計モードでlibpcapを使用するCプログラムをコンパイルしようとしています。元のコードは、winpcapライブラリを使用してWindows用に作成されました。私のMacのlibpcapのバージョンは、それが使用するpcap_setmode関数について聞いたことがありません-私はそれがWindows固有であるかもしれないという不快な気持ちを持っています。
OSXで統計モードでキャプチャする方法はありますか?そうでない場合、これを妨げるOSのアーキテクチャ/機能について何かありますか、それともこれはメインライブラリの機能ではなかったWinPcapに追加された追加機能ですか?
c++ - WinPcap - LibPcap - packet_handler 通知
C で libpcap (Windows パケット キャプチャ ライブラリ) を使用しています。
packet_handler
関数が呼び出される前に通知できるかどうか疑問に思っていました。現在packet_handler
は、パケットを受信するたびに呼び出されます。
パケットが10秒の休憩で着信を停止したときに監視する方法についての提案。「ねえ、パケットの送信を再開しました - 設定をリセットするか、何でも」
pcap - libpcapのpcap_t*pcap_open_offline(const char * fname、char * errbuf)は、pcapファイル全体をメモリに読み込みますか?
しますか
libpcapからpcapファイル全体をメモリに読み込みますか?そうでない場合は、tcpsliceまたは同様のツールを使用してpcapファイルを分割する必要がありますか?
ありがとう。
c++ - PCAP キャプチャ ファイル ヘッダーの書き方
libpcap を使用せずに、pcap ファイル形式 ( format )に準拠したログ ファイルを書き込もうとしています。このファイルは、WireShark で読み取り可能である必要があります。これまでのところ、これを C++ で記述しました。
したがって、これにより空のキャプチャ ファイルが作成されるはずですが、Wireshark で開くと次のように表示されます。
ファイル「hello.pcap」は、パケットまたはその他のデータの途中で短く切断されたようです。
出力ファイルをバイナリ モードで開いてみましたが、解決しませんでした。これを WireShark フォーラムに投稿しますが、これはユーザー エラーであり、WireShark の問題ではないと思います。
助けていただければ幸いです。
python - Python での URL スニッフィング
元のIPアドレスとアクセスされていた完全なURLを抽出するライブデータスニファーをPythonで作成する方法を知っている人はいますか? urlsnarf からデータをプルすることを検討しましたが、IPv6 はサポートされていません (接続は IPv6 ホストになります)。
tcpdump からデータを取得して GET/POST を greping すると、Web サーバー上のパスだけが残り、関連する FQDN を取得できません。残念ながら、環境の構成により、IPv6 TPROXY で SQUID を使用することはできません。
libpcap の Python バインディングを使用してこれを行う方法について何か考えがある人はいますか? あなたの助けをいただければ幸いです:)
ありがとう :)
android - Android用のndkツールチェーンでコンパイルするlibpcap静的リンクエラー
Gitとレポを使用して、Androidソースコードから外部フォルダーにlibpcapをダウンロードしました。次の手順に従ってライブラリをコンパイルするために、ndk (android-ndk-r5b) のツールケインを使用しました。
./configure --prefix=path-to-android-src/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin make clean make make install
そして、ファイル libpcap.a が生成されます。
libpcap (sniffer.c) を使用して単純なスニファーを作成しました。コンパイルしようとすると、次のエラーが発生します: agcc sniffer.c libpcap.a
事前にオブジェクト コードを作成しようとすると、agcc -c sniffer.o sniffer.c と同じエラーが発生しました。
誰かがこの問題を解決する方法を説明できますか?
以下は、bashrc ファイルで使用する agcc のエイリアスです: ./configure --prefix=/home/petsas/projects/mobile-attacks/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/
また、上記のコマンド (configure、make、make install) の出力を含むファイルを添付しました。
(アラインメントのエラーがあったので、エラーをコード スタイルに入れました)
前もって感謝します!
- アップデート -
オプション -I および -L を使用して、インクルード ファイルとライブラリ ファイルを指定しましたが、これらのエラーはなくなりました。
ここに私の新しいエラーログがあります:
何か案は?
android - Android NDK:Android用のlibpcapを使用したエラーのコンパイル-「このスコープで宣言されていない」関数
Jnetpcap(JNIを使用したlibpcapのJavaラッパー)をAndroidに移植しようとしています。このリポジトリのソースコードを使用して、libpcapを静的ライブラリとしてコンパイルすることができました:https ://github.com/android/platform_external_libpcapそしてlibpcap.aを入手しました
Jnetpcapを共有ライブラリとしてコンパイルしようとすると(そしてlibpcap.aとリンクしようとすると)、一部のlibpcapの関数が「このスコープで宣言されていない」ため、エラーが発生します。これらの関数は、pcap_create()、pcap_activate()、pcap_can_set_rfmon()、pcap_set_buffer_size()、pcap_set_promisc()、pcap_set_snaplen()、およびpcap_set_timeout()です。
これらの関数は、元のバージョンのlibpcap(パケットlibpcap-devが提供するもの)に存在しますが、Androidのバージョンにはそれらがないようです。Jnetpcapの同じソースファイルは、Intelx86およびx64プラットフォーム用に問題なくコンパイルできます。
私は何か間違ったことをしていますか?それらの機能は本当に欠けていますか?
皆さんがこれを修正する方法を知っていることを願っています。ありがとう。
c - メモリCのIPルックアップテーブル
私は現在、libpcapとさまざまなCアプリケーションを試し、次のことを実行しようとしています。プログラムの初期化時に、ファイルからIPをロードして、メモリに保存したいと思います。処理のためにパケットの詳細を受け取ったら、IPをメモリにロードされたIPのセットと比較したいと思います。
これをCで実装するための最良の方法/データ構造は何ですか?リストの増加と効率的なマッチングに対応する必要があるため、単純なルックアップ配列は間違った解決策になると思います。ヘルプ?
linux - モニターモード インターフェイスの tcpdump - 何もキャプチャされない
私は tcpdump (バージョン 4.1.1) を使用して、 airmon-ngによって設定されたモニター モードインターフェイスからワイヤレス フレームをキャプチャしようとしました。これまでのところ何も起こっていないので、「試み」と言います。それは非常に奇妙です:
tcpdump -i mon0
上記のコマンドは正常に機能します。すべてのビーコンとプローブ リクエスト、および考えられるすべてのフレームが画面全体に表示されます。ただし、出力をキャプチャ ファイルに書き込もうとすると、
tcpdump -i mon0 -w captures.cap
実際のデータを含むレイヤ 3 パケットを含め、何もキャプチャされません。tcpdumpを強制終了すると、
13507 packets captured
13507 packets received by filter
0 packets dropped by kernel
(この場合、13507 は任意の数字です) 完全に空のキャプチャ ファイルです。
ただし、同じインターフェイスで tshark または wireshark でキャプチャを実行すると、フレームは問題なくファイルにキャプチャされます。
GUI のオーバーヘッドがなく、「-z」オプションがあるため、wireshark の代わりに tcpdump を使用することをお勧めします。これにより、キャプチャ ファイルを取得して、それを別のコンピューターにコピーするシェル スクリプトに渡すことができます。私のネットワーク上。tshark や wireshark には同様の機能がなく、キャプチャ ファイルの存在を確認するプログラムを作成することは避けたいと考えています。
tcpdump の動作について根本的な誤解がありますか、それともここで何か奇妙なことが起こっているのでしょうか? 私がやっていることを行うためのより良い方法はおそらくありますか、それとも独自の libpcap ベースのキャプチャ プログラムを作成する必要がありますか?
libpcap - libpcap 関数に問題がありますか?
コンパイル時:
libpcap
これは、ライブラリの他の機能でも発生しています。私に問題を説明し、それを修正する方法を教えてください。前もって感謝します...