Para responder à sua pergunta, devo dizer que, tanto quanto me lembro, o FreeBSD - e também o macOS - nunca exibiu RX / TX Packets como uma saída do comando ifconfig
. Mas se você disser que estava disponível em 7.xe 8.x, devo dizer que pelo menos em 10 e 11 não é, talvez eu não tenha percebido a hora para 7.x 8.x. De fato, Distribuições Linux incluindo derivados RHEL (RHEL, Fedora, CentOS, Scientific, etc.), sistemas operacionais baseados em Debian (Ubuntu, Debian Jessie, etc.) e a maioria das outras distribuições mostram pacotes RX / TX via ifconfig
, mas FreeBSD e macOS não o fazem. Muitos dos comandos do FreeBSD não têm nada a ver com comandos no Linux, muitos deles são chamados da mesma maneira, mas na verdade, agem de forma diferente em muitos casos. Enquanto isso, o seu struct if_data
não parece muito familiar - e correto - para mim, eu recomendo que você dê uma olhada em <net/if.h>
. Em outras palavras, exclua seu if_data
e tente incluir o cabeçalho preciso.
De qualquer forma, para exibir o número de bytes de entrada / saída no FreeBSD, você deve usar netstat
. O seguinte comando funciona bem no FreeBSD e no macOS:
netstat -idb [interface]
-i : interface
-d : show the number of dropped packets
-b : show the number of packets in and out
Você também pode usar -B se precisar. Ele mostra estatísticas sobre o peer bpf (). Isso inclui informações como quantos pacotes foram correspondidos, descartados e recebidos pelo dispositivo he bpf, também informações sobre o tamanho atual do buffer e as estatísticas do dispositivo.
A propósito, para monitorar o tráfego de rede, você tem outra opção que eu recomendo. Você pode usar systat
com a opção -ifstat
para obter taxa de transferência de tráfego, pico e total de suas interfaces:
systat -ifstat