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)
Другие вопросы по тегам