Kirill 1 år sedan
incheckning
8073ddad04
1 ändrade filer med 58 tillägg och 0 borttagningar
  1. 58 0
      lab3-staging/app.py

+ 58 - 0
lab3-staging/app.py

@@ -0,0 +1,58 @@
+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)