0

最初に ettercap を ARP ポイズニングに設定し、次に urlsnarf を開始して URL をログに記録する Python のスクリプトに取り組んでいます。最初に ettercap を起動してから、中毒中に urlsnarf を起動したいと考えています。問題は、これらのジョブを同時に実行しurlsnarf、出力を表示する必要があることです。それで、終了を待たずにバックグラウンドで ettercap を実行してから urlsnarf を実行できたらいいなと思いました。コマンドnohupを試しましたが、urlsnarfがURLを表示しなければならなかった時点で、スクリプトは終了しました。走る:

subprocess.call(["ettercap",
                 "-M ARP /192.168.1.254/ /192.168.1.66/ -p -T -q -i wlan0"])

しかし、私は得る:

ettercap NG-0.7.4.2 copyright 2001-2005 ALoR & NaGA

MITM メソッド ' ARP /192.168.1.254/ /192.168.1.66/ -p -T -q -i wlan0' はサポートされていません...

これは、どういうわけか引数が正しく渡されなかったことを意味します

4

1 に答える 1

1

Python 標準ライブラリの subprocess モジュールを使用して、親と同時に実行される別のプロセスとして ettercap を生成できます。サブプロセスの Popen クラスを使用すると、ettercap プロセスを生成して他の処理を実行し、完了したら ettercap プロセスを強制終了できます。詳細はこちら: Python サブプロセス パッケージ

import shlex, subprocess

args = shlex.split("ettercap -M ARP /192.168.1.254/ /192.168.1.66/ -p -T -q -i wlan0")
ettercap = subprocess.Popen(args)

# program continues without waiting for ettercap process to finish.
于 2013-05-11T15:00:20.877 に答える