Estou executando o UbuntuLinuxv18, e esta é a informação que ifconfig
produz sobre minha NIC:
$ ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.123 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::4a75:bbe4:742d:d77b prefixlen 64 scopeid 0x20<link>
ether b8:27:eb:55:c7:9f txqueuelen 1000 (Ethernet)
RX packets 2443063 bytes 868405621 (828.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2343559 bytes 1022562153 (975.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Alguns sistemas (ou seja: Linux embarcado em roteadores)reportar apenas pacotes RX/TX, mas não mostra bytes RX/TX.
Existe alguma maneira nos sistemas operacionais Linux deobter bytes RX/TX dados pacotes RX/TX?
Acho que algumas perguntas correlacionadas seriam:
- Essa equivalência é sempre a mesma (ou seja: fator 1024)?
- Essa equivalência muda durante a execução (dinâmica)?
- Esta equivalência depende do sistema operacional? Ou talvez dependente de NIC?
- Existe alguma equivalência?
Responder1
Não há equivalência, os pacotes variam em tamanho dependendo do seu conteúdo. Você só pode obter tamanhos mínimos e máximos; por exemplo, os quadros Ethernet podem ocupar entre 72 e 1530 octetos (ignorando os quadros jumbo), portantonpacotes em uma interface Ethernet representam algo entre 72 ×ne 1530 ×nbytes transmitidos.
O ifconfig
comando no seu roteador pode não mostrar as contagens de bytes, mas se o seu roteador rodar Linux, essas contagens serão rastreadas; comoMosvycomentado, você poderá vê-los usando
ip -s link show eth0
ou
head /sys/class/net/eth0/statistics/*_bytes