PHP / Python Проверьте, выключен ли брандмауэр
Можно ли написать сценарий PHP, который проверяет, отключен ли брандмауэр ПК, а затем вывести да / нет в флажок на веб-странице? (Размещение собственного веб-сервера с использованием WAMP)
В настоящее время я имею в виду создание файла.bat, который проверяет, отключен ли брандмауэр с помощью:
netsh advfirewall show public
затем проверьте, включено ли состояние, показанное на CMD, и верните результаты в флажок веб-страницы. Дело в том, что я понятия не имею, как мне выполнить проверку состояния и вернуть результаты.
Пожалуйста, порекомендуйте. Также открыты для других идей / решений, которые могут дать аналогичные результаты.
PS: я новичок в написании сценариев PHP и только начал изучать Python сегодня, а проект должен состояться через 3 недели. Также было бы неплохо, если бы вы могли связать решения с полным кодом, если вы о них знаете. Я учусь быстрее через ссылки.
1 ответ
Вы можете использовать эту команду, чтобы получить только статус общедоступного профиля:
"netsh advfirewall показать публичное состояние"
Эта команда может использоваться в скрипте Python с модулем подпроцесса:
result = subprocess.check_output(["netsh", "advfirewall", "show ", "allprofiles", "state"].decode('utf-8')
Результатом будет строка, с помощью регулярных выражений вы сможете получить значение из нее.
https://docs.python.org/3/library/re.html
Пример регулярного выражения:
status = re.search('state[ ]*([A-Za-z])*', result).group(1)