Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
侦听系统事件以检测http请求_Http_Events_Unix_Daemon - Fatal编程技术网

侦听系统事件以检测http请求

侦听系统事件以检测http请求,http,events,unix,daemon,Http,Events,Unix,Daemon,我想编写一个unix守护进程来记录我的http请求 我决定这么做是因为我想: 了解有关HTTP协议、线程(或分叉)、unix等的知识 有一些关于我的网络活动的统计数据 从理论角度来看,我看到了我需要完成的几个子任务: 启动应侦听系统事件的主线程(或进程) 捕获http请求事件。(例如,我需要找到某种方法来区分http请求事件和其他系统事件) 创建一个新线程(或进程)将捕获的http请求写入数据库。(我不确定,但我想为IO任务创建一个新线程(或进程)以避免中断主线程或进程不是个坏主意) 我

我想编写一个unix守护进程来记录我的http请求

我决定这么做是因为我想:

  • 了解有关HTTP协议、线程(或分叉)、unix等的知识
  • 有一些关于我的网络活动的统计数据
从理论角度来看,我看到了我需要完成的几个子任务:

  • 启动应侦听系统事件的主线程(或进程)
  • 捕获http请求事件。(例如,我需要找到某种方法来区分http请求事件和其他系统事件)
  • 创建一个新线程(或进程)将捕获的http请求写入数据库。(我不确定,但我想为IO任务创建一个新线程(或进程)以避免中断主线程或进程不是个坏主意)

我不是要完整的解决方案或诸如此类的东西,我只是想得到一些参考/建议,从哪里开始实现我的目标,以及哪种工具更适合这种任务。

你说的这些“系统事件”是什么?HTTP请求是由什么发起的?@Celada,我不确定,可能是错的,但我假设当我使用浏览器或类似于cURL的工具打开网站时,应该会在操作系统中注册一些事件。也许这些事件包含了一些关于我发送的http请求的信息(至少,我对URL很感兴趣)。web服务器(最基本的)是“侦听”端口的软件。它只扫描符合HTTP标准的输入文本,然后执行接收到的命令请求所做的操作(在合理和正确的语法范围内)。这些是web服务中的事件。祝你好运@你假设得不对吗。操作系统中没有注册此类事件(无论这意味着什么)。我想您可以嗅探传出的数据包(需要root或CAP_NET_ADMIN)并尝试检测HTTP请求,但这很复杂且容易出错