Benutzer-Werkzeuge

Webseiten-Werkzeuge


contiki:snmp_contiki_25_install

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
contiki:snmp_contiki_25_install [2012/04/24 13:29] – [Kompilierung] sven_zehlcontiki:snmp_contiki_25_install [2017/01/24 18:49] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
-====== SNMP auf Contiki 2.5 Installation ======+====== SNMP auf Contiki 2.5 bzw. 2.6 Installation ======
  
 Eine Implementierung von SNMP auf Contiki ist bereits vorhanden, sie wurde im Rahmen einer Masterarbeit an der Jacobs University in Bremen entwickelt. Jedoch wurde diese Version für Contiki 2.4 entwickelt und ist mit dem derzeitigen Quellcode, welcher unter http://code.google.com/p/contiki-snmp/ veröffentlicht wurde, auf Contiki 2.5 nicht lauffähig. Eine Implementierung von SNMP auf Contiki ist bereits vorhanden, sie wurde im Rahmen einer Masterarbeit an der Jacobs University in Bremen entwickelt. Jedoch wurde diese Version für Contiki 2.4 entwickelt und ist mit dem derzeitigen Quellcode, welcher unter http://code.google.com/p/contiki-snmp/ veröffentlicht wurde, auf Contiki 2.5 nicht lauffähig.
 Es sind deshalb einige kleine Änderungen zur Anpassung auf Contiki 2.5 im Programcode nötig. Es sind deshalb einige kleine Änderungen zur Anpassung auf Contiki 2.5 im Programcode nötig.
 +
 +-> **Hinweis zu Contiki 2.6**: Um Contiki SNMP auf Contiki 2.6 zu installieren, sind die gleichen Schritte wie für Contiki 2.5 notwendig.
 +Der einzige Unterschied besteht darin, dass innerhalb der Datei ''snmpd.c'' in Zeile 100 der Dateityp von ''u8_t'' zu ''u8t'' abgeändert werden muss. Contiki SNMP ist dann auch auf Contiki 2.6 lauffähig. Diese Anleitung wurde ursprünglich für Contiki 2.5 geschrieben, ist aber bei Beachtung der vorher genannten Zusatzänderung auch für Contiki 2.6 anwendbar.
  
 ===== Download des SNMP-Quellcodes ===== ===== Download des SNMP-Quellcodes =====
Zeile 77: Zeile 80:
    
 Durch den anschließend Klick auf Program wird der Upload gestartet. Durch den anschließend Klick auf Program wird der Upload gestartet.
 +
 +===== Test der Implementierung (MIB-Browser) =====
 +
 +Um das Contiki 2.5 SNMP zu testen bietet sich das Programm MIB Browser (http://ireasoning.com/mibbrowser.html) an. Dazu in das Instant Contiki Gastsystem wechseln. 
 +(Die Schritte aus [[contiki:ravenrz_usb_stick_installation|AVR RavenRZ USB-Stick Installation]] abgeschlossen sein.)
 +MIB Browser starten und die Einstellungen in der folgenden Abbildung durch Klick auf Advanced vornehmen.
 +
 +{{:contiki:snmp7.png|}} 
 +
 +^Einstellung ^ Wert ^
 +|IP Adresse |aaaa::11:22ff:fe33:4455|
 +|Port |161|
 +|Read CS |public|
 +|Write CS |public|
 +|USM User |sk |
 +|Auth Password |password1|
 +|Privacy Password |password2|
 +
 +
 +Des Weiteren bei Operations auf Walk einstellen und anschließend mit Go den Verbindungsaufbau starten.
 +
 +{{:contiki:snmp8.png|}}
 +
 +Es sollten nun nach kurzer Zeit die MIB des Raven Boards angezeigt werden:
 +
 +{{:contiki:snmp9.png|}} 
 +
 +Zu Testzwecken kann nun versucht werden einen SET Befehl zu senden, 
 +beispielsweise vom MIB Object .1.3.6.1.2.1.1.11.0. 
 +Dort steht momentan noch //„Pointer to a String“//
 +Durch einen Klick mit der rechten Maustaste und der Auswahl 
 +SET gelangt man zu Möglichkeit einen SET Befehl zu senden.
 +
 +{{:contiki:snmp10.png|}}
 + 
 +Durch Bestätigung auf Ok und einen erneuten SNMP Walk ist 
 +die erfolgreiche Ausführung des SET Befehls zu sehen.
 +
 +{{:contiki:snmp11.png|}}
 + 
 +
 +===== Test der Implementierung (netsnmp) =====
 +
 +Die kostenlose Version des MIB-Browsers unterstützt nur SNMPv1.
 +Für den Test von SNMPv3 kann auf die [[http://www.net-snmp.org/|Net-SNMP]] 
 +Kommandozeilen-Tools von zurückgegriffen werden:
 +
 +Abfrage der Systembeschreibung:
 +<code>
 +# snmpget -v3 -c public -u sk -l authPriv -a md5 -A password1 -x aes -X password2 udp6:[aaaa::11:22ff:fe33:4455] iso.3.6.1.2.1.1.1.0
 +</code>
 +
 +Abfrage der Zeit seit dem Systemstart (uptime)
 +<code>
 +# snmpget -v3 -c public -u sk -l authPriv -a md5 -A password1 -x aes -X password2 udp6:[aaaa::11:22ff:fe33:4455] iso.3.6.1.2.1.1.3.0
 +</code>
 +
 +Abfrage des Schaltzustands der Funksteckdose
 +<code>
 +# snmpget -v3 -c public -u sk -l authPriv -a md5 -A password1 -x aes -X password2 udp6:[aaaa::11:22ff:fe33:4455] iso.3.6.1.4.1.22109.100.600.1.0
 +</code>
 +
 +Abfrage des Schaltzustands der Funksteckdose
 +<code>
 +# snmpset -v3 -c public -u sk -l authPriv -a md5 -A password1 -x aes -X password2 udp6:[aaaa::11:22ff:fe33:4455] iso.3.6.1.4.1.22109.100.600.1.0 i 1
 +</code>
 +
 +Abfrage der Funkempfangsstärke in dBm
 +<code>
 +# snmpget -v3 -c public -u sk -l authPriv -a md5 -A password1 -x aes -X password2 udp6:[aaaa::11:22ff:fe33:4455] iso.3.6.1.4.1.22109.100.600.2.0
 +</code>
 +    
 +Abfrage der Gerätetemperatur in Grad Celsius
 +<code>
 +# snmpget -v3 -c public -u sk -l authPriv -a md5 -A password1 -x aes -X password2 udp6:[aaaa::11:22ff:fe33:4455] iso.3.6.1.4.1.22109.100.600.3.0
 +</code>
 +
 +
 +===== Konfigurationsmöglichkeiten des SNMP Agents =====
 +
 +
 +Zur Anpassung der Einstellungen des SNMP Agents, muss der Quellcode geändert werden und neu kompiliert werden.
 +
 +==== Sicherheitseinstellungen ändern ====
 +
 +
 +=== SNMPv1 ===
 +
 +Der Communitystring kann in der der Datei snmpd-conf.h in Zeile 50 konfiguriert werden, er ist standardmäßig auf „public“ eingestellt.
 +
 +=== SNMPv3 ===
 +
 +== Username: ==
 +
 +Der USM Username kann in der Datei snmpd-conf.c in Zeile 30 konfiguriert werden, er ist standardmäßig auf den Namen „sk“ (Siarhei Kuryla, Programmierer des SNMP Agents) eingestellt.
 +
 +== Authentification Password: ==
 +
 +Das Authentification Password kann in der Datei keytools.c in Zeile 28 angepasst werden, es ist jedoch notwendig das gewünschte Passwort mit dem Keygenerator zu generieren.
 +
 +== Privacy Password: ==
 +
 +Das Privacy Password kann in der Datei keytools.c in Zeile 30 angepasst werden, es ist jedoch notwendig das gewünschte Passwort mit dem Keygenerator zu generieren.
 +
 +== Keygenerator: ==
 +
 +Um den Keygenerator welcher im SVN Verzeichnis unter keygen zu finden ist, zu kompilieren, sind einige kleine Quellcodeänderungen notwendig. Damit überhaupt kompiliert werden kann, müssen die Variablen  ENABLE_SNMPv3 und ENABLE_AUTH in der Datei md5.c gesetzt werden. (Oder die #if und #endif Abfrage wird im Code entfernt) 
 +Um eine Ausgabe zu Erzeugen welche es ermöglicht den generierten Hash-Wert direkt in die Datei keytools.c zu kopieren, kann eine printf()-Ausgabe hinzugefügt werden.
 +(siehe [[contiki:snmp_keygen_source|]] letzte Quellcodezeile)
 +
 +
 +Danach kann mit 
 +<code>
 +make 
 +</code>
 +kompiliert werden und anschließend mit dem Befehl
 +<code>
 +./keygen <password>
 +</code>
 +Der Hash-Wert des Passworts generiert werden.
 +
 +
  
contiki/snmp_contiki_25_install.1335274151.txt.gz · Zuletzt geändert: 2017/01/24 18:49 (Externe Bearbeitung)