首页 > 代码库 > libnids关于计算校验和引起的抓不到包的现象的解决方法
libnids关于计算校验和引起的抓不到包的现象的解决方法
libnids关于计算校验和引起的抓不到包的现象的解决方法:
nids.h中有这么一段:
struct nids_chksum_ctl {
u_int netaddr;
u_int mask;
u_int action;
u_int reserved;
};
extern void nids_register_chksum_ctl(struct nids_chksum_ctl *,int);
这段是相关与计算校验和的,比较新的网卡驱动会自动计算校验和,我们要做的就是把它关掉,方法是:
在main()函数的最开始加上这样一段代码:
struct nids_chksum_ctl temp;
temp.netaddr = 0;
temp.mask = 0;
temp.action = 1;
nids_register_chksum_ctl(&temp,1);
这样就关闭了校验和的计算,重新编译运行程序就能抓到包了。
libnids关于计算校验和引起的抓不到包的现象的解决方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。