NETSTAT je považován za zastaralý v dnešních a dalších programech zahrnutých v síťových nástrojích, jako je arp, ifconfig, iptunnel, nameif, netstat
a trasa.
Funkce poskytované několika z těchto nástrojů byly reprodukovány a vylepšeny v novém iproute2 Suite, a to především pomocí jeho nového ip
příkaz.
Příklady zastaralých příkazů a jejich nahrazení:
arp
→ip n
(ip neighbor
)ifconfig
→ip a
(ip addr
),ip link
,ip -s
(ip -stats
)iptunnel
→ip tunnel
iwconfig
→iw
nameif
→ip link
, ifrenamenetstat
→ss
,ip route
(pronetstat -r
),ip -s link
(pronetstat -i
),ip maddr
(pronetstat -g
)
netstat
příkaz čte různé soubory /proc, aby shromáždil informace. Tento přístup je však slabý, pokud existuje mnoho připojení k zobrazení. Tím je pomalejší. ss
příkaz získává informace přímo z prostoru jádra. Možnosti používané s ss
příkazy jsou velmi podobné příkazu netstat, takže je lze snadno nahradit.
Statistiku poskytuje ss
jsou povrchní ale považuje se za lepší alternativu na netstat
Příklady
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
byl skutečně zavržen v mnoha distribucích, i když je to opravdu velká část balíčku "net-tools" (včetně ifconfig
, route
a arp
), který byl zastaralý ve prospěch balíčku „iproute2“. iproute2 se vyvíjel spolu s nejnovějšími síťovými funkcemi Linuxu a tradiční nástroje nikoli.
Ekvivalent iproute2, který chcete, je málo známý nstat
, to poskytuje netstat -s
čítače, i když v trochu jiné podobě:
-
nezpracované názvy čítačů z
/proc
se používají, každý s předponou svou třídou ("Udp", "Tcp", "TcpExt" atd.) -
dlouhé (a možná lokalizované) popisy netstatu nejsou k dispozici
-
čítače s nulovou hodnotou jsou ve výchozím nastavení vynechány
-
pomocí konzistentního sloupcového výstupu s názvem a hodnotou v prvním a druhém sloupci
-
třetí sloupec zobrazuje průměr za konfigurovatelné časové okno, pokud jste spustili nstat na pozadí (
-d
daemon mode), nebo 0.0, pokud nenapř.
nstat
vytiskne "UdpInDatagrams NNN" ne "Udp:InDatagrams" a ne podrobnou netstat verzi "Udp:NNN pakety přijaty".
nstat
také předpokládá, že chcete spíše přírůstková než absolutní čísla, takže nejbližší ekvivalent netstat -s
je /sbin/nstat -asz
kde jsou možnosti -a
použijte absolutní čítače, -s
neuchovávat soubor historie, -z
nevynechejte počítadla s nulovou hodnotou.
ss
přebírá "socket" části netstat
, ale ne jeho kompletní funkci, jak jste zjistili. (ss
je ve skutečnosti lepší než netstat
v mnoha případech jsou dvě konkrétní možnosti použití výrazů filtru a volitelná možnost použití tcp_diag
a inet_diag
Moduly linuxového jádra pro přímý přístup k datům soketu jádra než přes /proc
.)
Pokud potřebujete potvrdit mapování pro popisné názvy, zdroj net-tools je definitivní odkaz:http://sourcecodebrowser.com/net-tools/1.60/statistics_8c_source.html
Doug Vitale poskytuje užitečného průvodce pro hledání ekvivalentů iproute2 starších příkazů (je neudržovaný a mírně neúplný, vynechává jakýkoli odkaz na nstat
který je součástí balíčku iproute2 minimálně od roku 2004 od doby jádra 2.6.x).
net-tools však žije dál a měli byste být schopni najít balíček pro vaši distribuci (nebo jej zkompilovat sami).
Možná budete chtít zkontrolovat obsah /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
Není to zrovna nejpřátelštější formát, ale máte nápad.
Nejste si jisti, zda skutečně obsahuje konkrétní položky, které hledáte, ale mohou být dostupné jinde v /proc/net
.