Я пытаюсь написать сценарий bash в Ubuntu, чтобы установить приложение на эмулятор Android, отправить случайные команды в приложение с помощью «обезьяны» и захватить все данные с помощью tcpdump. Код:Не удается получить tcpdump для сбора данных с android
#!/bin/bash
#store all apks files in array
shopt -s nullglob
packageArray=(*.apk)
function getPackageName()
{
myResult= aapt dump badging $1 | grep package | awk '{print $2}' | sed s/name=//g | sed s/\'//g
}
#loop through array installing, testing and capturing data, and uninstalling
for i in "${packageArray[@]}";
do
:
myResult=$(getPackageName "$i")
echo "------------------INSTALLING-----------------"
sudo adb install $i
echo "*****************INSTALLED****************************"
echo "*****************TESTING****************************"
#-------THESE COMMANDS ARE THE TROUBLE-------
(sudo -i xterm -e "tcpdump src 10.0.2.11 -vvv > /home/seed/Documents/autoTcpLogs/$myResult.pcap" &
sudo -i xterm -e "adb shell monkey -p $myResult -v 500")
echo "------------------DONE TESTING-----------------"
sudo adb uninstall $myResult
echo "*****************PACKAGE UNINSTALLED****************************"
done
Проблема: мне нужен хороший способ для ТСРйитра, чтобы закрыть один раз обезьяны завершил отправку случайных команд 500. Я попытался использовать команду KILL несколькими способами, но, похоже, это не трюк.
вы пробовали 'killall -TERM tcpdump'? – pah
Да, я пробовал это после команды обезьяны. –
См. Ответ. PID tcpdump хранится в переменной и используется как аргумент 'kill'. Если это не удается, обновите свой вопрос по причине сбоя (сохраните вывод команды kill где-нибудь и вставьте его сюда) – pah