일련의 IP+Linux+의 네트워크 소비를 어떻게 포착할 수 있습니까?

일련의 IP+Linux+의 네트워크 소비를 어떻게 포착할 수 있습니까?

저는 다양한 IP의 일일 네트워크 소비(대역폭 아님)를 캡처하는 방법을 찾고 있습니다. {192.168.122.0/25}라고 가정해 보겠습니다.

이러한 IP 범위가 매일 소비하는 트래픽/데이터의 양을 계산하고 싶습니다. 이는 각 IP가 하루에 소비하는 데이터의 KB/MB/GB/ 수를 확인하기 위한 검증 목적일 뿐입니다.

내 환경은 RHEL/Centos 7입니다.

이를 달성하기 위한 옵션이 있는 도구를 제안해 주실 수 있나요? 사용량/소비를 추적하는 방법을 찾으면 매일 프로세스를 자동화하겠습니다.

그래픽 도구보다는 CLI를 찾고 있습니다. 또한 itraf, nmap, iftop을 사용해 보았지만 IP 범위 전체에서 네트워크 소비에 대한 옵션을 찾을 수 없었습니다.

답변1

귀하의 필요에 맞는 도구 중 하나는 다음과 같습니다.샤크:

$ tshark -q -i eth0 -a duration:86400 -z conv,ip net 192.168.122.0/25

그리고:

  • -q: 연속적으로 캡쳐된 패킷 개수를 표시하지 않습니다.
  • -i eth0: 인터페이스에서 트래픽을 캡처합니다 (또는 모든 인터페이스에서 트래픽을 캡처하는 eth0데 사용할 수도 있음 ).-i any
  • -a duration:86400: 하루 동안의 트래픽을 포착합니다.
  • -z conv,ip: IP 통계 가져오기
  • net 192.168.122.0/25: 캡쳐 필터

예제 출력:

$ tshark -q -i any -a duration:10 -z conv,ip net 192.168.134.0/24
                                               |       <-      | |       ->      | |     Total     |    Relative    |   Duration   |
                                               | Frames  Bytes | | Frames  Bytes | | Frames  Bytes |      Start     |              |

151.101.122.217      <-> 192.168.134.142          571     43915     591   3186555    1162   3230470     0,994980222         6,3748
192.168.134.142      <-> 192.168.136.27             5      1347       6       788      11      2135     5,714866377         0,0350
192.168.134.96       <-> 192.168.134.255            0         0      10      1060      10      1060     0,000000000         9,1583
151.101.129.69       <-> 192.168.134.142            5       608       5       632      10      1240     6,193916779         0,1324

여기에서 필요에 따라 다른 CLI 도구를 사용하여 출력 및 총 바이트를 구문 분석할 수 있습니다(예: awk).

답변2

그래서 당신은 네트워크 트래픽을 원합니다대역폭 사용량, 일일 요약입니다.

귀하는 개인 IP 범위를 제공했으므로 연결된 인터넷 호스트의 IP 주소가 아닌 귀하 자신의 컴퓨터의 IP 주소로 이를 가져오길 원한다고 가정합니다.

원칙적으로 두 가지 방법이 있습니다.

1) 각 머신의 트래픽을 모니터링합니다. 커널은 각 네트워크 인터페이스에 대한 패킷 카운터를 에 보관하므로 /proc이러한 카운터를 읽고 평균/총 트래픽을 계산할 수 있습니다.

2) 중앙 라우터의 트래픽을 모니터링합니다. 로컬 IP별로 정렬하려면 전체 트래픽보다 더 많은 트래픽이 필요하므로 패킷을 검사해야 합니다. 많은 트래픽 모니터링 도구는 네트워크 인터페이스에서 무차별 모드를 사용하여 작동하며 이로 인해 측정 가능한 CPU 부하가 발생할 수 있습니다. 또 다른 옵션은 iptable사용량을 계산하는 사용자 정의 규칙을 작성하는 것입니다 .

하나 있다사용 가능한 다양한 도구는 다음을 참조하세요.여기또는여기일부 사람들(및 더 많은 Google의 경우 소프트웨어 권장 사항은 이 Stack Exchange의 범위를 벗어납니다).

대안 1을 선택하는 경우 모니터링되는 모든 호스트의 정보를 하나의 중앙 위치로 수집하는 데 널리 사용되는 프로토콜은 다음과 같습니다.간단한 네트워크 관리 프로토콜이므로 Google 검색에 포함하세요.

관련 정보