GNU/Linux >> Linux Esercitazione >  >> Linux

alternativa a netstat -s

NETSTAT è considerato deprecato al giorno d'oggi e altri programmi inclusi nei net-tools come arp, ifconfig, iptunnel, nameif, netstat , e percorso.

La funzionalità fornita da molte di queste utilità è stata riprodotta e migliorata nel nuovo iproute2 suite, principalmente utilizzando il suo nuovo ip comando.

Esempi di comandi deprecati e relative sostituzioni:

  • arpip n (ip neighbor )
  • ifconfigip a (ip addr ), ip link , ip -s (ip -stats )
  • iptunnelip tunnel
  • iwconfigiw
  • nameifip link , ifrename
  • netstat ss , ip route (per netstat -r ), ip -s link (per netstat -i ), ip maddr (per netstat -g )

Il netstat Il comando legge vari file /proc per raccogliere informazioni. Tuttavia questo approccio diventa debole quando ci sono molte connessioni da visualizzare. Questo lo rende più lento. Il ss comando ottiene le sue informazioni direttamente dallo spazio del kernel. Le opzioni utilizzate con ss i comandi sono molto simili a netstat rendendolo un facile sostituto.

Statistiche fornite da ss sono superficiali ma è considerata l'alternativa migliore a netstat

Esempi

ss | less  # get all connections
ss -t      # get tcp connections not in listen mode (server programs)
ss -u      # get udp connections not in listen mode
ss -x      # get unix socket pipe connections
ss -ta     # get all tcp connections
ss -au     # get all udp connections
ss -nt     # all tcp without host name
ss -ltn    # listening tcp without host resolution
ss -ltp    # listening tcp with PID and name
ss -s      # prints statstics
ss -tn -o  # tcp connection with domain host and show keepalive timer
ss -tl4    # ip4 connections 

netstat è stato effettivamente deprecato da molte distribuzioni, anche se in realtà è molto del pacchetto "net-tools" (incluso ifconfig , route e arp ) che è stato deprecato a favore del pacchetto "iproute2". iproute2 si è evoluto insieme alle più recenti funzionalità di rete di Linux, mentre le utility tradizionali no.

L'equivalente iproute2 che vuoi è il poco conosciuto nstat , questo fornisce il netstat -s contatori, anche se in una forma leggermente diversa:

  • nomi di contatori grezzi da /proc vengono utilizzati, ciascuno preceduto dalla propria classe ("Udp", "Tcp", "TcpExt" ecc.)

  • le descrizioni lunghe (e possibilmente localizzate) di netstat non sono disponibili

  • contatori a valore zero omessi per impostazione predefinita

  • utilizzando un output colonnare coerente con il nome e il valore nella prima e nella seconda colonna

  • la terza colonna mostra la media in un intervallo di tempo configurabile se hai avviato un nstat in background (-d modalità demone), o 0.0 in caso contrario

    per esempio. nstat stampa "UdpInDatagrams NNN" non "Udp:InDatagrams" e non la versione dettagliata netstat di "Udp:NNN packets received".

nstat presuppone anche che tu voglia numeri incrementali piuttosto che assoluti, quindi l'equivalente più vicino a netstat -s è /sbin/nstat -asz dove le opzioni sono -a usa contatori assoluti, -s non conservare il file della cronologia, -z non omettere i contatori con valore zero.

ss prende il controllo delle parti "socket" di netstat , ma non la sua funzione completa come hai scoperto. (ss è effettivamente migliore di netstat in molti casi, due specifiche sono la possibilità di utilizzare espressioni di filtro e la capacità facoltativa di utilizzare il tcp_diag e inet_diag Moduli del kernel Linux per accedere ai dati del socket del kernel più direttamente che tramite /proc .)

Se hai bisogno di confermare la mappatura per i nomi descrittivi, la fonte net-tools è il riferimento definitivo:http://sourcecodebrowser.com/net-tools/1.60/statistics_8c_source.html

Doug Vitale fornisce un'utile guida per trovare gli equivalenti iproute2 dei vecchi comandi (non è mantenuta e leggermente incompleta, omette qualsiasi riferimento a nstat che fa parte del pacchetto iproute2 almeno dal kernel 2.6.x del 2004).

net-tools continua comunque a vivere e dovresti essere in grado di trovare un pacchetto per la tua distribuzione (o compilarlo tu stesso).


Potresti voler controllare il contenuto di /proc/net/netstat :

TcpExt: SyncookiesSent SyncookiesRecv SyncookiesFailed EmbryonicRsts PruneCalled RcvPruned OfoPruned OutOfWindowIcmps LockDroppedIcmps ArpFilter TW TWRecycled TWKilled PAWSPassive PAWSActive PAWSEstab DelayedACKs DelayedACKLocked DelayedACKLost ListenOverflows ListenDrops TCPPrequeued TCPDirectCopyFromBacklog TCPDirectCopyFromPrequeue TCPPrequeueDropped TCPHPHits TCPHPHitsToUser TCPPureAcks TCPHPAcks TCPRenoRecovery TCPSackRecovery TCPSACKReneging TCPFACKReorder TCPSACKReorder TCPRenoReorder TCPTSReorder TCPFullUndo TCPPartialUndo TCPDSACKUndo TCPLossUndo TCPLostRetransmit TCPRenoFailures TCPSackFailures TCPLossFailures TCPFastRetrans TCPForwardRetrans TCPSlowStartRetrans TCPTimeouts TCPLossProbes TCPLossProbeRecovery TCPRenoRecoveryFail TCPSackRecoveryFail TCPSchedulerFailed TCPRcvCollapsed TCPDSACKOldSent TCPDSACKOfoSent TCPDSACKRecv TCPDSACKOfoRecv TCPAbortOnData TCPAbortOnClose TCPAbortOnMemory TCPAbortOnTimeout TCPAbortOnLinger TCPAbortFailed TCPMemoryPressures TCPSACKDiscard TCPDSACKIgnoredOld TCPDSACKIgnoredNoUndo TCPSpuriousRTOs TCPMD5NotFound TCPMD5Unexpected TCPSackShifted TCPSackMerged TCPSackShiftFallback TCPBacklogDrop TCPMinTTLDrop TCPDeferAcceptDrop IPReversePathFilter TCPTimeWaitOverflow TCPReqQFullDoCookies TCPReqQFullDrop TCPRetransFail TCPRcvCoalesce TCPOFOQueue TCPOFODrop TCPOFOMerge TCPChallengeACK TCPSYNChallenge TCPFastOpenActive TCPFastOpenPassive TCPFastOpenPassiveFail TCPFastOpenListenOverflow TCPFastOpenCookieReqd TCPSpuriousRtxHostQueues BusyPollRxPackets
TcpExt: 0 0 3310 41566 0 0 0 8 0 0 6402271 0 0 0 0 55 4280514 134510 38423 0 611 15354484 20413302 794718685 0 14094957 6423168 25905597 17269587 4 23681 29 50 20 0 25 43 25 19211 1800 131 0 93 93 25430 4864 18099 1199566 2300620 1280201 0 279 0 0 38507 607 2359841 19 98943 1769 0 5993 0 0 0 3 65 1310588 380 0 0 0 0 613504 190 0 12056356 0 0 0 0 3 735740 43633 0 606 3933 193 0 24 0 0 0 14 0
IpExt: InNoRoutes InTruncatedPkts InMcastPkts OutMcastPkts InBcastPkts OutBcastPkts InOctets OutOctets InMcastOctets OutMcastOctets InBcastOctets OutBcastOctets InCsumErrors InNoECTPkts InECT1Pkts InECT0Pkts InCEPkts
IpExt: 0 0 50492 0 18482301 0 68850196397 26546692767 3029352 0 2305454225 0 0 457718114 36 19480 2472

Non è il formato più amichevole, ma rende l'idea.

Non sono sicuro che contenga effettivamente gli elementi specifici che stai cercando, ma potrebbero essere disponibili altrove in /proc/net .


Linux
  1. Esempi di comandi netstat in Linux

  2. Alternativa al ping

  3. Leggera alternativa GNU readline

  4. Alternativa a `memory.size()` di R in Linux?

  5. Alternativa X11 leggera disponibile?

alternativa all'abbonamento redhat | Repo locale

Le migliori distribuzioni Linux alternative a Windows XP

comando netstat di Linux

UNIX / Linux:10 esempi di comandi Netstat

netstat:comando non trovato

AppFlowy:un'alternativa open source a Notion