在后台运行控制台应用程序

2024-10-01 02:35:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python编写一个脚本,首先我将ettercap设置为ARP中毒,然后启动urlsnarf来记录url。我想先让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 method ' ARP /192.168.1.254/ /192.168.1.66/ -p -T -q -i wlan0' not supported...

也就是说,这些论点在某种程度上没有被正确传递


Tags: 命令脚本url作业记录callng后台
1条回答
网友
1楼 · 发布于 2024-10-01 02:35:51

您可以使用Python标准库中的subprocess模块将ettercap作为一个单独的进程生成,该进程将与父进程同时运行。当你的进程完成后,你可以使用poprcap来终止你的进程。更多信息:Python Subprocess Package

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.

相关问题 更多 >