如何捕获对设备文件的写入和读取

时间:2018-07-27 11:25:25

标签: c

我想捕获对设备文件/ dev / xxx的写入和读取。这可能吗?对于网络流量,我之前使用过libpcap。是否有类似的库可用来捕获非网络设备文件的流量?

1 个答案:

答案 0 :(得分:0)

使用套接字的基本嗅探器

我提出要约,请参见this page

要对ForEach进行C语言的简单嗅探,步骤如下:

  1. 创建一个原始套接字。
  2. 将其放入code循环中并在其上接收数据。

当放入recvfrom循环中时,原始套接字会接收所有传入的数据包。这是因为它没有绑定到特定的地址或端口。

recvfrom

缓冲区将保留嗅探或拾取的数据。嗅探部分实际上已在此处完成。

以下sock_raw = socket(AF_INET , SOCK_RAW , IPPROTO_TCP); while(1) { data_size = recvfrom(sock_raw , buffer , 65536 , 0 , &saddr , &saddr_size); } 显示了这种嗅探器的示例。请注意,它仅嗅探传入的数据包。

code