(новичок) Как я могу оптимизировать этот скрипт? - PullRequest
0 голосов
/ 21 января 2020

Так что я действительно новичок в этом и не имею никакого формального образования, я просто учил себя как хобби, поэтому у меня нет понимания того, чего я пытаюсь достичь sh или терминологии для найдите ответ в моей комнате. Позвольте мне объяснить.

Итак, я настроил Raspberry Pi для включения камеры, установленной в моей домашней сети (длинная история), введя несколько команд. Я решил создать сценарий для автоматической установки и настройки всех параметров при выполнении файла, однако я не совсем понимаю, как выполнить несколько базовых c вещей

. (и простите за мое форматирование, это мой первый пост)

airmon-ng start wlan1    
#how can I make this run only if wlan1 exists. If it doesn't it needs to skip                       

airodump-ng --bssid E0:22:03:C6:85:F5 -c11 wlan1mon    
#only need this for 3 seconds so how do I send "ctrl-c" and continue running the script?                                                              

aireplay-ng -0 0 -a E0:22:03:C6:85:F5 -c 34:15:13:4C:0B:D6 -x 1 wlan1mon
#another Ctrl c sent here but only after running for 5 min

Вот и все. Извините, если это слишком простой вопрос, я признателен за любую помощь, которую вы можете предложить, или если кто-то может указать мне правильное направление, где я могу узнать это самостоятельно, что было бы здорово. Спасибо за ваше время.

1 Ответ

2 голосов
/ 21 января 2020

вот быстрое (и полностью непроверенное) решение вашей проблемы:

#!/bin/sh

iface="$1"
apmac="E0:22:03:C6:85:F5"
destmac="34:15:13:4C:0B:D6"

# query some info on the selected interface, but discard the results
# we are only interested in the exit code of `ip`
if ip addr show "${iface}" >/dev/null
then
  airmon-ng start ${iface}
  # after 3 seconds, send a SIGINT:
  timeout -s INT 3s airodump-ng --bssid "{apmac}" -c11 "${iface}mon"
  # after 5 minutes, send a SIGINT:
  timeout -s INT 5m aireplay-ng -0 0 -a "${apmac}" -c "${destmac}" -x 1 "${iface}mon"
fi

оно не оптимизирует что-либо, так как оптимизация имеет довольно специфические c означает в программном обеспечении (как в «заставить его работать более эффективно», что не то же самое, что в «исправить ошибки»)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...