pcap 라이브러리를 이용하여 두장치를 동시에 패킷 캡쳐할려면?

dcmru의 이미지

pcap 라이브러리를 이용하여 패킷을 캡쳐하는데, 동시에 두 장치를 이용할려면 어떻게 해야할까요?

질문을 드린 이유는 loopback 과 eth0 을 동시에 캡쳐할려고 합니다.

여러장치명을 구해오는것은 pcap 에서 지워하는 함수도 있고, ioctl 을 이용하여 구하면 되는것 같습니다.

그런데 보통 pcap 을 이용할 때 한 장치에 대해서 패킷을 캡쳐하잖습니까?

그렇다면 동시에 두장치에 대해서 패킷을 캡쳐할려면 어떤 방법을 써야할까요?

장치의 갯수에 따라 스레드를 생성하여 패킷을 캡쳐해야하는 것인가요?

어떻게 해야하는지 조언 부탁드립니다.

dcmru의 이미지

자문자답입니다.

pcap_open_live() 함수에서 device에 NULL 또는 "any" 를 주면 모든 장치에 대해서 패킷을 캡쳐한답니다.

리눅스(2.6)에서는 확인을 하였으며, 다른 OS에서는 어떨지 모르겠습니다.

리눅스는 커널 2.2 이상의 경우랍니다.

다른 좋은 방법이 있으면, 알려주세요......
----------------
노력만이 살길이다.

노력만이 살길이다.