当前位置: 技术问答>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有什么不同的地方吗?还是程序问题,请高手指教,十万火急!谢谢
#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;
}
/* TCP连接因RST数据包而关闭 */
if (a_tcp->nids_state == NIDS_RESET)
{
fprintf (stderr, "resetn");
return;
}
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。