네트워크 포트 당 트래픽 통계


15

소수의 네트워크 포트 (TCP 및 UDP)에서 서로 통신하는 두 개의 응용 프로그램이있는 두 대의 컴퓨터가 있습니다. 그들이 보내고받는 트래픽을 세고 싶습니다. 전체 포트 수뿐만 아니라 매일 포트 당 컴퓨터 당 통계가 필요합니다. darkstat 시도했지만 하루에 통계를 제공하지는 않지만 전체 카운터 만 제공합니다.

트래픽을 계산할 수있는 다른 방법이 있습니까 (두 컴퓨터 사이에 프록시 나 게이트웨이를 둘 수 있습니다).

답변:


16

iptables는 각 규칙이 얼마나 많이 트리거되었는지에 대한 통계를 제공하므로 관심있는 포트에 LOG 규칙을 추가 할 수 있습니다 (포트 20 및 포트 80).

iptables -A INPUT -p tcp --dport 22
iptables -A INPUT -p tcp --dport 80

그리고

iptables -n -L -v

이 포트를 통해 전송 된 패킷 및 바이트 수를 제공합니다. 물론 출력에서 ​​관심있는 포트를 구문 분석해야합니다.

정확한 값이 필요하면 -x를 추가하십시오.

iptables -n -L -v -x

4
LOG규칙 을 넣을 필요가 없으며 (로그 파일이 넘칠 수 있음) 규칙이 트리거되는 횟수를 세어보십시오.
Gilles 'SO- 악마 그만해'

4
과연. 규칙에는 조치가 필요하지 않습니다. 배우기위한 유용한 교훈 :없는 규칙 -J은 회계에 좋습니다.
Alexios 2016 년


2

iptables 구성에 계정 규칙을 추가 할 수 있습니다. 이러한 트래픽은 ESTABLISHED 및 RELATED 트래픽을 수락하기 전에 발생하거나 통과하는 트래픽 계산을 놓치게됩니다. 웹 트래픽을 계산하려면 다음과 같은 규칙을 시도하십시오.

iptables -A INPUT -p tcp --dport 80 

그것들이 많은 경우 회계 체인을 만들어 다른 체인과 별도로 카운터를보고하고 제로화 할 수 있습니다.

Shorewall는 방화벽을 쉽게 규칙 세트에 회계 규칙을 추가 할 수 있습니다.


1

출력 트래픽 통계를 포함시키는 것을 잊지 마십시오.

# Port 80 (HTTP).
iptables -A INPUT -p tcp --dport 80
iptables -A OUTPUT -p tcp --sport 80

# Port 443 (HTTPS).
iptables -A INPUT -p tcp --dport 443
iptables -A OUTPUT -p tcp --sport 443


iptables -n -L -v
iptables -n -L -v -x


iptables -n -L -v -x | grep -i "Chain\|:443\|:80"

Chain INPUT (policy DROP 357 packets, 22828 bytes)
 1286265 75076978 ACCEPT tcp  --  *      *    0.0.0.0/0  0.0.0.0/0  tcp dpt:80
 1305378 75018232 ACCEPT tcp  --  *      *    0.0.0.0/0  0.0.0.0/0  tcp dpt:443

Chain OUTPUT (policy ACCEPT 303516 packets, 94716311 bytes)
     442   255112        tcp  --  *      *    0.0.0.0/0  0.0.0.0/0  tcp spt:80
      46    10515        tcp  --  *      *    0.0.0.0/0  0.0.0.0/0  tcp spt:443

0

tcpdump를 활용하십시오.

tcpdump -i 임의 -nnn

위 명령의 출력에는 타임 스탬프, src / dest ip 주소, 포트 및 패킷 길이가 포함됩니다. 이러한 정보를 통해 잘 작성된 스크립트를 통해 목표를 쉽게 달성 할 수 있습니다.


0

대상 IP 당 사용량이 필요한지 확실하지 않지만 vnstat 는 인터페이스 당 트래픽 사용량을 기록하는 데 유용한 도구입니다. 설치 한 다음 vnstat -u -i eth0모니터하려는 각 인터페이스마다 실행하십시오 . 그런 다음 하루에 사용량을 얻으려면을 사용하십시오 vnstat -i eth0 -d.


1
vnstat포트 를 사용하여 통계를 얻을 수 있다고 생각하지 않습니다 ... 아니면 내가 틀렸습니까?
pbm 2016 년

1
@pbm 아, 당신은 TCP / UDP 포트를 의미합니다. 아니요, vnstat는 그렇게하지 않습니다.
mgorven
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.