각 네트워크 포트에 대한 트래픽 통계

각 네트워크 포트에 대한 트래픽 통계

여러 네트워크 포트(TCP 및 UDP)를 통해 서로 통신하는 두 개의 응용 프로그램이 있는 두 대의 컴퓨터가 있습니다. 그들이 보내고 받는 트래픽을 계산하고 싶습니다. 총 개수도 필요할 뿐만 아니라 하루에 머신당 각 포트에 대한 통계도 필요합니다. 나는 노력했다어두운 상태, 단, 일일 통계는 제공하지 않고 전체 카운터만 제공합니다.

트래픽을 계산하는 다른 방법이 있습니까(두 시스템 사이에 일부 프록시나 게이트웨이를 배치할 수 있음).

답변1

iptables는 각 규칙이 트리거된 횟수에 대한 통계를 제공하므로 관심 있는 포트(예: 포트 20 및 포트 80)에 LOG 규칙을 추가할 수 있습니다.

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

그런 다음

iptables -n -L -v

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

정확한 값이 필요하면 -x를 추가하세요.

iptables -n -L -v -x

답변2

iptables 구성에 회계 규칙을 추가할 수 있습니다. 이는 ESTABLISHED 및 RELATED 트래픽을 수락하기 전에 발생해야 합니다. 그렇지 않으면 통과하는 트래픽 계산을 놓칠 수 있습니다. 네트워크 트래픽을 계산하려면 다음 규칙을 사용해 보세요.

iptables -A INPUT -p tcp --dport 80 

이러한 체인이 많은 경우 회계 체인을 생성하여 다른 체인과 격리된 카운터를 보고하고 지울 수 있습니다.

이것부두 벽방화벽을 사용하면 규칙 세트에 회계 규칙을 쉽게 추가할 수 있습니다.

답변3

출력 트래픽 통계를 포함하는 것을 잊지 마세요.

# 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

답변4

모든 대상 IP를 사용해야 하는지는 확실하지 않지만통계자료인터페이스당 트래픽 사용량을 기록하는 데 유용한 도구입니다. vnstat -u -i eth0모니터링하려는 각 인터페이스에 대해 설치하고 실행하십시오. 그런 다음 일일 사용량을 얻으십시오 vnstat -i eth0 -d.

관련 정보