Je sais que c'est une question vieille d'un an, mais c'est la première sur Google, alors je peux peut-être y ajouter 5 cents.
D'abord, je n'étais pas au courant de cette règle mod 8 sur le champ frame ... Est-ce une règle de pilote ou une règle de noyau?
Dans la petite expérience que j'ai, ces chiffres sont assez génériques et plus d'informations peuvent être obtenues auprès de ethtool
(si le pilote le prend en charge) ex: c'est de la watch
commande.
Every 1s: ethtool -S eth1 | grep rx_ && echo && ifconfig eth1 1970-01-01 00:21:07
rx_octets: 12635134290
rx_frames: 8488675
rx_broadcast_frames: 103
rx_multicast_frames: 0
rx_pause_frames: 0
rx_64_byte_frames: 113
rx_65_127_byte_frames: 47
rx_128_255_byte_frames: 186340
rx_256_511_byte_frames: 1
rx_512_1023_byte_frames: 0
rx_1024_1518_byte_frames: 8302174
rx_greater_than_1518_byte_frames: 0
rx_undersized_frames: 0
rx_oversize_frames: 0
rx_jabbers: 0
rx_frame_check_sequence_errors: 0
rx_length_field_frame_errors: 0
rx_symbol_errors: 0
rx_alignment_errors: 0
rx_resource_errors: 283
rx_overruns: 132
rx_ip_header_checksum_errors: 0
rx_tcp_checksum_errors: 0
rx_udp_checksum_errors: 0
eth1 Link encap:Ethernet HWaddr AA:BB:CC:DD:20:16
inet addr:192.168.0.10 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::a8bb:ccff:fedd:2016/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:8488675 errors:415 dropped:4 overruns:132 frame:283
TX packets:647464 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3892403548 (3.6 GiB) TX bytes:62273943 (59.3 MiB)
Interrupt:147 Base address:0xc000
Selon le pilote, il y aura différents champs dans ethtool
et les
ifconfig
champs peuvent également pointer vers des cadres sous-dimensionnés / surdimensionnés.
Si votre carte réseau et votre pilote le prennent en charge, vous pouvez (ou devriez) faire ex:
ifdown eth1 && modprobe -r macb && modprobe macb && ifup eth1 && ethtool -offload eth1 rx off tx off && ethtool -K eth1 gso off && ethtool --show-offload eth1
afin d'obtenir plus d'informations (activez l'affichage des informations dans ethtool). J'utilise le pilote macb ici ... alors vérifiez ethtool
votre pilote.
ethtool -i eth1
C'est ce qui m'aide à comprendre généralement ce qui se passe.
Parfois, il n'y a pas d'erreurs mais les paquets sont corrompus ... alors c'est plus un problème PHYsical ou de pilote ... et parfois les renifleurs montrent que tout est correct mais il y a un problème après qu'il arrive au pilote / noyau (c'est le cas ci-dessus) réellement).
Vous pouvez en obtenir d'autres netstat -s
, ou si vous les mettez dans un script (pour les petits systèmes embarqués):
awk '(f==0) { i=1; while ( i<=NF) {n[i] = $i; i++ }; f=1; next} (f==1){ i=2; while ( i<=NF){ printf "%s = %d\n", n[i], $i; i++}; f=0}' /proc/net/netstat
car netstat -s
pourrait ne pas être disponible.