반응형

Libpcap 4

[pcap 라이브러리] 8. 저장한 파일을 이용하기 소스 코드 (pcap_open_offline)

저장한 파일을 이용하기device = pcap_open_offline(argv[1],errbuf); // char *device; pcap_t *pcap_handle; // device = pcap_lookupdev(errbuf);// if(device == 0){ printf("fail lookupdev...%s\n",errbuf); }// printf("find device: %s sniffing\n",device); pcap_handle = pcap_open_offline(argv[1],errbuf); if(pcap_handle == 0){ printf("fail open_offline...%s\n",errbuf); } //pcap_handle = pcap_open_live(device, 4096,..

[pcap 라이브러리] 6. 자신의 Network에 필터를 적용하여 패킷 캡쳐 소스 코드

자신의 Network에 필터를 적용하여 패킷 캡쳐 //pc_netfilter.c#include "core_ehp.h" void catch_handler(u_char *args,cp_pkthdr *handle,cu_char *packet);void decode_eth(cu_char *base);int decode_ip(cu_char *base);int decode_tcp(cu_char *base);void decode_data(cu_char *packet,u_int len);void view_ether_addr(const char *pre,cu_char *base); int main(int argc,char **argv){ cu_char *packet; char errbuf[PCAP_ERRBUF_SIZE]..

[pcap 라이브러리] 5. 필터 적용하여 패킷 캡쳐하기(소스 포함)

필터 적용하여 패킷 캡쳐하기필터를 적용하려면 먼저 컴파일후에 설정해야 한다. 필터는 tcpdump의 필터식을 사용한다.필터 컴파일하기int pcap_compile(pcap_t *handle, struct bpf_program *fcode, const char *fstr, int opt, bpf_u_int32 mask);필터 설정하기int pcap_setfilter(pcap_t *p, struct bpf_program *fp)//pc_filter.c#include "core_ehp.h" void catch_handler(u_char *args,cp_pkthdr *handle,cu_char *packet);void decode_eth(cu_char *base);int decode_ip(cu_char *bas..

반응형