src/dst(및 UDP 및 TCP 포트)로 IP 트래픽을 기록하는 방법은 무엇입니까?
각 간격(아마 매시간)에 대해 다음과 같은 내용을 보고 싶습니다.
proto, src, dst, packets, octets
ICMP, 192.168.1.3, 2.3.4.5, 34, 483
TCP, 192.168.1.3:34821, 2.3.4.5:80, 123, 23408
TCP, 192.168.1.3:33812, 5.6.7.8:22, 201, 2039
TCP, 192.168.1.3:53, 1.1.1.1:53, 23, 3400
UDP, 192.168.1.3:53, 1.1.1.1:53, 323, 23403
게이트웨이/라우터 박스의 경우 시간당 수천 회선이 필요할 것으로 예상됩니다.
나는 iptables가 트래픽을 계산할 수 있다는 것을 알고 있지만 계산을 시작하기 전에 주소와 포트를 알아야 한다는 것을 알고 있습니다.
일반적으로 사용되는 계산 솔루션이 있습니까?모두IP 트래픽?
(저는 네트워크 관리 제품군의 기능이 아닌 낮은 수준의 도구/기술을 찾고 있습니다.)
답변1
conntrack에서 바이트 및 패킷 수를 얻을 수 있습니다.
카운터를 활성화하려면 결제를 설정하세요.
#sysctl net.netfilter.nf_conntrack_acct=1
그러면 다음과 같은 conntrack 출력이 표시됩니다.
#conntrack -L
tcp 6 431971 ESTABLISHED src=192.168.0.156 dst=192.168.0.1 sport=53474 dport=443 packets=11 bytes=1945 src=192.168.0.1 dst=192.168.0.156 sport=443 dport=53474 packets=12 bytes=5238 [ASSURED] mark=0 use=1
이 명령을 사용하면 카운터를 0으로 지울 수 있습니다.
#conntrack -L -z
이러한 카운터는 연결 기반이라는 점에 유의하세요. 연결이 종료되면 Conntrack 항목이 삭제됩니다.
자세한 내용은 매뉴얼 페이지를 확인하세요.
#man conntrack