• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ pcap_lookupdev函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中pcap_lookupdev函数的典型用法代码示例。如果您正苦于以下问题:C++ pcap_lookupdev函数的具体用法?C++ pcap_lookupdev怎么用?C++ pcap_lookupdev使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了pcap_lookupdev函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: main

int main(){
    char *dev; 
    int ret; 
    char errbuf[PCAP_ERRBUF_SIZE];
    bpf_u_int32 netp; 
    bpf_u_int32 maskp;
    pcap_t* descr;

    dev = pcap_lookupdev(errbuf);
    if(dev == NULL){
        printf("%s\n",errbuf);
        exit(1);
    }
    
    ret = pcap_lookupnet(dev,&netp,&maskp,errbuf);
    if(ret == -1){
        printf("%s\n",errbuf);
        exit(1);
    }
    
    descr = pcap_open_live(dev,BUFSIZ,1,1,errbuf);
    if(descr == NULL){
	printf("%s\n",errbuf);
	exit(1);
    }
    pcap_loop(descr,-1,find,NULL);
    return 0;
}
开发者ID:okas832,项目名称:Packet_HW,代码行数:28,代码来源:pcap_main.c


示例2: main

int main(int argc, char *argv[])
{
	char *dev;
	char errbuf[PCAP_ERRBUF_SIZE];
	pcap_t *pd;
        
	if(!(dev = pcap_lookupdev(errbuf)))
	{
		perror(errbuf);
		exit(1);
	}
        
	if((pd = pcap_open_live(dev, PCAP_SNAPSHOT, 1, PCAP_TIMEOUT, errbuf)) == NULL) 
	{
		perror(errbuf);
		exit(1);
	}
        
	if(pcap_loop(pd, -1, packet_view, 0) < 0) 
	{
		perror(pcap_geterr(pd));
		exit(1);
	}
        
	pcap_close(pd);
        return 0;
}
开发者ID:gusals224,项目名称:network,代码行数:27,代码来源:packet.c


示例3: startSniffer

void startSniffer(char *filter)
{
	struct in_addr in;

	if (dev == NULL)
		if ((dev = pcap_lookupdev(errbuf)) == NULL) {
			fprintf(stderr, "startSniffer: couldn't find a device to sniff: %s\n", errbuf);
			exit(1);
		}

	printf("\n\n%s starting: listening on device: %s\n", VERSION, dev);

	if ((pd = pcap_open_live(dev, SNAPLEN, promisc, readtimeout, errbuf)) == NULL) {
		fprintf(stderr, "startSniffer: pcap_open_live failed: %s\n", errbuf);
		exit(1);
	}


	pcap_lookupnet(dev, &netp, &maskp, errbuf);
	in.s_addr = netp;
	printf("%s (%s/", dev, inet_ntoa(in));
	in.s_addr = maskp;
	printf("%s) opened successfully in %spromiscuous mode\n", inet_ntoa(in), (promisc ? "" : "non-"));

	if (filter != NULL) {
		pcap_compile(pd, &fprog, filter, 0, netp);
		if ((pcap_setfilter(pd, &fprog)) == -1) {
			fprintf(stderr, "startSniffer: pcap_setfilter: cannot set filter\n");
			exit(1);
		}
		pcap_freecode(&fprog);
	}
}
开发者ID:EnderUNIX,项目名称:Hafiye,代码行数:33,代码来源:Sniff.c


示例4: main

int main(void) {
  char *device=NULL;
  pcap_if_t *alldevsp;

  char errbuf[PCAP_ERRBUF_SIZE];


  device = pcap_lookupdev(errbuf);
  printf("device %s\n",device);




  if (pcap_findalldevs (&alldevsp, errbuf) < 0)   
    {
      fprintf (stderr, "Error %s", errbuf);
      exit (1);
    }

  while (alldevsp != NULL)
    {
      printf ("%s\n", alldevsp->name);
      alldevsp = alldevsp->next;
    }

  return 1;

}
开发者ID:iloveloveyou,项目名称:chirico,代码行数:28,代码来源:pcap0.c


示例5: main

int main(void)
{
	printf("I'm a sniffer, running...\n");

	pcap_t *sniffer_handle = NULL;
	char errbuf[PCAP_ERRBUF_SIZE], *device = NULL;
	int count = 0;
	memset(errbuf, 0, PCAP_ERRBUF_SIZE);

	device = pcap_lookupdev(errbuf);
	if (device == NULL)
		err_die(errbuf);
	printf("Opening device %s\n", device);

	sniffer_handle = pcap_open_live(device, 2048, 1, 512, errbuf);
	if (sniffer_handle == NULL)
		err_die(errbuf);

	if (pcap_datalink(sniffer_handle) != DLT_EN10MB)
	{
		printf("不支持Ethernet headers\n");
	}

	pcap_loop(sniffer_handle, -1, process_packet, (u_char *)&count);

	return 0;
}
开发者ID:2012-wangjiaqi,项目名称:network_sniffer,代码行数:27,代码来源:base_sniffer.c


示例6: pcap_lookupdev

/* Find and prepare ethernet device for capturing */
pcap_t *prepare_capture(char *interface, int promisc, char *capfilter) {
    char errbuf[PCAP_ERRBUF_SIZE];
    pcap_t *pcap_hnd;
    char *dev = NULL;
    bpf_u_int32 net, mask;
    struct bpf_program filter;


    /* Starting live capture, so find and open network device */
    if (!interface) {
        dev = pcap_lookupdev(errbuf);
        if (dev == NULL)
            LOG_DIE("Cannot find a valid capture device: %s", errbuf);
    } else {
        dev = interface;
    }

    if (pcap_lookupnet(dev, &net, &mask, errbuf) == -1) net = 0;

    pcap_hnd = pcap_open_live(dev, BUFSIZ, promisc, 0, errbuf);
    if (pcap_hnd == NULL)
        LOG_DIE("Cannot open live capture on '%s': %s", dev, errbuf);

    set_link_header_offset(pcap_datalink(pcap_hnd));

    /* Compile capture filter and apply to handle */
    if (pcap_compile(pcap_hnd, &filter, capfilter, 0, net) == -1)
        LOG_DIE("Cannot compile capture filter '%s': %s", capfilter, pcap_geterr(pcap_hnd));

    if (pcap_setfilter(pcap_hnd, &filter) == -1)
        LOG_DIE("Cannot apply capture filter: %s", pcap_geterr(pcap_hnd));

    pcap_freecode(&filter);
    return pcap_hnd;
}
开发者ID:kuaikuai,项目名称:httpcap,代码行数:36,代码来源:test_cap.c


示例7: main

int main()
{
    char *dev,errbuf[PCAP_ERRBUF_SIZE];
    pcap_t * handle;
    struct pcap_pkthdr header;
    const u_char *packet;

    struct bpf_program fp;
    char filter_exp[]="dst host www.google.com";
    bpf_u_int32 mask,net;

    dev=pcap_lookupdev(errbuf);

    pcap_lookupnet(dev,&net,&mask,errbuf);

    handle=pcap_open_live(dev,BUFSIZ,0,-1,errbuf);

    //pcap_compile(handle,&fp,filter_exp,0,net);

    //pcap_setfilter(handle,&fp);

    packet=pcap_next(handle,&header);
    printf("%d\n",header.len);

    pcap_loop(handle,-1,callback,NULL);
    pcap_close(handle);

    return 0;
}
开发者ID:war,项目名称:offlinetwitter,代码行数:29,代码来源:capture.c


示例8: pcap_lookupdev

/*
 * Class:     com_me_lodea_jcap_JCapSession
 * Method:    getDefaultInterface
 * Signature: ()Ljava/net/NetworkInterface;
 */
JNIEXPORT jobject JNICALL Java_com_me_lodea_jcap_JCapSession_getDefaultInterface
  (JNIEnv* const env, const jclass clazz)
{
    char errorbuf[PCAP_ERRBUF_SIZE];
    const char* dev;
    jclass ifaceClass;
    jmethodID factory;
    jstring ifaceName;
    
    dev = pcap_lookupdev(errorbuf);
    if (dev == NULL)
    {
        throwJCapException(env, errorbuf);
        return NULL;
    }
    ifaceClass = (*env)->FindClass(env, "java/net/NetworkInterface");
    if (ifaceClass == NULL)
    {
        return NULL;
    }
    factory = (*env)->GetStaticMethodID(env, ifaceClass,
        "getByName", "(Ljava/lang/String;)Ljava/net/NetworkInterface;");
    if (factory == NULL)
    {
        return NULL;
    }
    ifaceName = (*env)->NewStringUTF(env, dev);
    if (ifaceName == NULL)
    {
        return NULL;
    }
    return (*env)->CallStaticObjectMethod(env, ifaceClass, factory, ifaceName);
}
开发者ID:quelgar,项目名称:jcap,代码行数:38,代码来源:jcap.c


示例9: pcap_initialize

/*
 * PCap initialize
 */
int pcap_initialize(char *pcap_errbuf, u_int32_t *net, u_int32_t *mask)
{
    char *dev;

    // find a device if not specified
    if(!progopt.device_set()) {
        dev = pcap_lookupdev(pcap_errbuf);
        if (dev == NULL) {
            return 0;
        }
    }
    else {
        dev = progopt.device;
    }

    // get network number and mask associated with capture device
    if(pcap_lookupnet(dev, net, mask, pcap_errbuf) == -1) {
        return 0;
    }

    // open capture device
    handle = pcap_open_live(dev, PKT_LEN, 1, progopt.time, pcap_errbuf);
    if (handle == NULL) {
        return 0;
    }

    return 1;
}
开发者ID:olemoudi,项目名称:toolbox,代码行数:31,代码来源:inject.cpp


示例10: capture_package

void capture_package( char * dst_ip_str )
{
	pcap_t* pcap_handle;
	char error_content[PCAP_ERRBUF_SIZE];
	char *net_interface;
	struct bpf_program bpf_filter;
	/* "" indicates capture all packet*/
	char bpf_filter_string[] = "tcp";
	bpf_u_int32 net_mask;
	bpf_u_int32 net_ip;

	/* get network interface */
	net_interface = pcap_lookupdev( error_content );
	if(net_interface == NULL){
		fprintf(stderr, "Couldn't find default device: %s\n",
           error_content);
		exit(1);
	}
	printf("Device: %s\n", net_interface);

	/* get network addr, mask */
	if( pcap_lookupnet( net_interface, &net_ip,
                     &net_mask, error_content ) == -1){
		fprintf(stderr, "Couldn't get netmask for device %s\n",
            net_interface);
		exit(1);
	}

	/* open network interface */
	pcap_handle = pcap_open_live( net_interface, BUFSIZ,
                               1, 0, error_content );
	if(pcap_handle == NULL){
		fprintf(stderr, "Couldn't open device %s: %s\n",
           net_interface, error_content);
		exit(1);
	}

	//sprintf(bpf_filter_string, "src %s and dst %s tcp", net_ip, dst_ip_str);
	/* compile the filter */
	if( pcap_compile( pcap_handle, &bpf_filter,
                   bpf_filter_string, 0, net_ip ) == -1){
		fprintf(stderr, "couldn't parse filter: %s: %s\n",
           bpf_filter_string, pcap_geterr(pcap_handle));
		exit(1);
	}
	/* set the filter */
	if( pcap_setfilter( pcap_handle, &bpf_filter ) == -1 ){
		fprintf(stderr, "couldn't install filter: %s: %s\n",
          bpf_filter_string, pcap_geterr(pcap_handle));
		exit(1);
	}

	//if( pcap_datalink( pcap_handle ) != DLT_EN10MB ) //return link layer type
	//	return;
	/* register the call back function, capture the packet in loop
	   then, callback function analysis the packet */
	pcap_loop( pcap_handle, -1, tcp_protocol_packet_callback, NULL );
	pcap_close( pcap_handle );

}
开发者ID:WangLin2011,项目名称:simple_port_scanner,代码行数:60,代码来源:captpacket.c


示例11: main

int main() {
	struct pcap_pkthdr header;
	const u_char *packet;
	char errbuf[PCAP_ERRBUF_SIZE];
	char *device;
	pcap_t *pcap_handle;
	int i;

	device = pcap_lookupdev(errbuf);
	if(device == NULL)
		pcap_fatal("pcap_lookupdev", errbuf);

	printf("Sniffing on device %s\n", device);
	
	pcap_handle = pcap_open_live(device, 4096, 1, 0, errbuf);
	if(pcap_handle == NULL)
		pcap_fatal("pcap_open_live", errbuf);
	
	for(i=0; i < 3; i++) {
		packet = pcap_next(pcap_handle, &header);
		printf("Got a %d byte packet\n", header.len);
		dump(packet, header.len);
	}

	pcap_close(pcap_handle);
}
开发者ID:17twenty,项目名称:hackingSkel,代码行数:26,代码来源:pcap_sniff.c


示例12: main

int main(int argc,char *argv[]){  
	char *dev, errbuf[PCAP_ERRBUF_SIZE];  
	int i  =  0;
	struct bpf_program filter;
	char filter_app[]  =  "src host  192.168.8.144 && arp ";
	bpf_u_int32 mask;
	bpf_u_int32 net;
	pcap_t *handle  =  NULL;
	pcap_dumper_t *pcap_dumper  =  NULL;
	dev = pcap_lookupdev(errbuf);  
	if(dev == NULL){  
		fprintf(stderr,"couldn't find default device: %s\n",errbuf);  
		return(2);  
	}  
	prjntf("Device: %s\n",dev);  
	pcap_lookupnet(dev,&net,&mask,errbuf);
	handle  =  pcap_open_ljve(dev,BUFSIZ,1,0,errbuf);
	pcap_compjle(handle,&filter,filter_app,0,net);
	pcap_setfjlter(handle,&filter);
	pcap_dumper  =  pcap_dump_open(handle,"ljbcaptest1.pcap");
	prjntf("%d*******\n",i);
	j  =  pcap_loop(handle,10,pcap_dump,(u_char *)pcap_dumper);
	pcap_dump_flush(pcap_dumper);
	pcap_dump_close(pcap_dumper);

	prjntf("%d*******\n",i);
	pcap_close(handle);
	return(0);  
}
开发者ID:sugarguo,项目名称:work,代码行数:29,代码来源:vimtest.c


示例13: curses_bridged_sniff

/*
 * display the interface selection for bridged sniffing
 */
static void curses_bridged_sniff(void)
{
   wdg_t *in;
   char err[PCAP_ERRBUF_SIZE];
   
   DEBUG_MSG("curses_bridged_sniff");
   
   /* if the user has not specified an interface, get the first one */
   if (GBL_OPTIONS->iface == NULL) {
      SAFE_CALLOC(GBL_OPTIONS->iface, IFACE_LEN, sizeof(char));
      strncpy(GBL_OPTIONS->iface, pcap_lookupdev(err), IFACE_LEN - 1);
   }
   
   SAFE_CALLOC(GBL_OPTIONS->iface_bridge, IFACE_LEN, sizeof(char));

   wdg_create_object(&in, WDG_INPUT, WDG_OBJ_WANT_FOCUS | WDG_OBJ_FOCUS_MODAL);
   wdg_set_color(in, WDG_COLOR_SCREEN, EC_COLOR);
   wdg_set_color(in, WDG_COLOR_WINDOW, EC_COLOR);
   wdg_set_color(in, WDG_COLOR_FOCUS, EC_COLOR_FOCUS);
   wdg_set_color(in, WDG_COLOR_TITLE, EC_COLOR_MENU);
   wdg_input_size(in, strlen("Second network interface :") + IFACE_LEN, 4);
   wdg_input_add(in, 1, 1, "First network interface  :", GBL_OPTIONS->iface, IFACE_LEN, 1);
   wdg_input_add(in, 1, 2, "Second network interface :", GBL_OPTIONS->iface_bridge, IFACE_LEN, 1);
   wdg_input_set_callback(in, bridged_sniff);
   
   wdg_draw_object(in);
      
   wdg_set_focus(in);
}
开发者ID:devlicious,项目名称:ettercap,代码行数:32,代码来源:ec_curses.c


示例14: capture

void capture(char *dev) {
  pcap_t *pcap;
  char errbuf[PCAP_ERRBUF_SIZE];
  struct pcap_pkthdr header;	/* The header that pcap gives us */
  const u_char *packet;		/* The actual packet */

  if(NULL == dev) {
    dev = pcap_lookupdev(errbuf);
    if (dev == NULL) {
      fprintf(stderr, "Couldn't find default device: %s\n", errbuf);
      exit(1);
    }
  }

  pcap = pcap_create(dev, errbuf);
  pcap_set_rfmon(pcap, 1);
  pcap_set_promisc(pcap, 1);
  pcap_set_buffer_size(pcap, 1 * 1024 * 1024);
  pcap_set_timeout(pcap, 1);
  pcap_set_snaplen(pcap, 16384);
  pcap_activate(pcap);    
  if(DLT_IEEE802_11_RADIO == pcap_datalink(pcap)) {
    pcap_loop(pcap, 0, got_packet, 0);
  } else {
    fprintf(stderr, "Could not initialize a IEEE802_11_RADIO packet capture for interface %s\n", dev);
  }
}
开发者ID:ayourtch,项目名称:beacondump,代码行数:27,代码来源:beacondump.c


示例15: main

/* main(): Main function. Opens network interface and calls pcap_loop() */
int main(int argc, char *argv[] ){ 

    int i=0, count=0; 
    pcap_t *descr = NULL; 
    char errbuf[PCAP_ERRBUF_SIZE], *device=NULL; 
    memset(errbuf,0,PCAP_ERRBUF_SIZE); 

    if( argc > 1){  /* If user supplied interface name, use it. */
        device = argv[1];
    }
    else{  /* Get the name of the first device suitable for capture */ 

        if ( (device = pcap_lookupdev(errbuf)) == NULL){
            fprintf(stderr, "ERROR: %s\n", errbuf);
            exit(1);
        }
    }

    printf("Opening device %s\n", device); 

    /* Open device in promiscuous mode */ 
    if ( (descr = pcap_open_live(device, MAXBYTES2CAPTURE, 1,  512, errbuf)) == NULL){
        fprintf(stderr, "ERROR: %s\n", errbuf);
        exit(1);
    }

    /* Loop forever & call processPacket() for every received packet*/ 
    if ( pcap_loop(descr, -1, processPacket, (u_char *)&count) == -1){
        fprintf(stderr, "ERROR: %s\n", pcap_geterr(descr) );
        exit(1);
    }

    return 0; 

} 
开发者ID:HSpear,项目名称:cliqq,代码行数:36,代码来源:sniffer.cpp


示例16: pcap_lookupdev

int handler::init_dev(const char *dev,const char *code)
{
	char errbuf[PCAP_ERRBUF_SIZE] = { 0 };
	if (dev == 0 || strlen(dev) == 0){
		dev = pcap_lookupdev(errbuf);
	}

	handle = pcap_open_live(dev, BUFSIZ,  false, 0, errbuf);
	if (handle == 0){
		std::cout << "open dev error:" << std::endl;
		std::cout << errbuf << std::endl;
		return -1;
	}
	// 设置过滤条件
// 	bpf_u_int32 mask;
// 	bpf_u_int32 net;
// 	int rc = pcap_lookupnet(dev, &net, &mask, errbuf);
// 	if (rc == -1){
// 		std::cout << "pcap lookup error:" << std::endl;
// 		std::cout << errbuf << std::endl;
// 		return -1;
// 	}
	struct bpf_program fcode;
	pcap_compile(handle, &fcode, code, 1,0 /*mask*/);
	pcap_setfilter(handle, &fcode);

	packet::getInstance()->init(dev);

	return 0;
}
开发者ID:deadash,项目名称:ruijie,代码行数:30,代码来源:handler.cpp


示例17: my_pcap

int my_pcap(){
	char *devname;
	char errbuf[PCAP_ERRBUF_SIZE];
	devname=pcap_lookupdev(errbuf);
	printf("opening device %s\n",devname);

	int snaplen=1518;
	/// open & live dev to cap packet
	//	param1:	dev name
	//	param2:	lenght of snap packet
	//	param3:	is MISC mode,0 not,other yes
	//			this is determinated by network device setting first
	//  param4:	error buffer
	//  return:	ptr to pcap_t
	pcap_t *p_pcap=NULL;
	p_pcap = pcap_open_live(devname,snaplen,0,10,errbuf);
	if(p_pcap==NULL){
		printf("[error]: %s\n",errbuf);
		exit(-1);
	}

	///	loop tp pcap
	//	param1:	ptr to pcap_t
	//	param2:	cnt num packet to capture
	//			-1,only ocurr error to exit
	//	param3:	handler packet function ptr
	//	param4: user?
	int cnt;
	pcap_loop(p_pcap,PCAP_NUM,my_pcap_handler,(u_char*)&cnt);

	return 0;
}
开发者ID:liuyang1,项目名称:test,代码行数:32,代码来源:main.cpp


示例18: main

int main(int argc, char** argv)
{      
        int i;
        char *dev;
        char errbuf[PCAP_ERRBUF_SIZE];
        pcap_t *descr;
        const u_char *packet;
        struct pcap_pkthdr hdr;
        struct ether_header *epthr;
        struct bpf_program fp;
        bpf_u_int32     maskp;
        bpf_u_int32     netp;
       
        dev = pcap_lookupdev(errbuf);

	printf("%s", dev);
	fflush(stdout);
        pcap_lookupnet(dev, &netp, &maskp, errbuf);
       
        descr = pcap_open_live(dev, 100, 0, -1, errbuf); //ok
        descr = pcap_open_live("any", 100, 0, -1, errbuf); //tcp header error
                                                                                                                              
        pcap_compile(descr, &fp, argv[1], 0, netp);
       
        pcap_setfilter(descr, &fp);
       
        pcap_loop(descr, -1, my_callback, "kkk");
       
        fprintf(stdout, "aoaoa");
        
        return 0;
}      
开发者ID:AMCScarface,项目名称:misc,代码行数:32,代码来源:pcap_bond.c


示例19: newcaptureObjectDevice

static captureObject *
newcaptureObjectDevice(char *device, int snaplen, int promisc, int timeout)
{
    char errbuf[PCAP_ERRBUF_SIZE];
    captureObject *self;

    self = PyObject_New(captureObject, &capture_Type);
    if (self == NULL)
        return NULL;

    if (! device)
    {
        device = pcap_lookupdev(errbuf);
        if (! device)
        {
            PyErr_SetString(ErrorObject, errbuf);
            return NULL;
        }
    }
    self->device = PyMem_New(char, strlen(device));
    strcpy(self->device, device);
    self->filename = NULL;
    self->pcap = pcap_open_live(device, snaplen, promisc, timeout, errbuf);        

    if (! self->pcap)
    {
        PyMem_Free(self->device);
        PyErr_SetString(ErrorObject, errbuf);
        return NULL;
    }
    return self;
}
开发者ID:Aliced3645,项目名称:DataCenterMarketing,代码行数:32,代码来源:capturemodule.c


示例20: main

int main(int argc,char **argv)
{
        int i;
        char *dev;
        char errbuf[PCAP_ERRBUF_SIZE];
        pcap_t* descr;
        const u_char *packet;
        struct pcap_pkthdr hdr;     /* pcap.h */
        struct ether_header *eptr;  /* net/ethernet.h */

        if(argc != 2) { 
                fprintf(stdout,"Usage: %s numpackets\n",argv[0]);
                return 0;
        }

        /* grab a device to peak into¡­ */
        dev = pcap_lookupdev(errbuf);
        if(dev == NULL) { 
                printf("%s\n", errbuf); 
                exit(1); 
        }
        /* open device for reading */
        descr = pcap_open_live(dev,BUFSIZ,0,-1,errbuf);
        if(descr == NULL) { 
                printf("pcap_open_live(): %s\n",errbuf); 
                exit(1); 
        }

        /* allright here we call pcap_loop(..) and pass in our callback function */
        /* int pcap_loop(pcap_t *p, int cnt, pcap_handler callback, u_char *user)*/
        pcap_loop(descr,atoi(argv[1]),my_callback,NULL);

        fprintf(stdout,"\nDone processing packets¡­ wheew!\n");
        return 0;
}
开发者ID:mahao007,项目名称:exercise,代码行数:35,代码来源:04.c



注:本文中的pcap_lookupdev函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ pcap_lookupnet函数代码示例发布时间:2022-05-30
下一篇:
C++ pcap_inject函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap