Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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
Linux 在Ubuntu中通过互联网发送之前,截取用户输入数据进行处理_Linux_Linux Kernel_Kernel Module - Fatal编程技术网

Linux 在Ubuntu中通过互联网发送之前,截取用户输入数据进行处理

Linux 在Ubuntu中通过互联网发送之前,截取用户输入数据进行处理,linux,linux-kernel,kernel-module,Linux,Linux Kernel,Kernel Module,我想创建一个内核模块,在这里我需要截获所有其他应用程序的数据(用户输入),这些数据在操作系统级别通过互联网传输。我找不到一个办法。 我所看到的一些方法: 在内核块I/O层截获所有用户输入数据。一个问题是我不想在显示器上显示处理过的数据 使用POSIX套接字API截取数据。但我不知道如何区分用户输入的数据和应用程序生成的数据 我认为您需要编写一个虚拟网络驱动程序,类似于安装虚拟箱或vpn之类的东西时创建的驱动程序。使用虚拟网卡从pc发送数据。让它捕获数据并转发到真正的硬件上 我想不出另一种方法来截

我想创建一个内核模块,在这里我需要截获所有其他应用程序的数据(用户输入),这些数据在操作系统级别通过互联网传输。我找不到一个办法。 我所看到的一些方法:

  • 在内核块I/O层截获所有用户输入数据。一个问题是我不想在显示器上显示处理过的数据
  • 使用POSIX套接字API截取数据。但我不知道如何区分用户输入的数据和应用程序生成的数据

  • 我认为您需要编写一个虚拟网络驱动程序,类似于安装虚拟箱或vpn之类的东西时创建的驱动程序。使用虚拟网卡从pc发送数据。让它捕获数据并转发到真正的硬件上

    我想不出另一种方法来截取数据。正如贾科莫·卡特纳齐(Giacomo Catenazzi)所建议的那样,监测数据是可能的


    假设这里的意图是好的,如果出于调试目的,也许一个菠萝会有所帮助?(搜索菠萝WiFi)

    最好的方法是创建内核模式驱动程序。然而,即使您创建了一个虚拟网络设备,解析它也需要时间和精力。此外,如果没有能够过滤用户输入的技术,明智的做法是采用一种简单的方法,即在内核级别使用键盘记录器之类的设备来发送加密数据。

    Linux拦截系统调用的标准方法是使用ptrace,或者使用一种更安全的方法(无法绕过),systemtap

    SystemTap为用户提供免费软件(GPL)基础架构 简化有关正在运行的Linux系统的信息收集。 这有助于诊断性能或功能问题。 SystemTap消除了开发人员通过 繁琐且具有破坏性的工具、重新编译、安装和重新启动 收集数据时可能需要的顺序

    SystemTap提供了一个简单的命令行界面和脚本 为实时运行的内核plus编写指令插入的语言 用户空间应用。我们正在发布样本,以及 扩大内部“tapset”脚本库以帮助重用和 抽象

    在其他跟踪/探测工具中,SystemTap是 可能需要实时分析、在线编程的复杂任务 响应,以及整个系统的符号访问。SystemTap还可以处理 简单的跟踪作业

    但SystemTap主要用于检查目的(取证、性能、监控)

    如果你真的只是想要一些更特别的东西,那么ptrace(2)尤其是像strace(3)这样的工具是你的朋友

    如果您正在研究如何阻止对某些系统调用的访问,那么有不同的功能,例如,并且需要关于您的用例的更多信息

    例如,在Linux源代码中,有一个关于的文档。如果你想要一个安全工具(如反恶意软件产品Sophos for Linux),它会为访问时病毒扫描等功能实现一个内核模块


    如果您想修改传输中的数据,特别是网络流量,那么您可以使用许多其他工具。

    使用
    wireshark
    软件包怎么样?(如果你有其他用户,考虑法律含义)。