Interpretando estatísticas do netstat -s

2

Estou executando o netstat -s na minha caixa do Ubuntu em casa para obter estatísticas da interface de rede. Há um monte de números impressos, como este:

Ip:
    10256 total packets received
    8 with invalid addresses
    0 forwarded
    0 incoming packets discarded
    10247 incoming packets delivered
    8918 requests sent out
    63 dropped because of missing route
Icmp:
    0 ICMP messages received
    0 input ICMP message failed.
    ICMP input histogram:
    55 ICMP messages sent
    0 ICMP messages failed
    ICMP output histogram:
        destination unreachable: 55
IcmpMsg:
        OutType3: 55
Tcp:
    378 active connections openings
    0 passive connection openings
    5 failed connection attempts
    17 connection resets received
    30 connections established
    8478 segments received
    8223 segments send out
    26 segments retransmited
    0 bad segments received.
    33 resets sent
Udp:
    911 packets received
    55 packets to unknown port received.
    0 packet receive errors
    893 packets sent
UdpLite:
TcpExt:
    85 TCP sockets finished time wait in fast timer
    182 delayed acks sent
    Quick ack mode was activated 11 times
    16 packets directly queued to recvmsg prequeue.
    22002 bytes directly received in process context from prequeue
    5397 packet headers predicted
    11 packets header predicted and directly queued to user
    922 acknowledgments not containing data payload received
    477 predicted acknowledgments
    2 congestion windows recovered without slow start by DSACK
    16 congestion windows recovered without slow start after partial ack
    24 other TCP timeouts
    11 DSACKs sent for old packets
    11 DSACKs received
    8 connections reset due to unexpected data
    7 connections reset due to early user close
    TCPDSACKIgnoredNoUndo: 1
    TCPSackShiftFallback: 18
    IPReversePathFilter: 1
IpExt:
    InMcastPkts: 65
    OutMcastPkts: 21
    InBcastPkts: 836
    InOctets: 8228049
    OutOctets: 1814741
    InMcastOctets: 13209
    OutMcastOctets: 4122
    InBcastOctets: 102775

Existe alguma maneira de determinar o período de tempo durante o qual essas estatísticas foram coletadas?

    
por James Thompson 26.07.2012 / 18:59

1 resposta

1

Olhando o código-fonte relevante do netstat ou usando strace -e open netstat -s , pode-se ver que as informações acima são obtidas de /proc/net/snmp e /proc/net/netstat . Esta informação proc-fs é preenchida pela pilha de rede Linux e inicializada em net / ipv4 / proc.c . Esta parte do kernel, se ativada, inicia sua funcionalidade quando o kernel é inicializado.

Já que você não especificou a exatidão da resposta que está procurando, e para encurtar a história, eu suponho que você esteja feliz o suficiente com isso:

uptime

Você também pode obtê-lo em segundos de resolução usando algo nos seguintes termos:

set -- $(grep btime /proc/stat) && btime = $2
bc -l < <(printf "%s - %s\n" "$(date +%s)" "$btime")
    
por 24.11.2012 / 00:49