"netstat -s"の代替

"netstat -s"の代替

netstat -s受信したTCPリセットメッセージの数、送信されたICMP「エコー要求」メッセージの数、パスの損失によって破棄されたパケットの数など、非常に詳細なプロトコル統計を印刷します。

今日、Linuxはnetstat廃止予定と考えられています。もしそうなら、代替案はありますか?

ss -s提供された統計は提供された統計と比較して表面的ですnetstat

答え1

現在、Netstatは廃止と見なされ、arp、ifconfig、iptunnel、nameif netstat、Routeなどのネットワークツールに含まれる他のプログラムも同様です。

これらのユーティリティのいくつかが提供する機能は、新しいバージョンで再現され改善されました。IP ルート 2主に新しいipコマンドを使用してスイートを構成します。

廃止されたコマンドと代替コマンドの例:

  • arpip nip neighbor
  • ifconfigip aip addrip link、、ip -sip -stats
  • iptunnelip tunnel
  • iwconfigiw
  • nameifip linkifrename
  • netstatss、  ip routenetstat -r)、  ip -s linknetstat -i)、  ip maddrnetstat -g

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

提供される統計ss浅い しかしそれは考慮されるより良い選択到着するnetstat【引用が必要】

はい

ss | less  # get all connections
ss -t      # get TCP connections not in listen mode
ss -u      # get UDP connections not in listen mode
ss -x      # get Unix domain socket connections
ss -at     # get all TCP connections (both listening and non-listening)
ss -au     # get all UDP connections
ss -tn     # TCP without service name resolution
ss -ltn    # listening TCP without service name resolution
ss -ltp    # listening TCP with PID and name
ss -s      # prints statistics
ss -tn -o  # TCP connections, show keepalive timer
ss -lt4    # IPv4 (TCP) connections 

コメントで確認してくださいnetstat(8) マンページ:

ノート

    このプログラムはほとんど昔ながらです。デリゲートnetstatはいss。デリゲートnetstat -rはいip route。デリゲートnetstat -iはいip -s link。デリゲートnetstat -gはいip maddr

答え2

netstat「iproute2」パッケージを好むために使用されなくなったほとんどの「net-tools」パッケージ(および含む)は、ifconfig実際にはroute多くのディストリビューションで使用されなくなりました。arpIP ルート 2進化する最新のLinuxネットワーキング機能一方、既存のユーティリティはそうではありません。

欲しいものと同等のiproute2はあまり知られていませんがnstatnetstat -s少し異なる形式ですが、カウンタを提供します。

  • の生のカウンター名を使用してください/proc。各名前には対応するクラス(「Udp」、「Tcp」、「TcpExt」など)が接頭辞で付けられます。

  • netstatの長い(ローカライズされた)説明は使用できません。

  • 0 値カウンタはデフォルトで省略されます。

  • 最初の列と2番目の列の名前と値を含む一貫した列形式の出力を使用する

  • 3番目の列には、バックグラウンドnstatが開始された場合(デーモンモード)、構成可能期間の平均が表示され、-d開始されていない場合は0.0が表示されます。

    たとえば、nstat「UdpInDatagrams NNN」は「Udp:InDatagrams」の代わりに印刷され、「Udp:NNN Packet received」の詳細なnetstatバージョンも印刷されません。

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

ss引数の「ソケット」部分ですが、見つかった完全なnetstat機能ではありません。 (ss実際には、多くの場合よりも優れたnetstat2つの特定の機能は、フィルタ式を使用する機能を介してよりもLinuxカーネルモジュールを使用してカーネルソケットデータに直接アクセスするオプション機能ですtcp_diag。)inet_diag/proc

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

ダグヴィタレ提供便利なガイド以前のコマンドと同等のiproute2を見つけるために使用されます(管理されていないが少し不完全であり、nstatiproute2パッケージの一部への参照は省略されます)。少なくとも2004年以降カーネル2.6.x時間)。

ネットワークツール人生を生き続けるただし、ディストリビューションに適したパッケージを見つけることができる必要があります(または直接コンパイルできる必要があります)。

答え3

次の点を確認してください/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

関連情報