본문으로 바로가기

Packet sniffer develop #libpcap API list

category 카테고리 없음 2018. 3. 25. 18:23

libpcap이 무엇이고 설치까지 끝났으니 이제 본격적으로 libpcap가 어떤 API들을 가지고 있는지 살펴보자


우선 API를 어떻게 분류했는지 살펴보고 그에 해당하는 API 이름들만 간략하게 살펴보자


실습을 아직 하지 않았기 때문에 정확한 설명이 아닐 수도 있다.


다음 포스트에서 실습을 통해 주요 API에 대해 알아보며 정확한 기능들을 익혀보자


자료조사는 www.tcpdump.org의 내용을 참고했다






0x01. pcap_create

> get a pcap_t for live capture

> 실시간 캡쳐를 위해 pcap_t를 가져오기


0x02. pcap_activate

> activate a pcap_t for live capture

> 실시간 캡쳐를 위해 pcap_t를 활성화 



0x03. pcap_findalldevs

> get a list of devices that can be opened for a live capture

> 실시간 캡쳐를 위해 열 수 있는 장치 목록


0x04. pcap_freealldevs

> free list of devices

> 장치 목록


0x05. pcap_lookupdev

> get first non-loopback device on that list

> 해당 목록에서 첫번째 비 잠금식 디바이스 가져오기


0x06. pcap_open_offline

> open a pcap_t for a ``savefile'', given a pathname

> 경로 이름이 주어진 savefile을 위해 pcap_t를 열어보자


0x07. pcap_open_offline_with_tstamp_precision

> open a pcap_t for a ``savefile'', given a pathname, and specify the precision to provide for packet time stamps

> 경로 이름이 주어진 "savefile"을 위해 pcap_t를 열고 패킷 타임 스탬프에 대해 제공할 정밀도를 지정한다.


0x08. pcap_fopen_offline

> open a pcap_t for a ``savefile'', given a FILE *

> 파일에 지정된 "savefile"을 위해 pcap_t를 열어둔다.


0x09. pcap_fopen_offline_with_tstamp_precision

> open a pcap_t for a ``savefile'', given a FILE *, and specify the precision to provide for packet time stamps

> FILE*이 주어진 "savefile"을 위해 pcap_t를 열고 패킷 타임 스탬프를 제공하는 정밀도를 지정한다.


0x0A. pcap_open_dead

>create a ``fake'' pcap_t

> pcap_t에 가짜를 생성한다.


0x0B. pcap_close

> close a pcap_t

> pcap_t를 닫는다.


0x0C. pcap_set_snaplen

> set the snapshot length for a not-yet-activated pcap_t for live capture

> 실시간 캡쳐를 위해 아직 활성화 되지 않은 pcap_t의 스냅 샷 길이를 설정한다.


0x0D. pcap_snapshot

> get the snapshot length for a pcap_t

> pcap_t의 스냅 샷 길이 가져오기


0x0E. pcap_set_promisc

> set promiscuous mode for a not-yet-activated pcap_t for live capture

> 실시간 캡쳐를 위해 아직 활성화되지 않은 pcap_t에 대해 Promiscuous모드를 설정한다


0x0F. pcap_set_protocol

> set capture protocol for a not-yet-activated pcap_t for live capture (Linux only)

> 실시간 캡쳐를 위해 아직 활성화되지 않은 pcap_t에 대해 캡쳐 프로토콜을 설정한다(리눅스 전용)


0x10. pcap_set_rfmon

> set monitor mode for a not-yet-activated pcap_t for live capture

> 실시간 캡쳐를 위해 아직 활성화되지 않은 pcap_t에 대한 모니터 모드 설정


0x11. pcap_can_set_rfmon

> determine whether monitor mode can be set for a pcap_t for live capture

> 실시간 캡쳐를 위해 pcap_t에 대해 모니터 모드를 설정할 수 있는지 여부를 확인


0x12. pcap_set_timeout

> set packet buffer timeout for a not-yet-activated pcap_t for live capture

> 실시간 캡처를 위해 아직 활성화되지 않은 pcap_t에 대해 패킷 버퍼 시간 초과 설정


0x13pcap_set_buffer_size

> set buffer size for a not-yet-activated pcap_t for live capture

> 실시간 캡쳐를 위해 아직 활성화되지 않은 pcap_t에 대해 버퍼 크기를 설정


0x14. pcap_set_tstamp_type

> set time stamp type for a not-yet-activated pcap_t for live capture

> 실시간 캡쳐를 위해 아직 활성화 되지 않은 pcap_t에 대해 타임 스탬프 유형을 설정


0x15. cap_list_tstamp_types

> get list of available time stamp types for a not-yet-activated pcap_t for live capture

> 실시간 캡쳐를 위해 아직 활성화되지 않은 pcap_t에 사용 가능한 타임 스탬프 유형의 목록을 가져온다


0x16. pcap_free_tstamp_types

> free list of available time stamp types

> 사용 가능한 타임 스탬프 유형의 리스트


0x17. pcap_tstamp_type_val_to_name

> get name for a time stamp type

> 타임 스탬프 유형의 이름을 가져온다


0x18. pcap_tstamp_type_val_to_description

> get description for a time stamp type

> 타임 스탬프 유형에 대한 설명을 가져온다


0x19. pcap_tstamp_type_name_to_val

> get time stamp type corresponding to a name

> 이름에 해당하는 타임 스탬프 유형을 가져온다


0x1A. pcap_set_tstamp_precision

> set time stamp precision for a not-yet-activated pcap_t for live capture

> 실시간 캡쳐를 위해 아직 활성화 되지 않은 pcap_t에 대한 타임 스탬프 정확도를 설정한다


0x1B. pcap_get_tstamp_precision

> get the time stamp precision of a pcap_t for live capture

> 실시간 캡쳐를 위해 pcap_t의 타임 스탬프 정확도를 가져온다


0x1C. pcap_datalink

> get link-layer header type for a pcap_t

> pcap_t의 데이터링크 계층 헤더 유형 가져오기


0x1D. pcap_file

> get the FILE * for a pcap_t opened for a ``savefile''

> "savefile"을 위해 pcap_t에 대한 FILE*을 열도록 한다.


0x1E. pcap_is_swapped

> determine whether a ``savefile'' being read came from a machine with the opposite byte order

> 읽고 있는 "savefile"이 반대 바이트 순서를 가진 기계에서 왔는지 여부를 결정한다.


0x1F. pcap_major_version  /  pcap_minor_version

> get the major and minor version of the file format version for a ``savefile"

> 파일 형식의 주요 버전과 부 버전을 "savefile"용으로 구한다.