컴퓨터에서 실행되는 두 개의 프로그램 (단순화를 위해 리눅스에서 실행되는 유일한 사용자 프로그램) 중 하나는 recv()를 호출하고 그 중 하나는 들어오는 패킷을 탐지하기 위해 pcap을 사용한다고 가정 해보십시오. 패킷이 도착하면 pcap을 사용하는 프로그램과 recv를 사용하는 프로그램 모두에서 패킷이 감지됩니다. 하지만, 어떤 경우 (예를 들어 recv()가 pcap_next()에 대한 호출 사이에서 돌아 오는 경우)이 둘 중 하나가 패킷을 가져 오지 않을 수 있습니까?recv가 pcaps 버퍼에서 패킷을 제거합니까?
여기 버퍼링 시스템이 어떻게 작동하는지 이해할 수 없으므로 더 자세한 설명이 더 나을 것입니다.이 프로그램 중 하나가 다른 하나의 패킷을 볼 수있는 경우가 있습니까? 그렇다면 무엇이며 어떻게 예방할 수 있습니까?