12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import subprocess
- from flask import Flask
- app = Flask(__name__)
- @app.route('/')
- def get_network_info():
- try:
- # Запустить команды для получения информации о сетевом интерфейсе и DNS
- interface_info = subprocess.check_output('ip addr show enp3s0', shell=True, text=True)
- dns_info = subprocess.check_output('cat /etc/resolv.conf | grep "nameserver"', shell=True, text=True)
- # Получить IP-адрес, широковещательный адрес сети и шлюз по умолчанию
- ip_address = subprocess.check_output('ip addr show enp3s0 | grep "inet " | awk \'{print $2}\'', shell=True, text=True).strip()
- broadcast_ip = subprocess.check_output('ip addr show enp3s0 | grep "inet " | awk \'{print $4}\'', shell=True, text=True).strip()
- default_gateway = subprocess.check_output('ip route show default | awk \'/default via/ {print $3}\'', shell=True, text=True).strip()
- # Форматирование информации в HTML
- info = f"""
- <html>
- <head>
- <title>Информация о сетевом интерфейсе</title>
- <style>
- body {{
- font-family: Arial, sans-serif;
- background-color: #f0f0f0;
- margin: 20px;
- }}
- h1 {{
- background-color: #007bff;
- color: #fff;
- padding: 10px;
- }}
- p {{
- background-color: #fff;
- padding: 10px;
- border: 1px solid #ccc;
- margin: 5px 0;
- }}
- </style>
- </head>
- <body>
- <h1>Настройки основного сетевого интерфейса - Created by gr704_opkol</h1>
- <p>IP-адрес: {ip_address}</p>
- <p>Широковещательный адрес сети: {broadcast_ip}</p>
- <p>Шлюз по умолчанию: {default_gateway}</p>
- <h2>Настройки DNS</h2>
- <p>{dns_info.replace("nameserver", "DNS-сервер:")}</p>
- </body>
- </html>
- """
- return info
- except Exception as e:
- return f'Ошибка: {str(e)}'
- if __name__ == '__main__':
- app.run(host='0.0.0.0', port=8080)
|