問題タブ [libnet]
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 - libnet を使用して tcp パケットを作成すると、正しくない tcp フラグとウィンドウ サイズが取得される
libnet_build_tcp で tcp パケットを構築する「ハッキング: 悪用の技術」の synflood.c をたどりました。
うまく見えます...しかし、wiresharkまたはtcpdumpを使用して、作成されたtcpパケットを調べると、次のようになります。
Wireshark で、tcp パケット (最後の 20 バイト) を見つけました。
tcpflags がゼロになり、ウィンドウ サイズもゼロになる場所のようです。
tcp パケットを作成するときに推奨されるウィンドウ サイズを変更しようとしましたが、それでもゼロになります。
何か指示はありますか?
PS: さらに調べたところ、私の 64 ビット UNIX マシンでは、libnet が seq と ack に 8 バイトを与えていることがわかりました。
libnet_build_tcp の libnet ソースはこちら
解決済み
申し訳ありませんが、libnet-1.0-headers ではなく libnet-headers を確認しました。
64 ビット マシンでは、int は 8 バイトを占有します。私は何が起こったのか知っています。
c - libnet を使用して、libpcap によって読み取られたパケットを書き込むことは可能ですか? で?
libpcapにpcapファイルを読み取らせ、ユーザーにパケットを選択させ、libnetを使用してそのパケットを書き込もうとしています.
ファイル部分からの読み取りが完了しました。libpcap は、そのパケットを const unsigned char に入れます。以前に libnet を使用したことがありますが、libnet の高度な機能を使用したことはありません。libnet のビルド関数を使用してパケットを作成し、それをそのままにしておきます。libnet_adv_write_link()
libnet コンテキスト、inject(const uint8_t) へのパケットへのポインタ、およびパケットのサイズを取得する関数があることに気付きました。libpcap から取得した「パケット」を渡そうとしたところ、エラーなくコンパイルおよび実行されました。ただし、wireshark には何も表示されません。
これはこの問題に取り組む正しい方法ですか、それとも libpcap から読み取って、libpcap が読み取ったものに基づいて libnet で別のパケットを作成する必要がありますか?
編集:問題をある程度解決したと思います。libpcap でパケットを読み取ります。16 番目のバイト以降のすべてのバイトを別の uchar に入れ、それをワイヤに書き込みました。libnet_adv_write_raw_ipv4() を使用して、LIBNET_RAW4_ADV で初期化された libnet。おそらくドライバーのせいで、私はETHレイヤーに対してあまり力を持っていないと思います。したがって、基本的にはこのように自動的に書き込まれるようにし、新しい uchar パケットは、元のパケットの ETH レイヤーの後に残っているものです。これまでのところ正常に動作します。
ios - iOS7 用の libnet 1.1.7 のコンパイルで問題が発生しました
iOS プロジェクトで libnet 1.1.7 を使用しようとしていますが、いくつかのエラーが発生します。
これは、AppDelegate.m の私の単純なコードです。
エラーの詳細と修正方法を教えてください。どんな助けでも大歓迎です。
PS私はMavericks(v10.9.4)でXcode 5.0.1を使用しています
アップデート。ソースから i386 arch の libnet を再構築しましたが、エラーが 1 つしかありません。
iOS のソースから libnet をコンパイルする際に問題があると思います。どのように正しく行うのですか?
c++ - LibNet 読み取り ARP 応答?
Libnet で ARP 応答を読み取ることは可能ですか? C/C++ で記述された ARP ソケットを読み取るためのクロスプラットフォーム ライブラリを特に探しています</p>
c - クライアントが libnet によって作成および送信された http パケットを解析できないのはなぜですか?
libnet ビルド関数を使用して http パケットを作成し、libnet_write で送信します。パケットが Wireshark 経由で正常に送信されていることがわかります。tcp および ip ヘッダーは問題ありません。しかし、クライアントは私のパケットを解析できません。たとえば、「HTTP/1.1 200 OK」パケットを送信すると、クライアントは html をロードしません。「HTTP/1.1 302 Moved Temporarily」パケットを送信しても、クライアントがリダイレクト サイトにジャンプしません。等..