我有一个问题,我正在做一个实验,所以我试图在double ssh上运行python脚本,因此我必须捕获每个节点上的流量,然后创建一个可以在每个节点上运行的函数。但是问题是我无法在启动Tcpdump之后运行脚本来启动流量(运行tcp dump后提示挂起)。我尝试了多种方法来解决这些问题,但我仍然注意到最好的方法。我只想要一个勾号在后台运行tcpdump并仍在节点上运行其他命令。
我已经尝试过选项“ nohup”或在末尾加上“&”,但是语法错误。我正在Mac OS上运行它。
这是pom.sh中的python脚本外壳:
def function(run-tcpdump):
local interface="mon0"; shift
local output="fit"; shift
local USAGE="Usage; $FUNCNAME interface output [tcpdump extra args]"
[ -z "$output" ] && { echo $USAGE; return 1; }
cd
local command="tcpdump -n -U -w ${output}.pcap -i ${interface} "
echo "${interface} traffic tcpdump'ed into $pcap with command:"
echo "$command"
$command
return 0
这是我在pom.py中调用函数的地方:
run_sender = SshJob(
node=sender,
commands=[RunScript(auxiliary_script, "run-tcpdump"),
RunScript(auxiliary_script, "run-sender", packets, size, period)],
label="run-sender")
如您所见,我必须运行另一个名为run-sender的功能才能开始发送数据包,但是当tcpdump函数启动时,远程外壳挂起了,我无法再运行“ run-sender”功能。 >
这是下面的描述:
等待某些接口在驱动程序iwlwifi上运行 使用WLAN设备英特尔 tcpdump:监听mon0,链接类型为IEEE802_11_RADIO(802.11和radiotap头),捕获大小为262144字节
NB /对不起,我的错话:)
谢谢大家。