当前位置:  技术问答>linux和unix

关于libnids开发包的问题

    来源: 互联网  发布时间:2016-02-17

    本文导语:  我自己编写了一个很简单的libnids开发包的程序,目的是测试一条链接各个状态的完整性, #include  #include  #include  void tcp_callback(struct tcp_stream *a_tcp,void **no_use) { if(a_tcp->nids_state==NIDS_JUST_EST) { if(a_tcp->addr.dest==25) { ...

我自己编写了一个很简单的libnids开发包的程序,目的是测试一条链接各个状态的完整性,
#include 
#include 
#include 
void tcp_callback(struct tcp_stream *a_tcp,void **no_use)
{
if(a_tcp->nids_state==NIDS_JUST_EST)
{
if(a_tcp->addr.dest==25)
{
a_tcp->server.collect++;
        printf("开始n");
        return;

    return;
}
if(a_tcp->nids_state==NIDS_DATA)
{printf("数据传输n");  return;}
if(a_tcp->nids_state==NIDS_CLOSE)
{printf("结束n");  return;}
return;
}

int main()
{
  nids_params.device="2";//有的机器应该设成nids_params.device="1";
  if(!nids_init())
     {printf("初始化错误:%sn",nids_errbuf);
  exit(1);
  }
   nids_register_tcp(tcp_callback);
   nids_run();

}
此程序是为了把25号端口的信息,截获并找到其状态,我用outlook进行测试完全正常,但用foxmail测试就会出现问题,只能进行到数据传输的状态,但检测不到结束的状态,难道是foxmail与outlook有什么不同的地方吗?还是程序问题,请高手指教,十万火急!谢谢

|
看看是不是收到RST了:
/* TCP连接因RST数据包而关闭 */
if (a_tcp->nids_state == NIDS_RESET)
{
    fprintf (stderr, "resetn");
    return;
}

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何修改libnids的makefile文件,让编译生成的库文件放在本地路径
  • 请问libnids 程序能运行的原因
  • libnids捕捉到的gzip数据怎么解压?!!!求高手指导
  • Libnids捕获FTP文件问题??跪求大侠们帮帮小弟!
  • linux下运行libnids那个自带的示例程序printall,有点问题
  • 要学习下libnids源码,前辈提点建议
  • 为什么libnids只能捕获单向数据流,而不是双向的
  • 装libnids-1.16的时候遇到这样的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    NOSQL iis7站长之家