Teoricamente isso está correto. No entanto, usar o ifconfig para recuperar os números relevantes é uma maneira muito indireta de conseguir isso. Você estaria muito melhor usando o SNMP. Todas as interfaces possuem entradas nos MIBs SNMP padrão, que os descrevem e também sua velocidade de conexão atual, além de todos os tipos de contadores relevantes.
O SNMP está disponível através de pacotes padrão em todas as distribuições do linux que eu conheço, e você pode usar ferramentas como snmpwalk ou snmpget (se você quiser recuperar os dados) ou MRTG ou cactos (se você quiser representar graficamente os dados) ). Especialmente os cactos permitirão aplicar fórmulas (fórmulas?) Aos seus dados, e deve ser fácil obter um gráfico de porcentagem disso.