Ligne de commande: comment obtenir une bande passante instantanée sur un port

J'essaie d'obtenir l'utilisation instantanée de la bande passante de l'eth0, le port 10001. J'ai examiné l'utilisation de nombreux outils différents, mais la plupart d'entre eux semblent avoir une sortie de type ncurses qui ne convient pas pour entrer dans mon programme.

J'ai vu Comment puis-je obtenir la bande passante d'une interface à n'importe quelle seconde de la ligne de commande Linux? , Mais cela ne donne que les statistiques totales sur une interface et n'est pas ventilé par port.

Idéalement, j'aimerais qu'une commande prenne deux arguments (eth0 et port 10001), s'exécute pour 500 ms, calcule le nombre et la taille des paquets et produit une mégaoctets / seconde métrique simple.

Est-ce trop demander?

Quelqu'un a une idée?

Vous pouvez essayer d'utiliser la commande ifstat. Avec l'invocation par défaut, il affiche périodiquement l'utilisation de la bande passante jusqu'à ce que vous atteigniez Control-C mais vous pouvez l'appeler comme ceci:

ifstat <delay> <count> (ie ifstat 1 1) 

Pour que cela vous donne l'utilisation de la bande passante en une seconde et qu'il soit scriptable.