問題タブ [scapy]
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.
python - scapy で IP チェックサムを再計算するには?
重複の可能性:
送信せずにパケット チェックサムを計算する方法は?
キャプチャしたパケットの送信元 IP と MAC アドレスをスプーフィングしましたが、チェックサムを再計算して、受信後にチェックアウトする必要があります (もちろん、ネットワークに注入された後)。私は自分でチェックサムを実装したくありませんでしscapy
た。関数がチェックサムを再計算する必要があることを読みましたが、show2()
機能しないようです。
scapy
では、キャプチャされたスプーフィングされたパケットのチェックサムを再計算 (および置換) するにはどうすればよいでしょうか?
ありがとう!
python - scapy と pcapy のヘルプ
私はscapyとpcapyが初めてです。プロジェクトとして、scapy を使用して ICMP パケットを送信し、pcapy を使用してキャプチャする必要があります。ネットワークの遅延を計算するには、送信者と受信者のタイムスタンプを比較する必要があります。
どうすればこれができるのかわかりません。どんな助けでも大歓迎です。
ありがとうございました。
次のコマンドを使用して、タイムスタンプにタイプ 13 を使用した宛先に ICMP パケットを送信していました。
a=IP(dst="172.24.50.76")/ICMP(タイプ=13)
sr1(a) 送信開始: 1パケット送信終了.1パケット受信, 1応答取得, 残り0パケット
ts_ori=22:40:35.556 ts_rx=526:4:13.700 ts_tx=526:4:13.700
1) ts_rx と ts_tx のタイムスタンプは同じ時間を示していますが、どうすれば遅延を計算できますか? 2)2番目に、さまざまなパケットサイズで遅延を計算するために、パケットのサイズを大きくするにはどうすればよいですか。
お分かりいただけたかと思います。
python - Scapy show2() パケットの問題
私はいくつかの scapy レイヤーを作成しようとしており、それらのサイズをその場で適応させたいと考えています。次のコードを使用します。
scapy インタープリターで次のようにすると、次のよう
>>> aa=Foo(); aa.byte2=0x14; aa.show2();
になります。
さて、私の理解によれば、show2() はパケットの長さなどを計算する必要があります。私の場合、これは長さとbyte2 を設定する必要があります。残念ながら、そうではありません。私が間違っていることは何か分かりますか?私は数時間バグを検索してきましたが、アイデアがありません:-Sどんな提案も大歓迎です。
敬具
python - scapy 独立レイヤー、カプセル化なし
プロトコルを作成しようとしていますが、理解に問題があります。レイヤーごとにクラスを作成しました。次に、レイヤーを上下に積み重ねることで、パケットを構築するいくつかのメソッドを作成しました。
パケットを作成するとき:
私は次のようなものを得ます:
<Foo | <Bar |>>
、これは、パケットがカプセル化されていることを理解していることを意味します(たとえば、意味のIP()/ICMP()
ある場所など)。今、私の問題は、次のようなものが欲しいということです:
私は何を間違っていますか?私が使用するコードは次のとおりです(簡略版):
ここで、「/」がこの場合の正しい演算子かどうかはわかりません。どうすればより良い方法でそれを行うことができますか? 私のプロトコルでは、レイヤーは独立しており、カプセル化されていません。
python - パケットにペイロードを追加する
scapy を使用してパケット内のデータとしてイメージまたはドキュメント (MB 単位) を挿入できますか?
これは私がデータを送信するために行ったことです。
python - フィールドが設定されているかどうかを確認する方法
scapyでレイヤーを構築しています。このレイヤーには ConditionalFields があります。
bar1 が設定されているかどうかを確認するにはどうすればよいですか? それぞれ バー2? 私が書いたラムダ関数は私には正しいように見えます。ドキュメントによると、そのように使用されていますが、機能していません。どうすればこれを修正できるか分かりますか? アイデアは、クラス Foo をインスタンス化するときにbar1
とが設定されている場合は、パケットに存在する必要があり、そうでない場合は存在しないということです。bar2
そのためだけに 2 つのパケットを実行したくありません。
python - TCP チェックサムを Scapy と比較しますか?
Scapy をスニファーとして使用しているときに、チェックサムが正しくないパケットを識別しようとしています。アクセスして元のチェックサムを取得できます
次に、これを使用して削除します
私は次のようなことをしたいと思います
show2() を使用するとチェックサムが再計算されることは理解していますが、元の属性と比較するためにこの属性にアクセスする方法はありますか? show2() を呼び出すと、チェックサムがどうなるかが表示されるだけで、パケット内の値は設定されません。
明確にしていただきありがとうございます
python - Scapy BitField と type() の質問
scapy のアドオンを作成していて、問題が発生しました。元の scapy コードを少し変更する必要がありました (すべてのクラスがオブジェクトから継承されています)。変更されたコードは次の場所にあります: http://pastebin.com/pjcL1KJv
私が書いたコードは次のとおりです。
出力:
< type 'int'>
< type 'int'>
< type 'int'>
< type 'NoneType'>
私の質問: の 2 番目のパラメーターがBitField("foo",0x0,2)
is0x0
または何か他のものかどうかを検出することは可能ですか? 可能であれば、どうすればよいですか?そうでない場合、なぜですか?
python - Scapy はフィールドの実際の値を取得します
この質問はこの他の質問に関連しています
scapy で Field の値を確認したい:
コードは完全には機能していませんが、重要な部分は機能しています。出力は次のとおりです。
さて、問題はコマンドラインで値を変更するときです:
(compute メソッドで) foo1 の値を調べるにはどうすればよいですか? これは本当に難しい質問ではないと思いますが、ここで何が欠けているのかわかりません。
敬具
python - Scapy セット クラス属性の質問
私は scapy を使用しており、scapy だけでなく python にも関連する質問があります。変数をscapyフィールド名として使用しようとしています。これは、私がやろうとしていることを説明するコードの抜粋です(機能していません):
問題は、 fields_desc がクラス変数ではなくクラス属性であるという事実によるものだと思います。では、どうすれば自分の望むものにたどり着けるでしょうか?(実行時/クラスの初期化時に self.foo の名前を設定しますか?)
どんな助けにも感謝します。敬具
編集:カウンターを追加するだけで十分です。私は試した:
しかし、うまくいかないようです。どういうわけか私は道に迷っています。