альтернатива "netstat -s"

netstat -s печатает выдает много очень подробных протокольных статистических данных, таких как количество принятых сообщений сброса TCP или количество отправленных сообщений ICMP «echo request» или количество пакетов, сброшенных из-за отсутствующего маршрута.

Когда в Linux netstat считается устаревшим в настоящее время, тогда есть ли альтернатива?

Статистика, предоставляемая ss -s, является поверхностной по сравнению с теми, которые предоставляются netstat.

16 голосов | спросил Martin 30 Jpm1000000pmSat, 30 Jan 2016 14:24:01 +030016 2016, 14:24:01

2 ответа


11

netstat действительно устарел многими дистрибутивами, хотя это действительно большая часть пакета «net-tools» (включая ifconfig, route и arp), который устарел в пользу пакета iproute2. iproute2 развился наряду с новейшими сетевыми функциями Linux , а традиционные утилиты не имеют.

Ипотечный эквивалент iproute2 - это малоизвестный nstat, который предоставляет netstat -s, хотя и в несколько иной форме:

  • используются имена исходных счетчиков из /proc, каждый префикс с его классом («Udp», «Tcp», «TcpExt» и т. д.). ) литий>
  • Длинные (возможно, локализованные) описания netstat недоступны
  • счетчики нулевого значения, опущенные по умолчанию
  • с использованием согласованного столбчатого вывода с именем и значением в первом и втором столбцах
  • третий столбец показывает среднее значение по настраиваемому временному окну, если вы запустили фоновый режим nstat (-d) или 0.0, если не

    например. nstat печатает "UdpInDatagrams NNN", а не "Udp: InDatagrams", а не verbose netstat версии «Udp: NNN полученные пакеты».

nstat также предполагает, что вы хотите увеличить, а не абсолютные числа, поэтому ближайший эквивалент netstat -s - /sbin/nstat -asz, где параметры -a использовать абсолютные счетчики, -s не хранить файл истории, -z не пропускают счетчики нулевого значения.

ss берет на себя части сокета netstat, но не его полная функция, как вы выяснили. (ss на самом деле лучше, чем netstat в во многих случаях два конкретных - это возможность использовать выражения фильтра и необязательную возможность использовать tcp_diag и inet_diag Модули ядра Linux для доступа к данным сокета ядра напрямую, чем через /proc. )

Если вам нужно подтвердить сопоставление для описательных имен, источником сетевых инструментов является окончательная ссылка: http://sourcecodebrowser.com/net-tools/1.60/statistics_8c_source.html

Doug Vitale предоставляет полезный руководство для поиска эквивалентов iproute2 старших команд (оно не поддерживается и немного неполно, оно не содержит ссылки на nstat, которые был частью пакета iproute2 с по крайней мере 2004 kernel 2.6.x time).

net-tools жизнь , и вы должен быть в состоянии найти пакет для вашего распространения (или скомпилировать его самостоятельно).

ответил mr.spuratic 8 MarpmTue, 08 Mar 2016 21:34:06 +03002016-03-08T21:34:06+03:0009 2016, 21:34:06
4

Вы можете проверить содержимое /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.

ответил jcaron 9 FebruaryEurope/MoscowbTue, 09 Feb 2016 03:08:40 +0300000000amTue, 09 Feb 2016 03:08:40 +030016 2016, 03:08:40

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132