2013-11-15 1 views
1

안녕하세요 저는 C 프로그래밍의 초보자입니다. 사람이 errbuf [PCAP_ERRBUF_SIZE] 무엇인지 말해 줄 수, PCAP, pcap_t 방법 pcap_lookupdev은()pcap, pcap_t, errbuf [PCAP_ERRBUF_SIZE]

struct pcap_pkthdr header; 
const unsigned char *packet; 
char errbuf[PCAP_ERRBUF_SIZE]; 

char *device; 
pcap_t *pcap_handle; 

int i; 
device = pcap_lookupdev(errbuf); 
+2

여기를보세요. http://stackoverflow.com/questions/3745996/how-to-use-the-pcap-lookupdev-in-libpcap – Mali

+0

Thx,하지만 기기에서 무엇을 의미하는지 이해하지 못합니다. – maximilliano

답변

1

는 errbuf [PCAP_ERRBUF_SIZE]

일부 libpcap의 루틴들이 무엇을 실패하면 작동합니까, libpcap를 사용하는 프로그램이 오류를 사용자에게보고 할 수 있도록 오류 메시지를 버퍼에 넣습니다. pcap_lookupdev()은 이러한 루틴 중 하나입니다. NULL을 반환하면 열 수있는 장치를 찾지 못했음을 의미하므로 errbuf에 오류 메시지가 표시됩니다.

PCAP

"PCAP는"가끔의 libpcap와 WinPcap을 위해 사용되는 이름, 또는 캡처 파일 형식에 대한 그것 (그리고 Wireshark와 같은 다른 코드는) 글을 것이다.

pcap_t pcap_t

네트워크 인터페이스에서 패킷을 판독하기 위해 사용되는 핸들 또는 패킷을 포함하는 파일 (libpcap의, PCAP-NG의 최신 버전 또는)는 PCAP에서. pcap_open_live()pcap_open_offline()과 같은 libpcap/WinPcap 루틴은 pcap_loop(), pcap_dispatch(), pcap_next()pcap_next_ex()과 같은 루틴을 사용하여 패킷을 읽을 수있는 pcap_t을 반환합니다. 최신 버전의 libpcap (아직 WinPcap은 아님)에서는 pcap_create()을 호출하고 pcap_t에 다양한 옵션을 설정 한 다음 pcap_activate()으로 캡쳐 할 수 있도록 "활성화"할 수 있습니다.

가, 장치

일반적으로, 장치가 네트워크 인터페이스는에 의해 Mac에서 같은 eth0 또는 wlan0 리눅스 시스템에서, en0 또는 en1 무엇을 의미합니까, BSD에 여러 다른 이름, 솔라리스, HP-UX, AIX 등, WinPcap이있는 Windows의 다양한 암호화 문자열. 일부 플랫폼에서는 libpcap을 사용하여 컴퓨터의 USB 인터페이스 (원시 USB 트래픽 - USB 네트워크 인터페이스에서도 캡처 할 수 있지만 일반 네트워크 인터페이스와 비슷 함)에서 트래픽을 캡처 할 수 있습니다.