Ubuntu에서 두 시스템 간에 전송되는 데이터의 크기를 계산하는 방법은 무엇입니까?

Ubuntu에서 두 시스템 간에 전송되는 데이터의 크기를 계산하는 방법은 무엇입니까?

컴퓨터가 두 대 있어요.

첫 번째는 워크스테이션입니다. 딥러닝 코드를 실행하고 유선 연결을 통해 AP에 연결합니다.

두 번째는 로봇으로서의 컴퓨터이다. 다른 센서의 영상 및 기타 정보를 전송하고 LAN 카드를 통해 AP에 연결합니다.

터미널에서 명령어를 이용하여 실시간으로 주고받는 패킷의 데이터 크기를 알고 싶습니다.

네트워크를 통해 서로 전송되는 데이터를 어떻게 측정합니까?

노트:로컬 무선 LAN만 사용합니다(인터넷 없음).

답변1

더 나은 것을 모르더라도 tcpdump가 좋은 시작이라고 말하고 싶습니다.

tcpdump -s0 -ni <WIFI-DEVICE> host <ROBO-IP> -w data.pcap

Linux 시스템과 로봇 사이의 모든 데이터를 data.pcap에 씁니다.

여기에서 데이터를 분석할 수 있습니다.

  • scapy(python-lib)
  • 라인샤크

data.pcap 파일을 건너뛸 수 있습니다.

  • Wireshark를 직접 사용하거나(Linux 호스트에서는 X 필요)
  • 표준 출력에 직접 쓰기 tcpdump -s0 -ni <WIFI-DEVICE> host <ROBO-IP> -w -

그런 다음 stdin에서 패킷을 읽고 분석하는 프로그램이 필요합니다. tcpdump -s0 -ni <WIFI-DEVICE> host <ROBO-IP> -w - | <ANALYZER_PROG>

이 ANALYZER_PROG는 scapy로 작성할 수 있습니다.

scapy 솔루션의 경우 스택 오버플로도 검색합니다.

화타이

답변2

iftop이 기능을 제공하세요. Ubuntu에서는 다음 명령을 사용하여 설치할 수 있습니다.

sudo apt-get install -y iftop

특정 서버의 트래픽을 모니터링하려면 -f filter code다음을 사용할 수 있습니다.

iftop -f 'host <HOSTNAME/IP ADDRESS>'

다음과 같은 내용이 표시됩니다.

                12.5Kb           25.0Kb           37.5Kb           50.0Kb     62.5Kb
+---------------+----------------+----------------+----------------+----------------
10.184.240.3                 => 10.184.125.147               10.0Kb  8.00Kb  11.6Kb
                             <=                              2.75Kb  2.29Kb  2.86Kb
------------------------------------------------------------------------------------
TX:             cum:   58.0KB   peak:   54.2Kb      rates:   10.0Kb  8.00Kb  11.6Kb
RX:                    14.3KB           10.2Kb               2.75Kb  2.29Kb  2.86Kb
TOTAL:                 72.3KB           64.4Kb               12.8Kb  10.3Kb  14.5Kb

물론 매뉴얼에서 이 명령에 대한 다양한 플래그에 대해 읽을 수 있습니다.

관련 정보