Comment réinitialiser les compteurs ifconfig?

16

Quand je cours, ifconfig eth0voir les lignes suivantes:

eth0      Link encap:Ethernet  HWaddr 08:00:27:42:81:a7  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe42:81a7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:66 errors:0 dropped:0 overruns:0 frame:0
          TX packets:212 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:8001 (8.0 KB)  TX bytes:34004 (34.0 KB)

Comment puis-je réinitialiser ces compteurs, en particulier les paquets RX / TX ?

bizarre
la source
1
Bien que vous ne souhaitiez pas le faire, il convient de noter que vous pouvez également simplement redémarrer votre ordinateur. :)
Vreality
6
Oui, vous pouvez réinitialiser les compteurs en redémarrant votre ordinateur, mais est-ce un bon choix? Est-il confortable de fermer tous les programmes et de redémarrer l'ordinateur pour simplement réinitialiser certains compteurs? Vous suggérez Restart Engineering mec, ce n'est pas une solution.
SuB

Réponses:

10

Ces compteurs sont conservés par le noyau, donc votre réponse dépend de la façon dont votre pilote de carte réseau est construit. Deux choix possibles:

  1. Module noyau
  2. À l'intérieur du noyau

Si c'est le deuxième, vous ne pouvez pas réinitialiser les compteurs sans redémarrer le système d'exploitation. Si c'est le premier, vous pouvez le faire en déchargeant le module du noyau puis en le rechargeant. Si votre carte NIC utilise le module e1000 , utilisez les commandes suivantes:

$ ifconfig eth0 down
$ modprobe -r e1000
$ modprobe e1000
$ ifconfig eth0 up

Utilisez ethtoolpour connaître votre module NIC:

$ ethtool -i eth0

Devant le pilote, vous voyez le nom de votre module:

driver: e1000
version: 7.3.21-k8-NAPI
firmware-version: 
...

Utilisez apt-getpour installer ethtoolcomme suit:

$ apt-get install ethtool
Sous
la source
modprobe -rdécharge le pilote du noyau (ce qui pourrait vous laisser sans méthode d'accès à la machine), donc si vous faites cela à distance, je vous conseillerais simplement de redémarrer à la place.
Score_Under
@Score_Under: Une meilleure solution pour l'accès à distance consiste à écrire ces commandes dans un fichier de script bash puis à l'exécuter avec nohup, c'est-à-dire:nohup bash restart_counters_script.sh
SuB
Savez-vous comment puis-je faire cela avec l'interface de bouclage? Aussi: est-il possible de simplement dissocier / lier le pilote sans supprimer le module du noyau?
Pablo Bianchi