在后台运行tcpdump

时间:2019-06-01 01:22:56

标签: python shell network-programming wifi

我有一个问题,我正在做一个实验,所以我试图在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 /对不起,我的错话:)
谢谢大家。

0 个答案:

没有答案