Commandline Tool for exporting Cisco hardware inventory via SNMP

This tool exports every hardware asset from an Cisco device with a serial number. You can export the list as table or CSV. Download: https://gist.github.com/lanbugs/4dbed5e0e8a7d5b6d29c4ea9b9e93bb2 >python cisco_inventory.py -h usage: cisco_inventory.py [-h] -H HOST -v SNMP_VERSION [-C SNMP_COMMUNITY] [-u SNMP_USER] [-A SNMP_AUTH] [-a SNMP_AUTH_METHOD] [-X SNMP_PRIVACY] [-x SNMP_PRIVACY_METHOD] [-L SNMP_SECURITY] [–csv] Cisco inventory grabber Version 0.1 Written … Weiterlesen

Commandline Tool to export current registered users at APs from an Cisco Wireless LAN Controller (WLC)

This tool exports all current clients on all APs assigned to the WLC. You can export as CSV or as table. Download: https://gist.github.com/lanbugs/6dc874ad0736424c5c7808f01ec78f96 $ python cisco_ap_clients_grabber.py -h usage: cisco_ap_clients_grabber.py [-h] -H HOST -v SNMP_VERSION [-C SNMP_COMMUNITY] [-u SNMP_USER] [-A SNMP_AUTH] [-a SNMP_AUTH_METHOD] [-X SNMP_PRIVACY] [-x SNMP_PRIVACY_METHOD] [-L SNMP_SECURITY] [–csv] Cisco AP clients grabber Version 0.1 Written … Weiterlesen

CLI Tool – Export AP inventory from an Cisco Wireless LAN Controller (WLC)

This tool exports the complete AP inventory from an Cisco WLC. You can create an CSV export or an table. Download: https://gist.github.com/lanbugs/e86042c0b2afaf7166637a9aa9711cb6 $ python cisco_wlc_ap_grabber.py -h usage: cisco_wlc_ap_grabber.py [-h] -H HOST -v SNMP_VERSION [-C SNMP_COMMUNITY] [-u SNMP_USER] [-A SNMP_AUTH] [-a SNMP_AUTH_METHOD] [-X SNMP_PRIVACY] [-x SNMP_PRIVACY_METHOD] [-L SNMP_SECURITY] [–csv] Cisco AP WLC inventory grabber Version 0.1 Written … Weiterlesen

PowerDNS MongoDB Backend

This a pipe backend for PowerDNS to MongoDB written in Python. Requirements pymongo python library powerdns min. version 4.x The MongoDB schema (for example DB: dns / Collection: records) For SOA records: { „name“:“example.org“, „type“:“SOA“, „content“:““, „ttl“: 300, „primary“: „ns1.example.org“, „mail“: „admin.example.org“, „serial“: 2018030311, „refresh“: 86400, „retry“: 7200, „expire“: 3600000, „nttl“: 3600 } For standard … Weiterlesen

Flask, uWSGI und Nginx auf Ubuntu 16.04

– Kurze Zusammenfassung, ausführlich siehe Quelle am Ende des Artikels – Python Virtual Environment aufsetzen pip install virtualenv virtualenv projekt source projekt/bin/activate pip install uwsgi flask Mini Flask Applikation projekt.py from flask import Flask app = Flask(__name__) @app.route(„/“) def hello(): return „Hello world!“ WSGI Startfile wsgi.py from projekt import app if __name__ == „__main__“: app.run() … Weiterlesen

MongoDB Authentication aktivieren

Per Default ist bei einer MongoDB Instanz keine Authentication aktiviert. Hier der kurze Weg. Admin Account anlegen devusr@testsystem:~# mongo MongoDB shell version v3.6.5 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.6.5 > use admin switched to db admin > db.createUser({user: „admin“, pwd: „geheimes_passwort“, roles: [{ role: „root“, db: „admin“ }]}) Successfully added user: { „user“ : … Weiterlesen

MongoDB und Python

Ein paar Notizen zu Python und MongoDB 🙂 MongoDB ist eine NoSQL Datenbank, weitere Infos -> Wikipedia 🙂 Aktuelle MongoDB Version installieren (auf Ubuntu 16.04) sudo apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 echo „deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse“ | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list apt install apt-transport-https apt update apt-get install -y mongodb-org siehe auch: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/ … Weiterlesen

Passwort Hashing in Python

Hier die einfachste Variante um in sicheres Passwort Hashing in Python umzusetzen. Dazu wird die passlib verwendet. Diese kann per pip installiert werden, passlib ist für Python 2.x und 3.x kompatibel. pip install passlib Passwort hashen: >>> # passlib laden >>> from passlib.hash import pbkdf2_sha256 >>> >>> # das passwort zum hashen >>> password = … Weiterlesen

Kein Platz mehr auf der /boot Partition in Ubuntu / Debian

Per Default ist die Boot Partition ca. 500M groß, da sich hier durch die Updates gerne alte Kernel ansammeln ist es ratsam zwischendurch aufzuräumen. Beispiel einer abgebrochenen Installation, Meldung ist „No space left on device“ linux-image-4.4.0-116-generic (4.4.0-116.140) wird eingerichtet … Running depmod. update-initramfs: deferring update (hook will be called later) The link /initrd.img is a … Weiterlesen

Fast rsync over ssh

I have found a nice help for fast rsync transfers over ssh. You can reach 40MB/s on gigabit network, depends on disk speed, SSD are faster. rsync -aHAXxv –numeric-ids –delete –progress -e „ssh -T -c arcfour -o Compression=no -x“ user@<source>:<source_dir> <dest_dir> More details & source: https://gist.github.com/KartikTalwar/4393116

Outlook 2016 issues with many mailboxes and many folders

I had a huge problem at one of my clients. He has an Exchange 2016 CU8 with Windows 10 Clients and Outlook 2016 Build 8829 click-to-run. The customer has in total 20 mailboxes and all coworkers (5) in most cases have full access to each other. Some of the users have a big folder structure … Weiterlesen

KeeWeb: Self-hosted password manager with apache2

Add Authentication First of all you’ll need to setup a .htpasswd file. To do so type in the following: sudo htpasswd -c /etc/apache2/.htpasswd username To use the authentication you can add the following to your VHost configuration: <Location „/“> AuthType „Basic“ AuthName „KeeWeb“ AuthBasicProvider file AuthUserFile „/etc/apache2/.htpasswd“ Require valid-user </Location> Setup WebDAV WebDAV is needed … Weiterlesen

Ansible: Template Engine nutzen um Cisco Konfigurationen zu erzeugen

Ansible verwendet als Template Engine Jinja2. Als Beispiel wird für einen Switch die Radius Konfiguration erzeugt. Man kann direkt vom Template aus die Konfiguration auf ein Gerät fallen lassen oder so wie in diesem Fall einfach als File speichern. Eine ausführliche Anleitung was man alles mit der Jinja2 Template Engine machen kann ist unter http://jinja.pocoo.org/docs/2.10/ zu … Weiterlesen

Ansible: CLI Kommandos auf Cisco Devices ausführen und Ausgaben speichern

Beispiel Playbook exec_command.yaml: — – hosts: switch1 connection: local gather_facts: False vars: cli: host: „{{ inventory_hostname }}“ username: „{{ ansible_user }}“ password: „{{ ansible_ssh_pass }}“ tasks: – name: Call show inventory ios_command: commands: show inventory provider: „{{ cli }}“ register: output – name: Store output to file copy: content=“{{ output.stdout[0] }}“ dest=“out/inventory_{{ inventory_hostname }}.txt“ Mit … Weiterlesen

Ansible: Cisco Netzwerkautomatisierung mit Ansible – Erste Schritte

Ich habe kürzlich Angefangen meine ersten Gehversuche mit Ansible zu machen. Ziel ist unteranderem meine Linux Maschinen zu managen als auch Cisco Geräte. Hier meine ersten Erfahrungen mit Ansible. Was ist der Vorteil von Ansible? Opensource reichhaltiges Plugin Angebot (Ansible Galaxy) viele Artikel & Tipps im Internet, kein Nischenprodukt es ist in Python geschrieben 😉 … Weiterlesen

Performance Probleme auf einem Linux System ermitteln

Aktuell habe ich auf einem meiner virtuellen Server Probleme mit der Performance, ein Blick in top offenbart das auf einer CPU 100% Waiting ist, Hintergrund war das der Provider einen ZFS scrub auf dem Host laufen ließ was die Disk Performance in den Keller gezogen hat. Ich nehme das zum Anlass ein paar Tools zu … Weiterlesen

Defekten GRUB Bootloader reparieren

Defekten Rechner mit Knoppix oder der systemrescuecd starten, mit fdisk -l oder parted -l kann man sich alle Partitionen anzeigen lassen. Je nach Installation ist die Bootpartition einzeln z.B. bei einem LVM Setup oder in einer Partition. Um per Chroot in die Installation des Rechners zu wechseln müssen die Partitionen gemountet werden, im Beispiel befindet … Weiterlesen

Festplatte aus einem kaputten Seagate NAS System mounten – EXT4 mit 64k Blocksize mounten

Neulich hat mir ein Kunde eine kaputte Seagate NAS gebracht, eine der Disks hatte ein Problem, die NAS hat nicht mehr zuverlässig gebootet. Ich habe die Disks in meinen Linux PC eingebaut, mit mdadm –scan –assemble hat er die Software RAIDs gefunden. Auf ein Problem bin ich dann doch gestoßen, ein Linux mit Standardkernel kann … Weiterlesen

Python: Arbeiten mit YAML Files

YAML ist eine vereinfachte Auszeichnungssprache zur Datenserialisierung. Das Format ist einfach gehalten und ist eine schöne alternative zu XML, JSON usw. Ist auch ein super Format für Configfiles als alternative zu INI Files. Einfaches YAML File: variable_str: value variable_num: 33 list: – a – b – c – d dictionary: – list1: – a – … Weiterlesen

Python: Entfernen von Steuerzeichen in ASCII Strings

Bin heute wieder mal über ein Problem mit ASCII Strings gestolpert. Im String war ein CTRL+C welches als \x03 in der ASCII Tabelle ist. Ich bin auf eine Seite gestoßen welche für alle möglichen Script und Programmiersprachen Codesnippets bereitstellt um Steuerzeichen zu entfernen. ASCII Tabelle bei Wikipedia: https://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange Hier für Python: stripped = lambda s: „“.join(i … Weiterlesen