当前位置:编程学习 > 网站相关 >>

winpcap+libnids解析tcp包求助

我用winpcap+libnids解析tcp包。现在用wpcap捕获帧没有问题。但是换作libnids后,编译运行都没有错误,就是
抓不到tcp的包,这可能是什么原因呢?(我用的是libnids1.19中的例子程序)
.............
void
sniff_callback (struct tcp_stream *a_tcp, void **this_time_not_needed)
{
.............
}


int
main ()
{
pcap_if_t *alldevs;
pcap_if_t *d;
int inum;
int i=0;
char *pi;
char po[100];
//pcap_t *adhandle;
char errbuf[PCAP_ERRBUF_SIZE];
char* net_inte易做图ce;

    /* 获取本机设备列表 */
    if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL, &alldevs, errbuf) == -1)
    {
        fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf);
        exit(1);
    }
    
    /* 打印列表 */
    for(d=alldevs; d; d=d->next)
    {
        printf("%d. %s", ++i, d->name);
        if (d->description)
            printf(" (%s)\n", d->description);
        else
            printf(" (No description available)\n");
    }

    if(i==0)
    {
        printf("\nNo inte易做图ces found! Make sure WinPcap is installed.\n");
        return -1;
    }
    
    printf("Enter the inte易做图ce number (1-%d):",i);
    scanf("%d", &inum);
    
    if(inum < 1 || inum > i)
    {
        printf("\nInte易做图ce number out of range.\n");
        /* 释放列表 */
        pcap_freealldevs(alldevs);
        return -1;
    }
        
    /* 跳转到选中的适配器 */
    for(d=alldevs, i=0; i<inum-1 ;d=d->next, i++)
{
//printf("d->name:%s\n",d->name);
}
//d = alldevs->next;
printf("d->name:%s\n",d->name);


pi = d->name;
pi = pi + sizeof("rapcap://Device\\") -1;
printf("pi:%s\n",pi);

for(i=0;i<100;i++)
po[i] = '\0';

strcpy(po,"\\Device\\");
printf("%s\n",po);
strcat(po,pi);
printf("%s\n",po);
net_inte易做图ce = po;
         //此时就存储了我的网卡name指针
nids_params.device=po;

  if (!nids_init ())
  {
   fprintf(stderr,"%s\n",nids_errbuf);
   exit(1);
  }

  nids_register_tcp (sniff_callback);

  nids_run ();

  return 0;
}
--------------------编程问答-------------------- nids_register_tcp (sniff_callback); 

你只是注册了一个回调函数,并没有写tcp怎么处理啊。 --------------------编程问答-------------------- 同问,tcp回调函数根本就没有调用到
补充:云计算 ,  云安全
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,