Obtención de notificaciones sobre eventos de “cable Ethernet conectado” en Linux

Estoy escribiendo una aplicación Python que se ejecuta en Linux. Quiero poder registrarme y ser notificado por el sistema si un cable de red está conectado / desconectado .

Ya estoy usando pyUdev (enlaces de python para libUdev) para recibir notificaciones de eventos de conexión USB. Sin embargo, como el módulo eth0 de la red (por ejemplo) siempre permanece cargado (independientemente del cable que se esté enchufando), no obtengo la información que necesito. Solo funciona para eventos arriba / abajo.

He leído muchas publicaciones en Windows WMI que proporcionan esta funcionalidad pero ninguna en Linux. ¿Estoy mirando en la dirección correcta?

Una forma de Python de hacer esto (una biblioteca de Python) sería ideal, ya que quiero integrarlo con mi progtwig.

    Hay muchas formas de obtener el estado “UP” de una interfaz de red a través de un sondeo, desde el simple análisis de la salida de ifconfig hasta la lectura del estado de los pseudo-archivos / proc / net / …

    Sin embargo, para una forma de ser notificado (es decir, no encuestarse) para tales eventos, su mejor opción en Ubuntu es usar el paquete netplug . No está instalado de forma predeterminada, necesita: sudo apt-get install netplug

    Algunos documentos están aquí: http://manpages.ubuntu.com/manpages/lucid/man8/netplugd.8.html

    Para configurarlo, debe modificar los scripts /etc/netplug/netplugd.conf y / etc / netplug / netplug. Para ver un ejemplo de esos archivos de configuración, consulte la sección “Configuración de netplug” en http://natisbad.org/dyn-net/index.html

    Con / etc / netplug / netplug puede tener su propio script de Python cuando la red se reduzca / suba, para que pueda generar su tipo de evento para su aplicación.

    ¿Ha examinado el comando netplugd? No estoy seguro de que exista una envoltura de python, pero no debería ser difícil analizar la salida.