인터페이스 전송을 위한 RX 및 TX 바이트 수를 가져오는 도구가 많이 있습니다. 지정된 단일 소켓에 대해 전송된 총 바이트 수를 가져오는 데 사용할 수 있는 도구/프로그램이 있습니까?
사용자의 서비스 사용을 제한하려고 합니다. 즉, 사용자 번호 23이 20GiB의 전송을 구매했고 방금 1GiB linux .iso를 다운로드했습니다. 이제 남은 전송량이 1GiB 적어야 합니다.
문제는 클라우드 기반 솔루션을 사용하고 있다는 점인데... 각 사용자가 사용할 공유 인터페이스가 있는데 하드웨어 사양을 모르기 때문에 SNMP를 사용할 수 있는지 모르겠습니다. (또한 SNMP가 무엇인지 또는 특정 하드웨어가 필요한지 잘 모르겠습니다)
저는 단지 사용자당 전송을 추적하려고 합니다. 어쩌면 소켓이나 주소당일 수도 있고 불가능할 수도 있습니다. 내가 찾고 있는 것과 가까운 것이 있나요?
답변1
쿼리할 수 있는 소켓당 카운터가 없습니다. 특히 소켓이 닫히면 더 이상 쿼리할 것이 없기 때문에 더욱 그렇습니다.
iptables
당신이 할 수 있는 한 가지는 다양한 --uid-owner
옵션과 대상을 사용하여 여러 규칙을 설치하는 것입니다 -j ACCEPT
. 이러한 규칙은 아무 것도 차단하지 않지만 각 규칙의 카운터( 로 표시됨 iptables -L -n -v
)는 사용자별로 패킷과 바이트를 계산합니다. 하지만 이는 나가는 트래픽만 계산한다는 점에 유의하세요. 들어오는 트래픽은 사용자가 아니라 네트워크에서 오기 때문입니다.