Linux에서 bmon을 사용하여 네트워크 대역폭을 모니터링하는 방법

0
792
Linux 시스템의 양식화 된 터미널 프롬프트
Fatmawati Achmad Zaenuri / 셔터 스톡

와 더불어 bmon Linux 응용 프로그램에서는 네트워크 연결에서 대역폭 사용량을 볼 수 있습니다. 그러나 세밀한 세부 사항을 이해하려면 약간의 탐정 작업이 필요하므로 Google에서 처리했습니다.

bmon 작동 방식

다양한 네트워크 인터페이스에서의 활동을 보여주는 동적 그래프 및 실시간 통계는 네트워크의 성능 및 대역폭 소비에 큰 영향을 줄 수 있습니다. 이것은 정확히 무엇입니까 bmon 터미널 창에서 바로 제공합니다.

자동차의 속도계와 마찬가지로 지금 그래프를 한눈에 볼 수 있습니다. 마찬가지로, 차량의 무언가를 조사해야하는 경우 정비사가 진단 시스템에 연결하여 판독 값을 확인할 수 있습니다. bmon 자세한 판독 값이 비슷합니다.

하지만 그렇게 말해야합니다.bmon 명령 통계는 처음에는 당황 스러울 수 있습니다. 예를 들어 “Ip6 Reasm / Frag”라는 세 가지가 있습니다. 무슨 일이야?

그럼에도 불구하고 일단 코드를 해독 한 후에는 네트워크 트래픽에 대한보다 자세한 이해를 원한다면 명령의 판독 값이 매우 중요합니다.

우리는 당신을 위해 일을 시작했으며 심지어 소스 코드를 확인하여 그 중 일부에 도달했습니다. 고맙게도, 그 밖의 모든 것 bmon 합리적으로 간단합니다.

bmon 설치

설치하기 위해서 bmon 우분투에서 다음 명령을 사용하십시오.

sudo apt-get install bmon

터미널 창에서 "sudo apt-get install bmon"명령

Fedora에 설치하려면 다음을 입력하십시오.

sudo dnf install bmon

터미널 창에서 "sudo dns install bmon"명령

Manjaro의 경우 명령은 다음과 같습니다.

sudo pacman -Sy bmon

터미널 창에서 "sudo pacman -Sy bmon"명령

bmon 디스플레이

유형 bmon Enter 키를 눌러 프로그램을 시작하십시오. 그만큼 bmon 디스플레이가 여러 창으로 분할됩니다. 상위 3 개는 “인터페이스”, “RX”및 “TX”로 표시되어 있습니다. 중앙 창에는 자세한 통계 및 그래프가 표시됩니다.

“인터페이스”창에는 컴퓨터가 장착 된 네트워크 인터페이스가 표시됩니다. 또한 각 네트워크 인터페이스가 사용하는 큐잉 규율 (qdisc)을 보여줍니다 (나중에 자세히 설명).

“RX”창에는 각 인터페이스와 해당 대기열에 대한 초당 수신 된 비트 수와 초당 패킷 수가 표시됩니다. “TX”창에는 각 인터페이스와 해당 대기열에 대한 초당 전송 된 비트 및 초당 패킷이 표시됩니다.

컴퓨터에는 루프백 인터페이스 (루프백 어댑터라고도 함)와 유선 이더넷 어댑터의 두 가지 인터페이스 만 설치되어 있습니다. 루프백 인터페이스를 “lo”라고하고 이더넷 인터페이스를 “enp0s3″이라고합니다.

컴퓨터의 이더넷 어댑터 이름이 다를 수 있습니다. 랩톱을 사용하는 경우 무선 어댑터도 표시되며 이름이 “wl”로 시작합니다.

터미널 창의 bmon 인터페이스.

bmon 현재 선택된 네트워크 인터페이스에 대한 정보를 표시합니다. 선택한 인터페이스는 더 큰 부호가 강조된 인터페이스입니다 (>) 옆에 있습니다. 위쪽 및 아래쪽 화살표를 눌러보다 큼 부호를 이동하고 모니터링하려는 인터페이스를 선택할 수 있습니다. 우리는 이더넷 어댑터를 선택했습니다.

터미널 창의 bmon 인터페이스에서 선택된 이더넷 네트워크 어댑터.

이제 네트워크 인터페이스가 활성화되었으므로 그래프 및 판독 값에 일부 활동이 표시됩니다. 그래프가 보이지 않으면 터미널 창을 아래로 내립니다.

왼쪽 및 오른쪽 화살표 키를 눌러 그래프로 표시되는 통계를 변경하십시오. 일부 그래프의 경우 채우기 전에 H를 눌러야합니다. 이것을 요구하는 사람들이 그렇게 말할 것입니다.

네트워크 인터페이스에 대한 통계를 보려면 터미널 윈도우가 충분히 커질 때까지 늘린 다음 D를 눌러 표시하십시오. I (정보)를 누르면 약간의 추가 정보가 표시됩니다.

터미널 창을 최대화하면 여러 개의 그래프가 표시됩니다. 보다 작게 (<) and Greater Than (>)를 사용하여 그래프 쌍을 추가하거나 제거합니다. G를 누르면 그래프 표시가 모두 켜지고 꺼집니다.

물음표 (?)를 누르면 일반적인 키 입력과 함께 “빠른 참조”도움말 화면이 나타납니다.

bmon의 "빠른 참조"화면.

물음표 (?)를 다시 눌러 “Quick Reference”화면을 닫습니다.

자세한 통계

터미널 창이 키가 크고 넓 으면 (확장되지 않은 경우 펼치면) “D”를 눌러 상세보기를 켜거나 끌 수 있습니다.

터미널 창에서 bmon 상세 통계보기

표시되는 열 수는 터미널 창의 너비에 따라 다릅니다. 표준 80 열 터미널 창에 두 개가 표시됩니다. 창이 넓을수록 더 많은 열이 표시됩니다. 더 넓은 창에서는 더 많은 통계를 얻지 못합니다. 여전히 동일한 숫자 세트가 표시됩니다. 그러나 열은 더 짧을 것입니다.

각 열의 맨 위에있는 항목은 왼쪽에있는 항목은 바이트 단위로 정보를 표시하고 오른쪽에있는 항목은 정보를 패킷으로 표시한다고 생각하게 할 수 있습니다. 그러나 그렇지 않습니다.

각 열에는 일련의 통계가 있습니다. 값의 이름과받은 (RX) 및 전송 (TX) 값은 각 통계에 대해 표시됩니다. 값이 하이픈 (-)는 해당 방향에 대한 통계가 기록되지 않음을 의미합니다.

일부 통계는 안쪽 (수신) 또는 바깥 쪽 (전송)입니다. 예를 들어 하이픈 (-전송 된 열의)은 통계가 발신 패킷에 유효하지 않으며 수신 패킷에만 적용됨을 나타냅니다. 맨 위 줄에는 수신 및 전송 된 트래픽이 바이트 (왼쪽)와 패킷 (오른쪽)으로 표시됩니다.

다른 모든 통계는 열 순서대로 영문 순으로 나열됩니다. 그들 중 몇몇은 같은 이름을 공유합니다. 아래에서 그 의미를 모두 설명하겠습니다. 또한 약식 이름을 사용했습니다. IPv6을 언급하지 않은 경우 해당 통계는 IPv4를 나타냅니다.

왼쪽 열의 통계는 다음과 같습니다.

  • 바이트 : 바이트 단위의 트래픽.
  • 중단 오류 : 중단 오류 수 소스와 대상 사이의 연결 경로에서 소프트웨어 조각으로 인해 연결이 중단되었습니다.
  • 충돌 : 충돌 오류 수 둘 이상의 장치가 동시에 패킷을 보내려고했습니다. 전이중 네트워크에서는 문제가되지 않습니다.
  • CRC 오류 : 순환 중복 검사 오류 수입니다.
  • 오류 : 총 오류 수입니다.
  • 프레임 오류 : 프레임 오류 수 프레임은 패킷의 네트워크 컨테이너입니다. 오류는 잘못된 프레임이 감지되었음을 의미합니다.
  • ICMPv6 : 인터넷 제어 메시지 프로토콜 v6 트래픽 패킷 수입니다.
  • ICMPv6 오류 : ICMP v6 오류 수
  • IP6 방송 : 네트워크의 모든 장치로 전송되는 IPv6 브로드 캐스트 수
  • IP6 CE 패킷 : CE는 “고객 에지”를 나타냅니다. 이것은 일반적으로 라우터에 적용됩니다. 이들은 고객이 가입 한 연결 서비스의 제공자 에지 (PE)와 연결됩니다.
  • IP6는 다음을 제공합니다. 들어오는 IPv6 패킷의 수입니다.
  • Ip6 ECT (1) 패킷 : ECN (Explicit Congestion Notification)은 네트워크 연결의 한쪽 끝이 임박한 혼잡을 경고합니다. 패킷에는 경고 역할을하는 플래그가 표시됩니다. 수신단은 혼잡 및 가능한 패킷 손실을 피하기 위해 전송 속도를 줄일 수 있습니다. ECN 가능 전송 (ECT) 패킷에는 ECN 가능 전송을 통해 전달되고 있음을 나타내는 플래그가 표시되어 있습니다. 이를 통해 중간 라우터가 그에 따라 반응 할 수 있습니다. 유형 1 ECN 패킷은 수신 측에 ECN을 활성화하고 발신 전송에 추가하도록 지시합니다.
  • IP6 헤더 오류 : IPv6 헤더에 오류가있는 패킷 수입니다.
  • IP6 멀티 캐스트 패킷 : IPv6 멀티 캐스트 (브로드 캐스트 형식) 패킷의 수입니다.
  • Ip6 비 ECT 패킷 : ECT (1)로 플래그되지 않은 IPv6 패킷의 수
  • IP6 재 조립 / 조각 OK : 크기로 인해 조각화되고 수신시 성공적으로 재 조립 된 IPv6 패킷의 수입니다.
  • IP6 리 어셈블리 타임 아웃 : 크기로 인해 조각화되었지만 시간 초과로 인해 수신시 재 조립하지 못한 IPv6 패킷 수입니다.
  • IP6 잘린 패킷 : 잘린 패킷 수입니다. IPv6 패킷이 전송되면 잘림 후보로 플래그 될 수 있습니다. MTU (Maximum Transmission Unit)를 초과하여 중간 라우터가 패킷을 처리 할 수없는 경우 라우터는 패킷을 자르고 그대로 표시 한 다음 대상으로 전달합니다. 수신되면 상대방이 ICMP 패킷을 소스로 다시 보내어 패킷을 단축하기 위해 MTU 추정값을 업데이트하도록 지시 할 수 있습니다.
  • IP6 폐기 : 삭제 된 IPv6 패킷의 수입니다. 소스와 대상 사이의 장치가 올바르게 설정되지 않고 IPv6 설정이 작동하지 않으면 IPv6 트래픽을 처리하지 않습니다. 버려집니다.
  • IP6 패킷 : 모든 유형의 IPv6 패킷의 총 수
  • 누락 된 오류 : 전송에서 누락 된 패킷 수입니다. 원래 메시지를 다시 만들 수 있도록 패킷 번호가 지정됩니다. 빠진 것이 있으면 결석이 눈에 is니다.
  • 처리기 없음 : 프로토콜 핸들러가없는 패킷 수입니다.
  • 창 오류 : 창 오류 수입니다. 패킷의 창은 헤더의 옥텟 수입니다. 이 번호에 비정상적인 숫자가 있으면 헤더를 해석 할 수 없습니다.

오른쪽 열의 통계는 다음과 같습니다.

  • 패킷 : 패킷의 트래픽.
  • 캐리어 오류 : 반송파 오류 수입니다. 신호 변조에 문제가 발생하면 이러한 문제가 발생합니다. 이는 네트워킹 장비 간의 이중 불일치 또는 케이블, 소켓 또는 커넥터의 물리적 손상을 나타냅니다.
  • 압축 : 압축 된 패킷 수입니다.
  • 떨어짐 : 삭제 된 패킷 수로 인해 목적지에 도달하지 못했습니다 (정체로 인해).
  • FIFO 오류 : 선입 선출 (FIFO) 버퍼 오류의 수입니다. 네트워크 인터페이스 전송 버퍼가 충분히 비워지지 않아 오버런 상태입니다.
  • 하트 비트 오류 : 하드웨어 또는 소프트웨어는 일반 신호를 사용하여 올바르게 작동 중임을 표시하거나 동기화를 허용 할 수 있습니다. 여기의 숫자는 손실 된 “하트 비트”수입니다.
  • ICMPv6 체크섬 오류 : Internet Control Message Protocol v6 메시지 체크섬 오류의 수입니다.
  • IP6 주소 오류 : 잘못된 IPv6 주소로 인한 오류 수
  • IP6 브로드 캐스트 패킷 : IPv6 브로드 캐스트 패킷의 수입니다.
  • IP6 체크섬 오류 : IPv6 체크섬 오류 수 IPv6의 ICMP 및 UDP (User Datagram Protocol) 패킷은 체크섬을 사용하지만 일반 IPv6 IP 패킷은 사용하지 않습니다.
  • Ip6 ECT (0) 패킷 : 이들은 ECT (1) 패킷과 동일하게 취급됩니다.
  • Ip6 전달 ​​: 유니 캐스트 전달이 전달 된 IPv6 패킷의 수입니다. 유니 캐스트는 일련의 중간 라우터 및 전달자를 통해 소스에서 대상으로 패킷을 홉핑합니다.
  • IP6 멀티 캐스트 : 멀티 캐스트 전달이 전달 된 IPv6 패킷 수입니다. 멀티 캐스트는 패킷을 대상 그룹으로 동시에 보냅니다 (Wi-Fi 작동 방식).
  • Ip6 경로 없음 : 경로 오류가없는 횟수입니다. 이는 원단까지의 경로를 계산할 수 없으므로 목적지에 도달 할 수 없음을 의미합니다
  • IP6 리 어셈블리 / 프래그먼트 실패 : 크기로 인해 조각화되어 수신시 재 조립에 실패한 IPv6 패킷 수입니다.
  • Ip6 재 조립 / 조각 요청 : 크기로 인해 조각난 IPv6 패킷의 수는 수신시 다시 어셈블해야했습니다.
  • Ip6 너무 큰 오류 : 수신 된 ICMP “너무 큰”메시지 수로, 최대 전송 단위보다 큰 IPv6 패킷이 전송되었음을 나타냅니다.
  • IP6 알 수없는 프로토콜 오류 : 알 수없는 프로토콜을 사용하여 수신 한 패킷 수
  • IP6 옥텟 : 수신 및 전송 된 옥텟의 양입니다. IPv6의 헤더는 40 옥텟 (320 비트, 8 비트 당 8 비트)이며 최소 패킷 크기는 1,280 옥텟 (10,240 비트)입니다.
  • 길이 오류 : 헤더에 길이 값으로 도착하여 가능한 최소 패킷 길이보다 짧은 패킷 수입니다.
  • 멀티 캐스트 : 멀티 캐스트 브로드 캐스트 수
  • 초과 오류 : 초과 오류 수 수신 버퍼가 오버플로되었거나 패킷이 지원되는 것보다 큰 프레임 값으로 도착하여 수락 할 수 없습니다.

추가 정보

“정보”에서와 같이 I를 누르면 추가 정보 창이 토글됩니다. 추가 정보가 표시되지 않으면 창이 충분하지 않은 것입니다. D를 눌러 자세한 통계를 끄거나 G를 눌러 그래프를 끄거나 창을 늘릴 수 있습니다.

터미널 창에 추가 정보 창이 있습니다.

추가 정보는 다음과 같습니다.

  • MTU : 최대 전송 단위입니다.
  • 작동 상태 : 네트워크 인터페이스의 작동 상태
  • 주소: 네트워크 인터페이스의 MAC (Media Access Control) 주소입니다.
  • 방법: 이것은 보통 default하지만 당신은 볼 수 있습니다 tunnel, beet또는 ro. 처음 세 가지는 IP 보안 (IPSec)과 관련이 있습니다. 그만큼 default 설정은 보통 transport 페이로드가 암호화되는 모드. 클라이언트-사이트 VPN (가상 사설망)은 일반적으로이를 사용합니다. 사이트 간 VPN은 일반적으로 tunnel 전체 패킷이 암호화되는 모드. 바운드 엔드 투 엔드 터널 (beet) 모드에서 고정, 숨김, IP 주소 및 기타 보이는 IP 주소를 가진 두 장치간에 터널이 생성됩니다. 그만큼 ro mode는 모바일 IPv6에 대한 라우팅 최적화 방법입니다.
  • 가족: 사용중인 네트워크 프로토콜 제품군.
  • Qdisc : 큐잉 규율. 이 설정은 red (임의의 조기 발견), codel (제어 지연) 또는 fq_codel (지연된 지연으로 공정한 큐잉).
  • 플래그 : 이 표시기는 네트워크 연결 기능을 보여줍니다. 우리의 연결은 사용할 수 있습니다 broadcastmulticast 전송 및 인터페이스는 Up (작동 및 연결됨).
  • IfIndex : 인터페이스 색인은 네트워크 인터페이스와 관련된 고유 한 식별 번호입니다.
  • 방송: 브로드 캐스트 MAC 주소입니다. 이 주소로 전송하면 수신 된 패킷이 모든 장치로 브로드 캐스트됩니다.
  • TXQlen : 전송 큐 크기 (용량).
  • 별명: IP 별명은 실제 네트워크 연결에 여러 IP 주소를 제공합니다. 그런 다음 하나의 네트워크 인터페이스 카드를 통해 다른 서브넷에 액세스 할 수 있습니다. 테스트 컴퓨터에서 사용중인 별칭이 없습니다.

bmon 물고기 나 닭이 아닌 재미있는 동물입니다. 그래프에는 원시적 인 매력이 있으며 진행 상황을 잘 보여줍니다.

그러나 ASCII로 렌더링되는 데 한계가 있기 때문에 실제로는 매우 정확할 수는 없습니다. 그러나 가끔은 연결이 최대치인지, 신비하게 트래픽이 없는지 또는 중간에 있는지 알 수 있습니다.

반면에 자세한 통계는 상세하고 세분화됩니다. 레이블에 다소 우연한 접근 방식과 결합하여 해독하기가 더 어려워집니다.

바라건대, 위의 설명은 bmon 좀 더 접근하기 쉽습니다. 실제로 네트워크 트래픽의 상태와 대역폭 소비를 모니터링 할 수있는 유용하고 가벼운 도구입니다.