-
Notifications
You must be signed in to change notification settings - Fork 0
/
service-policy.py
104 lines (82 loc) · 3.12 KB
/
service-policy.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
from pass import username, password
import re
import paramiko
import openpyxl
import os
import multiprocessing
from termcolor import colored
import datetime
import pandas as pd
import threading
import pandas as pd
import time, smtplib
def qos():
ExcelExport = [["Cisco", "INT", "Tanımlama"]]
my_connection = paramiko.SSHClient()
my_connection.set_missing_host_key_policy(paramiko.AutoAddPolicy())
IP_Core = "172.16.189.23" # Connecting device via SSH
try:
my_connection.connect(IP_Core, port="22", username=username, password= password, timeout=15)
remote_connection = my_connection.invoke_shell()
print(colored("Establised_NEXUS:" + IP_Core, "yellow"))
remote_connection.send(" terminal length 0" + "\n")
time.sleep(1)
remote_connection.send("show running-config " + " \r")
time.sleep(1)
cikti = remote_connection.recv(65000)
sonuc20 = cikti.decode('ascii').strip("\n")
My_file = "syslog_spines.txt" # To see abnormal characters in "sonuc20"
syslog = open(My_file, 'w')
syslog.write(sonuc20)
syslog.close()
# #############################################################
with open("syslog_spines.txt", "r") as f:
my_each_data11 = f.readlines()
my_each_data12 = "".join(my_each_data11)
my_each_data15= my_each_data12.strip("")
my_each_data = my_each_data15.split()
#print(my_each_data)
my_each_data25 = []
for line in my_each_data:
my_each_data5 = line.strip('\n')
my_each_data25.append(my_each_data5)
idxes = []
for i in range(len(my_each_data25)):
if my_each_data25[i] == "!": # All "my_each_data" which "(!)" located
idxes.append(i)
# print(idxes[0]+1)
my_each_data26 = []
my_each_data4 = []
e = 0
d = 0
while True: # Every data between "!" mares
v = 1
while idxes[d] + v < idxes[e + 1]:
my_each_data4.append(my_each_data25[idxes[d] + v])
v = v + 1
if idxes[d] + v == idxes[e + 1]:
my_each_data26.append(my_each_data4)
my_each_data4 = []
d = d + 1
e = e + 1
if e + 1 == len(idxes):
break
# ####################################################
for BE in my_each_data26:
BE1 = " ".join(BE)
if "Bundle-Ether" in BE1:
BE91 = BE1.split()
BE96 = BE91[1]
BE99 = BE96.split(".")
if len(BE99) > 1 and int(BE99[1]) > 150 and "transport" not in BE91 and "service-policy" not in BE91:
BE91.remove("ingress")
BE90 = BE99[0] +"."+ BE99[1]
print(BE90)
ExcelExport.append([IP_Core, BE90, BE91[2]])
except Exception as e:
print("no connectivity" + IP_Core +"\n")
time.sleep(2)
with open("ulasilamayan ipler.txt", "a") as f:
f.write(IP_Core + "\n")
f.close()
qos()