랜카드가 2개인 리눅스 머신이고 라우터로 동작하고 있습니다.
제가 하고싶은 것은 각각의 랜카드로 입/출력되는 모든 패킷들을 IP주소와 TCP/UDP별로 각각 분류해서 시스템이 처리하는 트래픽의 대역폭을 계산하고자 합니다.
예를 들어서 아래와 같은 정보를 알고 싶은거죠...
eth0
10.1.1.1 ----> 100.1.1.1 TCP 3Mega
10.1.1.2 -----> 23.1.1.1 UDP 30Kbytes
eth1
1.1.1.1 ----> 2.2.2.2 TCP 20Mega
3.3.3.3 ----> 4.4.4.4 UDP 30Mega
디바이스 드라이버에 통계정보를 알아오는 함수가 있기는 한데(ifconfig 하면 출력되는 통계 값들), 프로토콜 별로 나눠서(위와 같이 IP주소별, UDP TCP별) 계산이 불가능하더군요...소스를 좀 들여다 봤더니 레지스터 값만 읽어오는 거라 단순히 하드웨어를 지나가는 byte수 혹은 패킷갯수정도의 수치만 알 수 있더라구요....