popen으로 tcpdump 를 실행시키려고 합니다.

ecstasy5001의 이미지

간단하게 네트워크 정보를 보기 위해서 popen으로 tcpdump를 실행시켰습니다.

int main()
{
FILE *read_fp;
char buffer[255];

memset(buffer, '\0', sizeof(buffer));

read_fp = popen("tcpdump -nn -n", "r");

while (fgets(buffer, 255, read_fp))
printf("%s\n",buffer);

return 0;
}

이렇게 코드를 작성했는데.. 한참있다가 읽어오고 한참있다가 읽어오고 이럽니다..

그냥 커맨드 창에서 tcpdump 를 실행시키면 정신없이 계속 올라오는데

저렇게 실행하니 한 10초에 한번씩 읽어오는거 같습니다.. ㅜㅜ

실시간으로 봐야하는데 꼭 pcap을 사용해야 하는건가요?

다른 방법있으면 알려주세요~