Új hozzászólás Aktív témák
-
jerry311
nagyúr
válasz
sztanozs
#3714
üzenetére
Remelem nem maradt benne jelszo

#!/usr/bin/env python# coding=utf-8"""Python script to get NAT details from routers, and upload to SharePoint.This script feeds into Power AutomateVersion Control- 1.0 Initial Release"""# Modules to loadimport datetimeimport requestsimport crasshimport logging# Static variables 1VPN1 = "1.1.1.1"VPN3 = "2.2.2.2"NAT3 = "3.3.3.3"authfile = "/home/jerry311/credz.txt" # Uid & Passowrd are stored in an external fileurl = "https://removed-site-name.azurewebsites.net/api/upload" # Upload URL of APIquerystring = {"clientID": "removed-client-id", "docPath": "/Shared%20Documents/Daily%20NAT%20File/"} # Client ID for authentication, destination path on SharePointdebug = False # Developer debugging#Logging setuplogging.basicConfig(filename='scripts.log', filemode='a', format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')"""The format for credz.txt isusername: Uidpassword: PW"""def main():"""Main Code BlockLogs onto router, gets the output, and uploads to file on SharePoint."""# Create timestamp to be used in file nametimestamp = datetime.datetime.now().strftime("%y%m%d-%H%M%S")# Get Uid & Password from credz.txtusername, password = crassh.readauthfile(authfile)try:# Connect to router and get outputlogging.warning('CRASSH connection start')hostname = crassh.connect(NAT3, username, password, sysexit=True)output = crassh.send_command("show run | in Current configuration|extendable", hostname)crassh.disconnect()logging.warning('CRASSH finished')# Create file name to be used on SharePointtxtoutputfilename = (hostname + "-" + timestamp + ".txt")logging.warning('File name: ' + txtoutputfilename)# Create HTML payload from outputpayload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"\"; filename=\"" + str(txtoutputfilename) + "\"\r\nContent-Type: text / plain\r\n\r\n" + str(output) + "\r\n\r\n-----011000010111000001101001--\r\n"headers = {"apikey": "removed-api-key","Content-Type": "multipart/form-data; boundary=---011000010111000001101001"}logging.warning('Payload generated')# Upload to APIresponse = requests.request("POST", url, data=payload, headers=headers, params=querystring)logging.warning('API response: ' + response)# Print debug info if debug variable is set to True. Uncomment print(output) if you want to see what we collected from router. Lots of text!!!if debug:logging.debug('Hostname: ' + hostname)logging.debug('Timestamp: ' + timestamp)logging.debug('CRASSH output: ' + output)logging.debug('File name: ' + txtoutputfilename)logging.debug('Payload ' + payload)logging.debug('API response: ' + response)except:logging.warning('Something went wrong')pass # If something fails, move onto next router in the list.# If run from interpreter, run main code function.if __name__ == "__main__":main()
Új hozzászólás Aktív témák
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Linux Mint
- Futás, futópályák
- Házimozi belépő szinten
- Pánik a memóriapiacon
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Azonnali informatikai kérdések órája
- Ez lehet az Apple hajlítható telefonjának formája, mérete
- Telekom mobilszolgáltatások
- NFL és amerikai futball topik - Spoiler veszély!
- További aktív témák...
- 5G LTE! Microsoft Surface Pro 8 i7-1185G7 16GB 1000GB 1 év garancia
- ÁRGARANCIA! Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5060 8GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- RAKTÁRKISÖPRÉS! Eladó szerverek!
- REFURBISHED és ÚJ - HP USB-C/A Universal Dock G2 (5TW13AA) (DisplayLink)
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


