"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 n( ip neighbor)
  • ifconfigip a( ip addr), ip link, ip -s( ip -stats)
  • iptunnelip tunnel
  • iwconfigiw
  • nameifip link,ifrename
  • netstatss,  ip 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
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) 맨페이지:

노트

    이 프로그램은 대부분 구식입니다. 대리자netstatss. 대리자netstat -rip route. 대리자netstat -iip -s link. 대리자netstat -gip maddr.

답변2

netstat"iproute2" 패키지를 선호하여 더 이상 사용되지 않는 대부분의 "net-tools" 패키지( 및 포함)가 ifconfig실제로 route많은 배포판에서 더 이상 사용되지 않습니다 .arpIP 경로 2진화하다최신 Linux 네트워킹 기능, 반면 기존 유틸리티는 그렇지 않습니다.

원하는 것과 동등한 iproute2는 덜 알려진 것인데 nstat, netstat -s비록 약간 다른 형식이기는 하지만 카운터를 제공합니다.

  • 의 원시 카운터 이름을 사용하세요 /proc. 각 이름에는 해당 클래스("Udp", "Tcp", "TcpExt" 등)가 접두어로 붙습니다.

  • netstat에 대한 긴(현지화된) 설명을 사용할 수 없습니다.

  • 0 값 카운터는 기본적으로 생략됩니다.

  • 첫 번째 열과 두 번째 열의 이름과 값이 포함된 일관된 열 형식 출력 사용

  • 세 번째 열에는 백그라운드 nstat가 시작된 경우(데몬 모드) 구성 가능한 기간 동안의 평균이 표시되고, -d시작되지 않은 경우에는 0.0이 표시됩니다.

    예를 들어 nstat"UdpInDatagrams NNN"은 "Udp:InDatagrams" 대신 인쇄되며 "Udp: NNN Packet received"의 자세한 netstat 버전도 인쇄되지 않습니다.

nstat또한 절대 숫자가 아닌 증분을 원한다고 가정하므로 가장 가까운 옵션 netstat -s은 절대 카운터 사용, 기록 파일 유지 안 함, 0 값 카운터 생략 안 함 /sbin/nstat -asz옵션 입니다.-a-s-z

ss인수의 "소켓" 부분이지만 netstat찾은 전체 기능은 아닙니다. ( ss실제로 많은 경우보다 더 나은 netstat두 가지 특정 기능은 필터 표현식을 사용하는 기능과 를 통하는 것보다 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.

관련 정보