問題タブ [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.
c - libpcap のソース アドレスと宛先アドレスは、キャプチャされた ipheader で常に NULL です。
libpcap をいじるための小さなプログラムを作成しました。問題は、キャプチャしたヘッダーの送信元および宛先アドレス フィールドが常に null のように見えることです。
コード:
出力:
答えを探しましたが、何も見つかりませんでした。プロトコルヘッダーのオフセットの一部を間違っている可能性が最も高いと思います。
ご覧いただきありがとうございます。:D
wireshark - libpcapを使用してpcapファイルを解析する方法。
.pcap
ライブラリを使用してWireSharkから生成されたファイルからのRTPパケットのみを解析したいと思いlibpcap
ます。
を使用してパケットを取得するためにデバイスで機能する例をいくつか見てきましたlibpcap
が、ファイルから特定のパケットを抽出できる例を見つけることができません.pcap
。
誰もがそのような例へのリンクを知っているか、これを行うためのサンプルコードを持っている人は誰でも知っています。
ありがとう。
static-libraries - 静的ライブラリとヘッダーのみの libpcap ソースをビルドする方法
libpcap のソースがあり、Linux プラットフォーム用の静的ライブラリとヘッダーをビルドしたいと考えています。
./configure と make コマンドを試しましたが、lib とヘッダーが生成されません。
これを行うための構成コマンドは誰でも知っています。
ありがとう。
python - pythonとCを使用したlibpcapは、「pcap_parseへの未定義の参照」に失敗します
これは少し2つの質問です。Ubuntu11.04およびPython2.7を使用する
私の問題は、IPパケットをキャプチャしてデコードするためにCプログラムをコンパイルしようとしたときに始まりました。コンパイルすると、次のエラーが発生します$ gcc -lpcap decode_sniff.c /usr/local/lib/libpcap.so:未定義の `pcap_parse'への参照collect2:ldが1つの終了ステータスを返しました
libnet1-devとlibpcap-devがインストールされていることを確認して再確認しました(apt-getを使用)。
最終的に私はCプログラムをあきらめ、代わりにPythonを使用するようになりました。pypcapパッケージ(http://pycap.sourceforge.net/)をインストールしてビルドしました。ただし、pypcapモジュールをインポートしようとすると、;が表示されます。
Python 2.7.1+(r271:86832、2011年4月11日、18:05:24)linux2の[GCC 4.5.2]詳細については、「help」、「copyright」、「credits」、または「license」と入力してください。
import pycap.captureトレースバック(最後の最後の呼び出し):ファイル ""、1行目、ImportError:/usr/local/lib/libpcap.so.1:未定義のシンボル:pcap_parse
明らかに、私は一般的なファイル、パッケージ、モジュールなどが不足しています。私はしばらくの間これをグーグルで検索しましたが、どこにも行きませんでした。誰かが私のためにいくつかの洞察を持っていますか?
macos - Mac OS X (Darwin) で同等の AF_PACKET
AF_PACKET ソケットと libpcap を使用する Mac OS X で C プログラムをコンパイルしようとしていますが、OS X で同等のものは何ですか?
network-programming - libpcap が不完全なパケットをキャプチャするのはなぜですか?
「tcpdump port 1025 -w out.pcap -s 4000」を実行すると、localhost から送信されたすべてのパケットに「XXX バイトが送信され、54 バイトがキャプチャされました」と表示されます (イーサネットと TCP ヘッダーのみがキャプチャされ、データはキャプチャされません)。明らかに、snaplen は 4000 であるため、パケットが途中で切断されている理由がわかりません。私もlibpcapを直接使うプログラムを書きましたが、同じ現象が発生しました。これは libpcap 1.1.1 と 1.2.0rc1 の両方で発生しましたが、libpcap 0.9.8 では機能しました!
私は SP3 で SLE10 を使用しており、まったく同じ OS とプログラムがインストールされた別のコンピューターを使用しています。
サンプル キャプチャを次に示します。
libpcap - pcap_findalldevs()はどのファイルと行番号で定義されていますか?
pcap_findalldevs()はどのファイルと行番号で定義されていますか?pcap_findalldevs()が定義されている場所のlibpcapソースを探しています。pcap.hでプロトタイプを見つけましたが、完全な機能はどこで定義されていますか?
wireshark - プログラムで iscsi パケットから特定のバイトを抽出する
さまざまな量の ISCSI パケットを含む大量の Wireshark トレースがあります。イニシエーターから送信されたコマンド (バイト単位) を解析し、パケットごとにファイルに書き込む必要があります。Wireshark アプリケーション内で簡単に表示できるため (以下の SS を参照)、最初はこれを手動で行うつもりでしたが、これらのトレースの一部は巨大 (1 ~ 2 Gb) であり、手動で行うには非常に時間がかかります。
私は tshark と rawshark のドキュメントを調べてきましたが、どちらも必要なものを手に入れることができるかどうかはわかりません。友人は libpcap を使用して自分でトレースを解析することを提案しましたが、私が知る限り、各パケットから取り出す必要のあるバイトを特定する方法を見つける必要があります。理想的には、それを認識してくれるものを使用したいと思います (つまり、wireshark の ISCSI ディセクタ)。
誰かが私を正しい方向に向けることができますか? 生のパケット データを調べたり、必要なバイトを特定したりせずに、各 ISCSI パケットからこれらのコマンドを解析する何らかの方法が必要です。注 - 上記のように、常にパケットの最後の 16 バイトであるとは限らないため、最後の 16 バイトだけを取得することはできません。
c# - パケットをキャプチャしてパケットをドロップする IPS システム
UNIXのiptablesに似た真のIPS(侵入防止システム)のように、Windowsでパケットを「ドロップ」する方法はありますか。
また、私がmatlabを使用している場合、「ネットワーク上のパケットをキャプチャ」してニューラルネットにフィードする方法はありますか? つまり、Windows上のMatlab。
libpcap がデータを「キャプチャ」できる方法を理解するのに苦労していますが、リアルタイムでデータを「ドロップ」することはできませんか?
かなり迷惑な Snort はそれを行うことができません。Snort は Windows では IDS としてのみ機能しますが、iptables にルールを正しく設定できるため、Linux では IDS/IPS として機能します。
c++ - struct pcap_pkthdr len 常に == ゼロ
ここにすべてのソースをコピーせずに、pcap_callback
から関数をヒットしていますpcap_dispatch
。はcaplen
正しい長さを示しているように見えますが (常に何かであるということです)、len は常に 0 です。このフィールドはもう入力されていませんか? これはおそらく、私がキャプチャしていないエラー状態ですか?
ここにスニペットがあります...
値はheader->len
常にゼロとして返されます。さらに情報が必要な場合は、お知らせください。
これは、2.6.32 カーネルで libpcap.so.0.9.8 を実行している SUSE Linux 11SP1 サーバーで見つかりました。この問題は、libpcap.so.0.9.3 を使用して SUSE Linux 10SP3 からアップグレードした後にのみ発生します。
編集: これは、libpcap.so.0.9.8 のみの問題のようです。/usr/lib/ のリンクを libpcap.so.0.9.3 を使用するように再指定すると、問題はなくなりました。