我正在尝试在启动时加载内核模块.
如果我跑insmod /path/to/module.ko,它运作正常.但每次重新启动时都必须重复此操作.
如果我跑modprobe /path/to/module.ko,它找不到模块.我知道modprobe使用配置文件,但即使将/path/to/module.ko添加到/ etc/modules之后我也无法加载模块.
什么是正确的配置?
我正在使用netfilter队列库实现用户空间防火墙.我得到了队列的文件描述符,nfq_fd()所以我可以调用recv(fd, recv_buf, BUFFERSIZE, MSG_DONTWAIT)来获取数据包数据而不会阻塞.但有时recv()每次调用时都会返回52字节的数据包.如果我检查iptables -nvL INPUT数据包的输出没有增加,那么它们实际上并不是从网络发送的.Edit3:nfq_handle_packet()在我传递其中一个奇数数据包时返回-1,并且它永远不会触发回调函数,因此我无法获取数据包ID或返回判决.
为什么recv()给我这些奇数包?
EDIT1:
数据包并非完全相同,但它们具有相似的结构.还有一些重复.这是其中几个的hexdump:
0000 34 00 00 00 02 00 00 00 00 00 00 00 BE 4E 00 00 4............N..
0010 FE FF FF FF 20 00 00 00 01 03 01 00 00 00 00 00 .... ...........
0020 00 00 00 00 00 00 00 00 0C 00 02 00 00 00 00 01 ................
0030 01 00 00 00 ....
0000 34 …Run Code Online (Sandbox Code Playgroud) 如果我从登录 shell 运行此命令:
$ echo $0
Run Code Online (Sandbox Code Playgroud)
它返回:
-bash
Run Code Online (Sandbox Code Playgroud)
为什么登录shell前面有一个减号?如果我再次运行 bash,那么 $0 就是“bash”。
Windows Indexing Service在检测到"用户处于活动状态"时暂停.是否有注册表项或其他东西使其继续索引,无论用户活动如何?
澄清:在Windows XP中