SW 개발

[linux api] 리눅스에서 네트워크정보(traffic) 확인하기 : 예제

. . . 2017. 11. 20. 18:02
반응형
리눅스에서 system api 를 사용하지 않고 sys fs 를 이용하여 네트워크의 상태를 알수있다.

네트워크 상태확인 sys fs

 굳이 API 를 사용하지 않고도 네트워크의 상태를 확인할수있다.
/sys/devices/virtual/net/ppp0/statistics

위의 경로에 가면 read only 로 파일들을 읽을수있다. 트래픽 정보 뿐만아니라 각종 정보들이 추가로 있으니 각 상황에 맞게 코딩할수있는 장점이 있다.


  • 위의 경로에서 "ppp0" 해당 부분은 인터페이스 이름을 적으면 된다.

간단한 예제

총 tx 량 계산예제
void GetTrafficInfo()
{
    int fd = 0;
    char buff[512];
    if( is_found_ppp_device() >= 0)
    {
        fd = open ("/sys/devices/virtual/net/ppp0/statistics/tx_bytes", O_RDONLY);
        memset(buff, 0x00, 512);
        read(fd, buff, 512);
        printf(" tx byte is [%s]rn",buff);


    }
}



반응형