Des outils tels que MRTG fournissent des graphiques de débit / bande passante du réseau pour l'utilisation actuelle du réseau sur des interfaces spécifiques, telles que eth0. Comment puis-je renvoyer ces informations sur la ligne de commande sous Linux / UNIX?
De préférence, ce serait sans installer autre chose que ce qui est disponible sur le système en standard.
linux
networking
bandwidth
Davidmytton
la source
la source
bmon
ce qui est utile. github.com/tgraf/bmon#screenshotsRéponses:
Vous pouvez analyser la sortie de
ifconfig
la source
while true; do export `ifconfig p1p1 | grep packets | awk '{print $5, $3}' | xargs echo | sed -E -e "s/([0-9]+) ([0-9]+) ([0-9]+) ([0-9]+)/rx=\1 rxp=\2 tx=\3 txp=\4/"` ; echo $rx $rxp $tx $txp `cat /tmp/netstat` | awk '{print $1-$5, $2-$6, $3-$7, $4-$8}';echo $rx $rxp $tx $txp > /tmp/netstat; sleep 5 ;done
-bash: export:
dépassements: 0 ': pas un identifiant valide' pour moi sur RHEL6. L'analyse/sys/class/net/$dev/statistics
(voir le script perl dans @ephemient answer) fonctionne directement beaucoup mieux.iftop does for network usage what top(1) does for CPU usage
- http://www.ex-parrot.com/~pdw/iftop/Je ne sais pas à quel point iftop est "standard", mais j'ai pu l'installer avec
yum install iftop
sur Fedora.la source
iftop
peut être installé sur une installation propre Ubuntu facilement ainsi:apt-get install iftop
.pacman -S iftop
tcpdump
sortie. Merciiftop
etwireshark
, pour me permettre d'être aussi paresseux.iftop
est plus détaillée et donne des statistiques par connexion.iftop
nécessite une installation (vous ne pourrez même pas le construire sans l'libpcap
installation) et sa page d'accueil indique qu'il doit être exécuté sousroot
.Vous avez sar? Probablement oui si vous utilisez RHEL / CentOS.
Pas besoin de priv, de binaires dorky, de scripts hacky, de libpcap, etc. Win.
la source
J'ai écrit ce script stupide il y a longtemps, cela ne dépend que de Perl et Linux≥2.6:
Il lit juste de
/sys/class/net/$dev/statistics
chaque seconde et imprime les chiffres actuels et le taux moyen de changement:la source
/proc/net/dev
ou calculer les données par / seconde de base d'une manière ou d'une autre?nload est un excellent outil pour surveiller la bande passante en temps réel et facilement installé dans Ubuntu ou Debian avec sudo apt-get install nload.
Un autre excellent outil est iftop , également facilement apt-get'able:
N'oubliez pas les utilitaires classiques et puissants sar et netstat sur les anciens * nix!
la source
Vous pouvez analyser / proc / net / dev .
la source
/sys/class/net/$dev/statistics
comme dans le script d'éphémient.dstat
- Combine les informations vmstat, iostat, ifstat, netstat et plusiftop
- Utilitaire de bande passante réseau incroyable pour analyser ce qui se passe réellement sur votre ethnetio
- Mesure le débit net d'un réseau via TCP / IPinq
- Utilitaire de dépannage CLI qui affiche des informations sur le stockage, généralement Symmetrix. Par défaut, INQ renvoie le nom du périphérique, l'ID Symmetrix, le LUN Symmetrix et la capacité.send_arp
- Envoie une diffusion arp sur le périphérique réseau spécifié (par défaut eth0), rapportant un ancien et un nouveau mappage d'adresse IP à une adresse MAC.EtherApe
- est un moniteur de réseau graphique pour Unix modelé sur Etherman. Doté de la couche liaison, des modes IP et TCP, il affiche graphiquement l'activité du réseau.iptraf
- Un moniteur de trafic IP qui affiche des informations sur le trafic IP passant sur votre réseau.Plus de détails: http://felipeferreira.net/?p=1194
la source
J'ai un autre script quick'n'dirty bash pour ça:
Il considère que
sleep 1
cela durera exactement une seconde, ce qui n'est pas vrai, mais assez bon pour une évaluation approximative de la bande passante.Merci à @ephemient pour le
/sys/class/net/<interface>
! :)la source
let BWRX=($RX-$RXPREV)/1024
(même si je n'ai rien pour le tester maintenant)Outre iftop et iptraf, vérifiez également:
bwm-ng
(Moniteur de bande passante nouvelle génération)et / ou
cbm
(Mètre de bande passante couleur)réf: http://www.powercram.com/2010/01/bandwidth-monitoring-tools-for-ubuntu.html
la source
Si vous voulez juste obtenir la valeur, vous pouvez utiliser un simple shell oneliner comme ceci:
Il vous montrera la moyenne "octets reçus par seconde" pour une période de 10 secondes (vous pouvez changer la période en changeant le
S=10
paramètre, et vous pouvez mesurer le BPS transmis au lieu du BPS reçu en utilisanttx_bytes
au lieu derx_bytes
). N'oubliez pas de passereth0
au périphérique réseau que vous souhaitez surveiller.Bien sûr, vous n'êtes pas limité à l'affichage du taux moyen (comme mentionné dans d'autres réponses, il existe d'autres outils qui vous montreront une sortie beaucoup plus agréable), mais cette solution est facilement scriptable pour faire d'autres choses.
Par exemple, le script shell suivant (divisé en plusieurs lignes pour plus de lisibilité) exécutera le processus offlineimap uniquement lorsque la vitesse de transmission moyenne sur 5 minutes descend en dessous de 10 kBPS (vraisemblablement, à la fin d'un autre processus consommateur de bande passante):
Notez que
/sys/class/...
c'est spécifique à Linux (ce qui est correct car l'expéditeur a choisi lalinux
balise), et nécessite un noyau non archaïque. Le code shell lui-même est compatible avec / bin / sh (donc non seulement bash, mais dash et autres implémentations / bin / sh fonctionneront) et / bin / sh est quelque chose qui est vraiment toujours installé.la source
J'aime
iptraf
mais vous devez probablement l'installer et il semble ne plus être entretenu activement.la source
Je trouve que dstat est assez bon. Doit être installé cependant. Vous donne bien plus d'informations que nécessaire. Netstat vous donnera des tarifs de paquets mais pas de bande passante également. netstat -s
la source
Vous pouvez utiliser iperf pour évaluer les performances du réseau ( débit maximal possible ). Voir les liens suivants pour plus de détails:
http://en.wikipedia.org/wiki/Iperf
https://iperf.fr/
https://code.google.com/p/iperf/
la source
Je n'ai pas pu faire fonctionner le script d'analyse ifconfig pour moi sur une AMI, alors cela a fonctionné en mesurant le trafic reçu en moyenne sur 10 secondes
Désolé, c'est toujours si bon marché et méchant mais cela a fonctionné!
la source
Si vous voulez la sortie de (ifconfig -a) au format json, vous pouvez utiliser ceci (python)
la source