지정된 처리량으로 트래픽 생성

지정된 처리량으로 트래픽 생성

내 네트워크를 테스트하기 위해 두 호스트 간에 x MB/s를 전송하고 싶습니다. 대량의 데이터를 전송하는 데 사용될 수 있다는 것을 알고 있지만 ping대역폭을 설정할 수 있는 솔루션이 필요합니다(매우 정확할 필요는 없음).

$ sendTrafic --throughput 10M 10.0.0.1

어떻게 할 수 있는지 아시나요? scappy초당 x번 실행되는 스크립트 에 대해 생각했는데 더 나은 것이 있어야 합니다.


편집: 다음 솔루션을 사용했습니다.

# On receiving node:
iperf -s -u

# On sending node:
iperf -c <ip> -u -b 10m -t 30

첫 번째 호스트를 UDP 서버로 구성하고 두 번째 호스트를 UDP 클라이언트로 구성하여 30초 동안 10Mb/s로 전송합니다.

모두의 도움에 감사드립니다.

답변1

설치하고 싶지 않은 경우 iperf(IMHO, 과거에 사용했던 도구 중 가장 신뢰할 수 있는 도구는 아님)를 사용할 수 있으며 pv먼저 netcat
설치해야 합니다 pv( netcat대부분의 배포판에서 사용 가능).
수신 사이트에서는 액세스 가능한 포트에 청취 소켓이 있어야 합니다.

#if you want the output you can remove the redirection or redirect it to a different file.
#if you want to listen to a TCP port below 1024 you will need to use root
nc -l 4444 > /dev/null

보내는 컴퓨터에서는 다음 명령을 사용합니다.

dd if=/dev/urandom bs=1000 count=1000 | pv -L 10M | nc <ip> 4444

dd if=/dev/urandom bs=1000 count=10001000개의 임의 문자(1000바이트)로 구성된 블록이 1000번 전송됩니다(1000B * 1000 = 1MB). 개수를 조정하여 전송되는 데이터 양을 늘릴 수 있습니다.
pv -L 10M: 쓰기 속도를 10MB/초(*1024)로 제한합니다.
netcat <ip> 4444데이터는 포트 TCP 4444를 통해 IP로 전송됩니다.

다음을 사용하여 더 많은 데이터 또는 실제 파일을 보낼 수 있습니다.

cat /some/files| pv -L 1M | nc <ip> 4444

반대편:

 nc -l 4444 > /some/destinationfiles

답변2

분명히 이 문제를 보다 체계적으로 다루는 보다 포괄적인 프로젝트가 이미 있습니다.

예: 최소한의 컬렉션에서 -흐름 연삭또는트라프겐

"속도가 제한된 트래픽 생성기"를 찾아보세요.

관련 정보