GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Alternative zu netstat -s

NETSTAT gilt heutzutage als veraltet und andere in den Net-Tools enthaltene Programme wie arp, ifconfig, iptunnel, nameif, netstat , und Route.

Die von mehreren dieser Dienstprogramme bereitgestellte Funktionalität wurde im neuen iproute2 reproduziert und verbessert Suite, hauptsächlich durch die Verwendung ihres neuen ip Befehl.

Beispiele für veraltete Befehle und ihre Ersetzungen:

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

Der netstat Der Befehl liest verschiedene /proc-Dateien, um Informationen zu sammeln. Dieser Ansatz ist jedoch schwach, wenn viele Verbindungen anzuzeigen sind. Dadurch wird es langsamer. Der ss Der Befehl erhält seine Informationen direkt aus dem Kernel-Space. Die mit ss verwendeten Optionen Befehle sind netstat sehr ähnlich, was es zu einem einfachen Ersatz macht.

Statistiken bereitgestellt von ss sind oberflächlich aber es gilt als die bessere Alternative bis netstat

Beispiele

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 wurde tatsächlich von vielen Distributionen als veraltet markiert, obwohl es wirklich ein Großteil des "net-tools"-Pakets ist (einschließlich ifconfig , route und arp ), das zugunsten des Pakets „iproute2“ verworfen wurde. iproute2 hat sich zusammen mit den neuesten Linux-Netzwerkfunktionen weiterentwickelt, die traditionellen Dienstprogramme nicht.

Das gewünschte iproute2-Äquivalent ist das wenig bekannte nstat , liefert dies den netstat -s Zähler, wenn auch in etwas anderer Form:

  • Rohzählernamen aus /proc verwendet, denen jeweils ihre Klasse vorangestellt ist ("Udp", "Tcp", "TcpExt" usw.)

  • Die langen (und möglicherweise lokalisierten) Beschreibungen von netstat sind nicht verfügbar

  • Nullwert-Zähler werden standardmäßig weggelassen

  • konsistente spaltenweise Ausgabe mit Name und Wert in der ersten und zweiten Spalte verwenden

  • Die dritte Spalte zeigt den Durchschnitt über ein konfigurierbares Zeitfenster, wenn Sie eine Hintergrund-nstat gestartet haben (-d Daemon-Modus) oder 0.0, wenn nicht

    z.B. nstat gibt "UdpInDatagrams NNN" aus, nicht "Udp:InDatagrams", und nicht die ausführliche netstat-Version von "Udp:NNN packets Received".

nstat geht auch davon aus, dass Sie inkrementelle statt absolute Zahlen wünschen, also das nächste Äquivalent zu netstat -s ist /sbin/nstat -asz wobei die Optionen -a sind Verwenden Sie absolute Zähler, -s Verlaufsdatei nicht behalten, -z Lassen Sie keine Nullwertzähler weg.

ss übernimmt die "socket"-Teile von netstat , aber nicht seine vollständige Funktion, wie Sie herausgefunden haben. (ss ist tatsächlich besser als netstat In vielen Fällen sind dies zwei spezifische:die Möglichkeit, Filterausdrücke zu verwenden, und die optionale Möglichkeit, den tcp_diag zu verwenden und inet_diag Linux-Kernel-Module, um direkter auf Kernel-Socket-Daten zuzugreifen als über /proc .)

Sollten Sie die Zuordnung für beschreibende Namen bestätigen müssen, ist die net-tools-Quelle die definitive Referenz:http://sourcecodebrowser.com/net-tools/1.60/statistics_8c_source.html

Doug Vitale bietet einen nützlichen Leitfaden zum Auffinden der iproute2-Äquivalente der älteren Befehle (er wird nicht gepflegt und ist etwas unvollständig, er lässt jeden Verweis auf nstat aus das seit mindestens 2004 Kernel 2.6.x-Zeit Teil des iproute2-Pakets ist).

net-tools lebt jedoch weiter, und Sie sollten in der Lage sein, ein Paket für Ihre Distribution zu finden (oder es selbst zu kompilieren).


Vielleicht möchten Sie den Inhalt von /proc/net/netstat überprüfen :

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

Nicht das freundlichste Format, aber Sie verstehen schon.

Ich bin mir nicht sicher, ob es tatsächlich die gesuchten Artikel enthält, aber sie sind möglicherweise an anderer Stelle in /proc/net verfügbar .


Linux
  1. Linux-netstat-Befehl

  2. netstat-Befehlsbeispiele in Linux

  3. Alternative zu Rs `memory.size()` unter Linux?

  4. Warum ist netstat veraltet?

  5. Busybox, netstat, kein -p

Redhat Subskriptionsalternative | Lokales Repository

Top alternative Linux-Distributionen zu Windows XP

AppFlowy:Eine Open-Source-Alternative zu Notion

Alternative zu Ping

Leichtgewichtige GNU-Readline-Alternative

Leichte X11-Alternative verfügbar?