如何用ioctl获得网卡接收到的数据包和字节数,编程实现不是用linux命令查看!
我想用编程实现获得网卡接收到的数据包和字节数,我会一些ioctl获得网卡信息的方式,但是现在又要实现获得网卡数据包。
我最初的目的是用libpcap抓取网络数据包,然后自己计算数量,但是用pcap只抓我们想要的业务包不要非业务包,我抓去的时候用了过滤表达式,但是我还是需要网卡获得的总的数据包(业务和非业务包),我想用ioctl应该可以实现,希望高人指点!
[解决办法]
都会报什么错误呢?
我感觉你这句代码这样写是不是不太合适.
ifr.ifr_data = (char *) &edata;
ifru_data实际的数据类型是指针吧
void __user* ifru_data;//用户数据
赋值的时候最好是用字符串拷贝函数或者内存拷贝函数。
你试试吧,我有一次这样修改后,就不会提示这样的错误!(是别的操作,不是你的获取数据包)
[解决办法]
网卡不知道了, 一个socket的可以用ioctl FIONREAD
[解决办法]