Ich dachte über die Logik nach, die / 22 oder / 23 in / 24 Einheiten unterteilt, indem der IP-Bereich in Python angegeben wird.

Als ich das Seminar "Fully Automatic Zabbix" auf der OSC2015 in Tokio / Frühjahr hörte, dauerte es lange, bis NetArc Discovery in einem breiten Spektrum registriert war. Daher hörte ich, dass es besser ist, sich separat zu registrieren ... Aber "Es ist mühsam, die Reichweite zu berechnen und zu teilen" ... Nachdem ich Python studiert hatte, dachte ich über die Logik nach, / 22 oder / 23 durch Angabe des IP-Bereichs in 24 Einheiten zu unterteilen.

Es ist die Logik, die IP zu teilen. Da dies ein Logiktest ist, sind Variablennamen angemessen. (Ausrede) Es ist chaotisch-A (^ _ ^;

import sys

io = sys.argv[1]

tmp = io.split("/")

ip     = tmp[0]
prefix = tmp[1]

tmp = ip.split(".")
o1 = tmp[0]
o2 = tmp[1]
o3 = tmp[2]
o4 = tmp[3]

sum = (int(o1) << 24 | int(o2) << 16 | int(o3) << 8 | int(o4) ) & 0xFFFFFF00
sum = sum >> (32-int(prefix))
sum = sum << (32-int(prefix))

for i in range(0, 2 << (24 - int(prefix) - 1)):
    a = sum | i<<8
    o1 = (a & 0xFF000000) >> 24
    o2 = (a & 0x00FF0000) >> 16
    o3 = (a & 0x0000FF00) >> 8
    o4 = 0

    a = str(o1) + "." + str(o2) + "." + str(o3) + "." + str(o4) + "/24"

    print a

Ausführungsergebnis adc61fa5e5778d323d28c90526a81b6e.png

Python unter Windows ... A (^ _ ^;

Danach können Sie die geteilte IP mit der Zabbix API registrieren ...

Das Ausführen der Zabbix-API in Python ist mit dem folgenden Artikel einfach. [Berühren Sie die ZABBIX-API mit Pyhton](http://www.zumwalt.info/blog/2012/11/pyhton%E3%81%A7zabbix-api%E3%82%92%E8%A7%A6%E3 % 81% A3% E3% 81% A6% E3% 81% BF% E3% 82% 8B /)

Wie im Artikel erwähnt, habe ich zuerst auch Pycurl verwendet, aber auf urllib2 umgestellt. A (^ _ ^;

Bei Verwendung der Zabbix-API in Python ist es praktisch, xxx.json für die Anforderung zu erstellen. Wenn Sie die Datei mit json.load lesen, die Authentifizierung von Parametern durch verschiedene Parameter ersetzen und auslösen, müssen Sie nicht alle Anforderungen im Programm als Entschuldigung schreiben, was praktisch ist.

Recommended Posts

Ich dachte über die Logik nach, die / 22 oder / 23 in / 24 Einheiten unterteilt, indem der IP-Bereich in Python angegeben wird.
Makro (VBA), das die Bereichsauswahl in Excel in Python-Listeninitialisierungscode konvertiert
Informationen zu netaddr, das IP-Adresse, CIDR usw. in Python verarbeitet
Über "für _ in range ():" von Python
Ich dachte, ich hätte die pyc-Datei kürzlich nicht gesehen, aber sie wurde von python3 in pycache isoliert
[Python] Verwendung der for-Anweisung. Eine Methode zum Extrahieren durch Angabe eines Bereichs oder von Bedingungen.
Ich habe die Bewegung Python3 ausprobiert, die die Richtung im Koordinatensystem ändert
Ich habe versucht, den Prozess mit Python zu studieren
Ich habe die Warteschlange in Python geschrieben
Ich habe den Stack in Python geschrieben
Sortieren durch Angabe einer Spalte im Python Numpy-Array.
Nehmen Sie die logische Summe von List in Python (Zip-Funktion)
Lesen Sie die Datei Zeile für Zeile mit Python
Lesen Sie die Datei Zeile für Zeile mit Python
Sprechen Sie über die Funktionen, für die Pandas und ich im Projekt verantwortlich waren
Teilt die Zeichenfolge durch die angegebene Anzahl von Zeichen. In Ruby und Python.
Beachten Sie, dass ich den Algorithmus der kleinsten Quadrate verstehe. Und ich habe es in Python geschrieben.
Ich habe in Python ein Tool erstellt, das mit der rechten Maustaste auf eine Excel-Datei klickt und diese für jedes Blatt in Dateien unterteilt.