У меня проблема, я провожу эксперимент, поэтому я пытаюсь запустить скрипт Python через двойной SSH, поэтому мне нужно захватывать трафик на каждом узле, затем я создал функцию, которую я могу запускать на каждом узле. Но проблема в том, что я не могу запустить скрипт, чтобы запустить трафик после запуска Tcpdump (после запуска tcp dump выводится сообщение). Я пробовал много способов, чтобы исправить эти проблемы, но я все еще отмечу лучший. Я просто хочу, чтобы галочка запускала tcpdump в фоновом режиме и все еще выполняла другую команду на узле.
Я уже попробовал опцию "nohup" или поставить "&" в конце, но у меня ошибка синтаксиса. Я запускаю это на Mac OS.
это оболочка скрипта python в pom.sh:
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 устройства Intel
tcpdump: прослушивание на mon0, IEEE802_11_RADIO (802.11 плюс заголовок радиоленты), размер захвата 262144 байта
NB / Извините за мой бадглийский язык:)
Спасибо вам всем.