問題タブ [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 - Python Scapy とリバース モードで pcap を読み取る
関数を使用してpcapファイルを読み込んでいます。rdpcap
逆にする方法を知りたいs
:それはリストでなければならないが、私は試した:
それはうまくいきません:それは私にSyntaxError: invalid syntax
エラーを与えます。
誰でも私を助けてもらえますか?
python - Scapy と rdpcap 関数
rdpcap
Scapy の機能を使用して PCAP ファイルを読み込んでいます。Scapy の HTTP サポートへのリンクで説明されているモジュールも使用します。これは、すべての HTTP 要求と応答、およびそれらに関連するパケットを取得する必要があるためです。
rdpcap
大きな PCAP ファイルを解析すると、関数の読み取りに時間がかかりすぎることに気付きました。
pcap
ファイルをより速く読み取るための解決策はありますか?
windows - Python / Scapy for Windowsで簡単なファイアウォールを作成することは可能ですか?
HTTPトラフィックを傍受できる「小さな」ファイアウォールを作成しようとしています。次に、IPアドレスとパケットの内容(テキスト)に応じてパケットを変更またはドロップする必要があります。
この質問を作成する前に、何度かグーグルで検索しました。時間がかかるのではないかと思います。また、ドライバーカーネルモードの開発経験もありません。
しかし最近、私はpython (scapy)のライブラリに出くわしました。ドキュメントから、トラフィックを盗聴したり偽造したりすることができます。
ただし、scapyについていくつか質問があります。
「ネットワークパケットを偽造する」とはどういう意味ですか?パケットのコピーを偽造しますか?
前もって感謝します。
PS:また、カーネルモードでのドライバーの開発経験がないので、ユーザーモードでの代替ライブラリはありますか?使用するプログラミング言語は私の目標ではありません。私の目標は、このタスクを短時間で、できる限り簡単に達成することです。
wifi - Scapy-WiFiパケットからRSSIを取得する
WiFiパケットからRSSIまたは信号強度を取得しようとしています。「WiFiプローブリクエスト」からのRSSIも必要です(誰かがWiFiホットスポットを検索している場合)。
私はなんとかkismetログからそれを見ることができましたが、それはそれが可能であることを確認するためだけでした-私は常にkismetを使いたくありません。
「フルタイムスキャン」では、scapyを使用しています。scapyでスニッフィングされたパケットからRSSIまたは信号強度(dBm)をどこで見つけることができるか誰かが知っていますか?パケット全体がどのように構築されているのかわかりません。また、解析/解釈の方法がわからない「16進」値がたくさんあります。
wlan0(誰かが私のホットスポットに接続したときに検出する)とmon.wlan0(誰かがホットスポットを検索しているときに検出する)の両方のインターフェイスをスニッフィングしています。私が使用しているハードウェア(WiFiカード)は、Prismチップセット(ISL3886)に基づいています。ただし、Kismetを使用したテストは、Atheros(AR2413)およびInteliwl4965で実行されました。
編集1:
PrismHeaderに保存されている情報にアクセスする必要があるようです: http ://trac.secdev.org/scapy/browser/scapy/layers/dot11.py 92行目?
誰かがこの情報を入力する方法を知っていますか?packet.show()およびpacket.show2()は、このクラス/レイヤーから何も表示しません
Edit2:
さらに掘り下げてみると、インターフェイスが正しく設定されていないように見えます。そのため、必要なヘッダーがすべて収集されていません。kismetを実行してから、そのインターフェイスからscapyを使用してパケットをスニッフィングすると、パケットに詳細情報が含まれます。
これで、kismetを使用せずにインターフェイスを正しく設定するだけで済みます。
tcp - Scapy を使用して tcp ペイロードを送信する: バイトが食べられるのはなぜですか?
私の問題は次のとおりです。ハニーポットを刺激するためにscapyを使用してリッスンサービスを実装したい(ハニーポットは偽のIPを使用するため、OSソケットを使用できないため)、scapyを選択しました。
私は非常に単純な TCP ハンドシェイク手順を実装しましたが、1 つ不満がありました: PSH を使用して送信するパケットの 1 バイトが消費されます。
たとえば、クライアントに「abc」を送信しますが、netcat や wget などのクライアントのソケットは「bc」しか受信しません。別の例として、「HTTP/1.1 200 OK」は「TTP/1.1 200 OK」になります。パケットをキャプチャし、Wireshark は手作りのパケットを HTTP として正しく認識できますが、クライアント ソケットには 1 バイトしかありません。どうしてか分かりません。
コードは次のとおりです。192.168.1.100 は server(my) ip addr を表し、9999 はポートです。たとえば、この python スクリプトを 192.168.1.100 で実行してから、「nc 192.168.1.100 9999」を使用します。「abc」が出るはずが「bc」しか出ないのですが、Wiresharkでは問題ないようです。とても奇妙です。
python - すべてのICMP時間超過メッセージを取得していない:なぜですか?
Scapyを使用して、TTL値を変更したダンプされたパケットを再生しています。TTL=1でも非常に奇妙な結果が得られています。
テスト時間を互いに離して実行すると、ICMP time-exceededメッセージで応答されたパケットの約40%から95%を取得できます。次に、未応答のパケットを再帰的に再生し、毎回、以前とほぼ同じ割合の応答済みパケットを取得できます。
何故ですか?
0.1秒間隔でパケットを送信しています。これで大丈夫ですよね?私のタイムアウト値は10秒です。これは非常に控えめなはずです。
ここで何が問題になっていますか?
hex - scapy hexdump()
私はhexdump()
それを変更したいので、どのscapyが使用するのだろうかと思いますが、何も見つかりません。
私が見つけたものは次のとおりです。
しかし、それは単に の代替でpkt.hexdump()
ありpkt.summary()
、次のことを行いますhexdump(pkt)
ソースコードの場所を教えてhexdump(pkt)
もらえますか?
私が持ちたいのは、16 進数のパケットであり、ほとんどのようにstr(pkt[0])
(1 バイトごとに確認できますstr(pkt[0])[0]
)、16 進数値以外はありませんhexdump(pkt)
。
多分あなたたちはこれで私を助けることができます:)
python - Python での raw ソケットと sendto
私は scapy と twisted の統合に取り組んでいますが、OSX でこの非常に奇妙なバグに遭遇しました。
基本的に、生のソケット経由で有効な TCP パケット (IP ヘッダーを含む) を送信できません。これは私がやっていることです:
これを実行すると、次のエラーが表示されます。
outs.sendto(spkt1, ('127.0.0.1', 0))
socket.error: [Errno 22] Invalid argument
scapy をオンにしておらず、使用したくない場合は、base64 でエンコードされたパケットを次に示します。
非常に奇妙なことは、ほぼ同一のパケットが適切に送信されているように見えることです。
2 つのパケットは次のようになります。
それらをwiresharkでチェックアウトすると、TCP部分のみが異なります。
私は多くの異なる実験を行い、最終的に特定の TCP オプションを設定してパケットを送信することができましたが、そのようなパケットが機能しないことは意味がありません。
なぜこれが起こっているのか誰にも分かりますか?
編集:
このパケットは動作しているように見えます:
ゼロを追加しないと機能しません。
python - スキャピーが見つかりません
macport で scapy 2.2.0 をインストールしました。これらの指示に従って(scapy.allインポート*から)、Pythonコードにインポートしましたそして、私のPythonコードを実行するとき
しかし、コマンドラインでscapyを実行すると、正常に起動します。
どんな手掛かり?