Projets

Vincent Bernat

Les projets auxquels je contribue sont hébergés sur GitHub. En voici quelques uns :

lldpd#

lldpd est un démon implémentant la norme 802.1AB. Il permet d’envoyer des trames LLDP afin de notifier aux équipements connectés à la machine des informations telles que le nom de la machine, le nom du port, les VLAN présents, etc. Il gère également la réception ce qui autorise à déterminer que la machine est branchée sur tel port de tel équipement. Parmi les fonctionnalités intéressantes de ce démon, on notera le support de SNMP ainsi que des protocoles CDP, SONMP et EDP.

Voici un exemple de sortie :

Interface:    eth0, via: LLDP, RID: 1, Time: 0 day, 00:00:33
  Chassis:
    ChassisID:    mac 00:00:00:00:00:02
    SysName:      ns-2.example.com
    SysDescr:     Spectacular GNU/Linux 2016 Linux 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64
    MgmtIP:       fe80::200:ff:fe00:2
    MgmtIface:    2
    Capability:   Bridge, off
    Capability:   Router, off
    Capability:   Wlan, off
    Capability:   Station, on
  Port:
    PortID:       mac 00:00:00:00:00:02
    PortDescr:    eth1
    TTL:          120
    PMD autoneg:  supported: no, enabled: no
    MAU oper type: 10GigBaseCX4 - X copper over 8 pair 100-Ohm balanced cable

Dashkiosk#

Dashkiosk est une solution de gestion de tableaux de bord sur plusieurs écrans. Il est divisé en quatre composants :

  • le serveur va gérer les écrans en leur indiquant quel tableau de bord afficher et en fournissant une interface d’administration,
  • le récepteur qui tourne dans un navigateur et se connecte au serveur pour savoir quel tableau de bord afficher,
  • une application Android qui permet de faire tourner le récepteur,
  • une application Chromecast qui permet de faire tourner le récepteur.

La vidéo ci-dessous démontre les capacités de Dashkiosk en quelques minutes.

Snimpy#

Snimpy est un outil Python destiné à faciliter la création d’outils simples utilisant des requêtes SNMP. Son interface est très naturelle. Voici un exemple d’utilisation :

load("IP-FORWARD-MIB")
m=M()

print "Using IP-FORWARD-MIB::ipCidrRouteTable..."
routes = m.ipCidrRouteNextHop
for x in routes:
     net, netmask, tos, src = x
     print "%15s/%-15s via %-15s src %-15s" % (net, netmask, routes[x], src)

Jetez un œil sur « Snimpy : SNMP & Python » pour plus de détails.

Partager cet article