GNU/Linux >> Linux の 問題 >  >> Linux

netstat -s の代替

NETSTAT は現在非推奨と見なされており、arp、ifconfig、iptunnel、nameif、netstat などのネットツールに含まれる他のプログラム 、およびルート。

これらのユーティリティのいくつかによって提供される機能は、新しい iproute2 で再現および改善されました。 スイート、主に新しい ip を使用 コマンド。

非推奨のコマンドとその代替の例:

  • arpip n (ip neighbor )
  • ifconfigip a (ip addr )、ip linkip -s (ip -stats )
  • iptunnelip tunnel
  • iwconfigiw
  • nameifip link 、ifrename
  • netstat ssip route (netstat -r の場合) )、ip -s link (netstat -i の場合) )、ip maddr (netstat -g の場合) )

netstat コマンドは、さまざまな /proc ファイルを読み取り、情報を収集します。ただし、表示する接続が多数ある場合、このアプローチは弱くなります。これにより遅くなります。 ss コマンドは、カーネル空間から直接情報を取得します。 ss で使用されるオプション コマンドは netstat に非常に似ているため、簡単に置き換えることができます。

ss が提供する統計 表面的な しかし、より良い代替手段と考えられています netstat まで

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 実際には多くのディストリビューションで廃止されていますが、実際には「net-tools」パッケージ (ifconfig を含む) の大部分です。 、 routearp )「iproute2」パッケージを支持して廃止されました。 iproute2 は最新の Linux ネットワーキング機能とともに進化してきましたが、従来のユーティリティはそうではありませんでした。

必要な iproute2 に相当するものは、あまり知られていない nstat です 、これは netstat -s を提供します わずかに異なる形式ではありますが、カウンター:

  • /proc からの生のカウンター名 が使用され、それぞれにそのクラス (「Udp」、「Tcp」、「TcpExt」など) がプレフィックスとして付けられます。

  • netstat の長い (そしておそらくローカライズされた) 説明は利用できません

  • デフォルトで省略されたゼロ値カウンター

  • 1 列目と 2 列目の名前と値で一貫性のある列形式の出力を使用する

  • 3 列目は、バックグラウンド nstat (-d デーモン モード)、そうでない場合は 0.0

    例えばnstat

nstat また、絶対数ではなく増分が必要であると想定しているため、netstat -s に最も近いもの /sbin/nstat -asz です オプションは -a です 絶対カウンター -s を使用 履歴ファイルを保持しない -z ゼロ値カウンターを省略しないでください。

ss netstat の「ソケット」部分を引き継ぎます 、しかし、あなたが知っているように、その完全な機能ではありません. (ss 実際には netstat よりも優れています 多くの場合、具体的な 2 つの機能は、フィルター式を使用する機能と、tcp_diag を使用するオプションの機能です。 そして inet_diag /proc 経由よりも直接的にカーネル ソケット データにアクセスするための Linux カーネル モジュール .)

説明的な名前のマ​​ッピングを確認する必要がある場合は、net-tools ソースが最終的なリファレンスです:http://sourcecodebrowser.com/net-tools/1.60/statistics_8c_source.html

Doug Vitale は、古いコマンドに相当する iproute2 を見つけるための便利なガイドを提供しています (これは維持されておらず、わずかに不完全であり、nstat への参照が省略されています)。 これは、少なくとも 2004 年のカーネル 2.6.x の時点から iproute2 パッケージの一部でした)。

ただし、net-tools は存続しているため、ディストリビューション用のパッケージを見つける (または自分でコンパイルする) ことができるはずです。


/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

最も親しみやすい形式ではありませんが、アイデアは得られます。

探している特定のアイテムが実際に含まれているかどうかはわかりませんが、/proc/net の他の場所で入手できる可能性があります .


Linux
  1. Netstatのソースコード?

  2. N Gnomeターミナルの代替?

  3. イラストレーターの代替?

  1. Linuxnetstatコマンド

  2. UNIX / Linux:10 の Netstat コマンドの例

  3. Linux での netstat コマンドの例

  1. netstat:コマンドが見つかりません

  2. Linux の R の「memory.size()」に代わるものは?

  3. 軽量 X11 の代替品はありますか?