CN106209776A - 拦截原始套接字输入输出的方法和系统 - Google Patents

拦截原始套接字输入输出的方法和系统 Download PDF

Info

Publication number
CN106209776A
CN106209776A CN201610474420.2A CN201610474420A CN106209776A CN 106209776 A CN106209776 A CN 106209776A CN 201610474420 A CN201610474420 A CN 201610474420A CN 106209776 A CN106209776 A CN 106209776A
Authority
CN
China
Prior art keywords
raw socket
message function
interface
linux kernel
raw
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610474420.2A
Other languages
English (en)
Inventor
秦青
杨锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Security Management System Technology Co Ltd
Original Assignee
Beijing Kingsoft Security Management System Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Security Management System Technology Co Ltd filed Critical Beijing Kingsoft Security Management System Technology Co Ltd
Priority to CN201610474420.2A priority Critical patent/CN106209776A/zh
Publication of CN106209776A publication Critical patent/CN106209776A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种拦截原始套接字输入输出的方法,用于Linux内核,包括:查找所述Linux内核中内置的原始套接字接口;清除CPU的控制寄存器的写保护位;将所述Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数保存到所述Linux内核中新分配的原始套接字接口中;将第二接收消息函数和第二发送消息函数分别替换所述Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数;还原所述CPU的控制寄存器的写保护位。本发明还提供了一种拦截原始套接字输入输出的系统。本发明的拦截原始套接字输入输出的方法和系统,可直接拦截所有进程的原始套接字输入输出,提高了拦截性能。

Description

拦截原始套接字输入输出的方法和系统
技术领域
本发明涉及数据拦截技术领域,特别是涉及一种拦截原始套接字输入输出的方法和系统。
背景技术
原始套接字具有广泛的用途,特别是用于自定义协议(标准协议TCP、UDP和ICMP等外)的数据收发。在Linux下拦截套接字IO的一般方法是拦截对应的套接字系统调用,对于发送为sendmsg和sendto,对于接收为recvmsg和recvfrom。这种方法虽然也能拦截原始套接字IO,但要先判断套接字的类型,如果为SOCK_RAW(原始套接字类型),那么进行拦截处理,这样一来由于每次IO都要判断套接字类型,性能就比较低了。
发明内容
本发明所要解决的技术问题是提供一种拦截原始套接字输入输出的方法,直接拦截所有进程的原始套接字输入输出。
本发明所要解决的另一技术问题是提供一种拦截原始套接字输入输出的系统,直接拦截所有进程的原始套接字输入输出。
为了解决上述的技术问题,本发明的技术方案如下:
一种拦截原始套接字输入输出的方法,用于Linux内核,包括:查找所述Linux内核中内置的原始套接字接口;清除CPU的控制寄存器的写保护位;将所述Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数保存到所述Linux内核中新分配的原始套接字接口中;将第二接收消息函数和第二发送消息函数分别替换所述Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数;还原所述CPU的控制寄存器的写保护位。
进一步,所述查找Linux内核中内置的原始套接字接口的过程包括:初始化套接字接口,所述套接字接口为原始套接字类型;注册所述套接字接口,所述套接字接口位于以SOCK_RAW为索引的双向循环链表的链表头的后面;获取所述套接字接口的后一个套接字接口,该后一个套接字接口为所述Linux内核中内置的原始套接字接口;注销所述套接字接口。
进一步,在所述将所述Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数保存到所述Linux内核中新分配的原始套接字接口中的过程之前,还包括:在所述Linux内核中新分配的原始套接字接口中分配子单元。
进一步,所述将所述Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数保存到所述Linux内核中新分配的原始套接字接口中的过程包括:将所述第一接收消息函数和所述第一发送消息函数保存到所述子单元中。
进一步,在所述还原所述CPU的控制寄存器的写保护位的过程之后,还包括:清除所述CPU的控制寄存器的写保护位;将所述子单元中的所述第一接收消息函数和所述第一发送消息函数分别替换所述Linux内核中内置的原始套接字接口中的所述第二接收消息函数和所述第二发送消息函数;还原所述CPU的控制寄存器的写保护位;释放所述子单元。
以及,一种拦截原始套接字输入输出的系统,用于Linux内核,包括:查找模块,用于查找所述Linux内核中内置的原始套接字接口;写保护位清除模块,用于清除CPU的控制寄存器的写保护位;存储模块,用于将所述Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数保存到所述Linux内核中新分配的原始套接字接口中;第一替换模块,用于将第二接收消息函数和第二发送消息函数分别替换所述Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数;写保护位还原模块,用于还原所述CPU的控制寄存器的写保护位。
进一步,所述查找模块包括:初始化子模块,用于初始化套接字接口,所述套接字接口为原始套接字类型;注册子模块,用于注册所述套接字接口,所述套接字接口位于以SOCK_RAW为索引的双向循环链表的链表头的后面;获取子模块,用于获取所述套接字接口的后一个套接字接口,该后一个套接字接口为所述Linux内核中内置的原始套接字接口;注销子模块,用于注销所述套接字接口。
进一步,还包括:分配模块,在所述将所述Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数保存到所述Linux内核中新分配的原始套接字接口中的过程之前,所述分配模块用于在所述Linux内核中新分配的原始套接字接口中分配子单元。
进一步:所述存储模块用于将所述第一接收消息函数和所述第一发送消息函数保存到所述子单元中。
进一步,还包括:第二替换模块,在清除所述CPU的控制寄存器的写保护位的过程之后,所述第二替换模块用于将所述子单元中的所述第一接收消息函数和所述第一发送消息函数分别替换所述Linux内核中内置的原始套接字接口中的所述第二接收消息函数和所述第二发送消息函数;释放模块,在还原所述CPU的控制寄存器的写保护位的过程之后,所述释放模块用于释放所述子单元。
与现有技术相比,本发明包括以下优点:
1、本发明实施例的拦截原始套接字输入输出的方法,运行在内核态,直接拦截所有进程的原始套接字输入输出(IO),提高了拦截性能。
2、本发明实施例的拦截原始套接字输入输出的系统,运行在内核态,直接拦截所有进程的原始套接字输入输出(IO),提高了拦截性能。
附图说明
图1是本发明实施例的拦截原始套接字输入输出的方法的流程图;
图2是本发明实施例的查找Linux内核中内置的原始套接字接口的过程的流程图;
图3是本发明实施例的注册套接字接口之前的双向循环链表的示意图;
图4是本发明实施例的注册套接字接口之后的双向循环链表的示意图;
图5是本发明实施例的拦截原始套接字输入输出的方法在还原CPU的控制寄存器的写保护位的过程之后的流程图;
图6是本发明实施例的拦截原始套接字输入输出的系统的结构示意图;
图7是本发明又一个实施例的拦截原始套接字输入输出的系统的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例公开了一种拦截原始套接字输入输出的方法。该方法用于Linux内核。由于该方法实现在Linux内核中,为了防止其它内核模块可能也注册了原始套接字接口,因此需要在操作系统启动时优先加载该Linux内核模块。如图1所示,为本发明实施例的拦截原始套接字输入输出的方法的流程图。该方法具体包括如下的步骤:
步骤S101:查找Linux内核中内置的原始套接字接口。
在Linux内核中,struct proto_ops变量的结构提供了协议无关的套接字层到协议相关的传输层的转接,例如,IPv4协议族中内置的inet_sockraw_ops。因此,该Linux内核中内置的原始套接字接口可以为inet_sockraw_ops。
步骤S102:清除CPU的控制寄存器的写保护位。
清除CPU的控制寄存器的写保护位后,可写入数据。
步骤S103:将Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数保存到Linux内核中新分配的原始套接字接口中。
其中,在Linux中,接收消息函数一般用recvmsg表示,发送消息函数一般用sendmsg表示。应当理解的是,本发明中的“第一”、“第二”仅用于区分,没有实际含义。优选的,该Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数可置于Linux内核中内置的原始套接字接口分配的存储单元中。
步骤S104:将第二接收消息函数和第二发送消息函数分别替换Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数。
优选的,替换Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数后的第二接收消息函数和第二发送消息函数可置于Linux内核中内置的原始套接字接口分配的存储单元中。
步骤S105:还原CPU的控制寄存器的写保护位。
还原CPU的控制寄存器的写保护位后,不可写入数据。
通过上述的步骤S102~步骤S105实现挂钩IO的过程。
本发明实施例的拦截原始套接字输入输出的方法,运行在内核态,直接拦截所有进程的原始套接字输入输出(IO),提高了拦截性能。本发明实施例的方法可支持IPv4和IPv6。
如图2所示,为本发明实施例的查找Linux内核中内置的原始套接字接口的过程的流程图。由于内置的原始套接字接口(inet_sockraw_ops)为Linux内核未导出的内部符号,因此需要通过特别的方法找到它,该特别的方法基于如下的原理:
(1)所有的原始套接字类型的接口均存放在以原始套接字类型(SOCK_RAW)为索引的双向循环链表中,而Linux内核中内置的原始套接字接口inet_sockraw_ops就在该链表的末尾。
(2)Linux内核提供了调用接口API:注册套接字接口(inet_register_protosw)。对于原始套接字类型的接口,该API将输入的套接字接口插入到该链表头的后面。
因此,基于上述的原理,查找Linux内核中内置的原始套接字接口的具体过程如下:
步骤S201:初始化套接字接口。
其中,该套接字接口为原始套接字类型(SOCK_RAW)。
步骤S202:注册套接字接口。
具体的,可通过调用inet_register_protosw函数注册该套接字接口。如图3和4所示,分别为本发明实施例的注册套接字接口之前的双向循环链表的示意图及注册套接字接口之后的双向循环链表的示意图。从图中可以看出,注册套接字接口之后,该套接字接口位于以SOCK_RAW为索引的双向循环链表的链表头的后面。
步骤S203:获取该套接字接口的后一个套接字接口。
其中,该后一个套接字接口为Linux内核中内置的原始套接字接口,如图4所示。
步骤S204:注销套接字接口。
具体的,可通过调用inet_unregister_protosw函数注销该套接字接口。
通过上述的过程,可查找到Linux内核中内置的原始套接字接口。
优选的,在步骤S103之前,还包括在Linux内核中新分配的原始套接字接口中分配子单元的步骤。
该Linux内核中新分配的原始套接字接口中的子单元具有存储的功能。具体的,该Linux内核中新分配的原始套接字接口中的子单元可以是协议操作对象old_ops。
在分配了该子单元后,本发明的方法可将所述第一接收消息函数和第一发送消息函数保存到该子单元中。
在本发明一优选的实施例中,在步骤S105之后,还包括卸钩IO的过程。如图5所示,为本发明实施例的拦截原始套接字输入输出的方法在还原CPU的控制寄存器的写保护位的过程之后的流程图。该过程具体如下:
步骤S501:清除CPU的控制寄存器的写保护位。
清除CPU的控制寄存器的写保护位后,可写入数据。
步骤S502:将子单元中的第一接收消息函数和第一发送消息函数分别替换Linux内核中内置的原始套接字接口中的第二接收消息函数和第二发送消息函数。
优选的,替换Linux内核中内置的原始套接字接口中的第二接收消息函数和第二发送消息函数后的第一接收消息函数和第一发送消息函数可置于Linux内核内置的原始套接字接口分配的存储单元中。
例如,该子单元是协议操作对象old_ops,则将协议操作对象old_ops中保存的第一接收消息函数和第一发送消息函数分别替换Linux内核中内置的原始套接字接口分配的存储单元中的第二接收消息函数和第二发送消息函数。
步骤S503:还原CPU的控制寄存器的写保护位。
还原CPU的控制寄存器的写保护位后,不可写入数据。
步骤S504:释放子单元。
例如,该子单元是协议操作对象old_ops,则释放该协议操作对象old_ops。
释放子单元后,不再占用Linux内核中的内存空间。
通过上述的过程,使得Linux内核中内置的原始套接字接口中的接收消息函数和发送消息函数恢复为原来的接收消息函数和发送消息函数,保持了原程序的健壮性。
综上所述,本发明实施例的方法由于可直接拦截所有进程的原始套接字输入输出(IO),因此可用于防火墙或主机防护系统中,丢弃接收和发送的攻击或病毒数据包。
本发明实施例还公开了一种拦截原始套接字输入输出的系统。该系统用于Linux内核。如图6所示,为本发明实施例的拦截原始套接字输入输出的系统的结构示意图。该系统具体包括如下的结构。
查找模块601:用于查找Linux内核中内置的原始套接字接口。
在Linux内核中,struct proto_ops变量的结构提供了协议无关的套接字层到协议相关的传输层的转接,例如,IPv4协议族中内置的inet_sockraw_ops。因此,该Linux内核中内置的原始套接字接口可以为inet_sockraw_ops。
写保护位清除模块602:用于清除CPU的控制寄存器的写保护位。
清除CPU的控制寄存器的写保护位后,可写入数据。
存储模块603:用于将Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数保存到Linux内核中新分配的原始套接字接口中。
其中,在Linux中,接收消息函数一般用recvmsg表示,发送消息函数一般用sendmsg表示。优选的,该Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数可置于Linux内核中内置的原始套接字接口分配的存储单元中。
第一替换模块604:用于将第二接收消息函数和第二发送消息函数分别替换Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数。
优选的,替换Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数后的第二接收消息函数和第二发送消息函数可置于Linux内核分配中内置的原始套接字接口的存储单元中。
写保护位还原模块605:用于还原CPU的控制寄存器的写保护位。
还原CPU的控制寄存器的写保护位后,不可写入数据。
通过写保护位清除模块602、存储模块603、第一替换模块604、写保护位还原模块605可实现挂钩IO的过程。
本发明实施例的拦截原始套接字输入输出的系统,可直接拦截所有进程的原始套接字输入输出(IO),提高了拦截性能。本发明实施例的系统可支持IPv4和IPv6。
如图7所示,为本发明又一个实施例的拦截原始套接字输入输出的系统的结构示意图。本发明又一个实施例中,该系统的查找模块具体包括如下的结构:
初始化子模块6011:用于初始化套接字接口。
其中,该套接字接口为原始套接字类型(SOCK_RAW)。
注册子模块6012:用于注册套接字接口。
具体的,注册子模块6012可通过调用inet_register_protosw函数注册该套接字接口。
获取子模块6013:用于获取该套接字接口的后一个套接字接口。
其中,该后一个套接字接口为Linux内核中内置的原始套接字接口。
注销子模块6014:用于注销套接字接口。
具体的,注销子模块6014可通过调用inet_unregister_protosw函数注销该套接字接口。
通过上述的模块设计,使得该系统可查找到Linux内核中内置的原始套接字接口。
优选的,该系统还包括:分配模块606。
在存储模块603将Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数保存到Linux内核中新分配的原始套接字接口中的过程之前,分配模块606用于在Linux内核中新分配的原始套接字接口中分配子单元。
该Linux内核中新分配的原始套接字接口中的子单元具有存储的功能。具体的,该Linux内核中新分配的原始套接字接口中的子单元可以是协议操作对象old_ops。
当分配模块606分配了该子单元后,存储模块603可用于将第一接收消息函数和第一发送消息函数保存到该子单元中。
优选的,该系统还包括:第二替换模块607和释放模块608,用于实现卸钩IO的过程。
卸钩IO的过程中,在写保护位清除模块602清除CPU的控制寄存器的写保护位的过程之后,第二替换模块607,用于将子单元中的第一接收消息函数和第一发送消息函数分别替换Linux内核中内置的原始套接字接口中的第二接收消息函数和第二发送消息函数。优选的,替换Linux内核中内置的原始套接字接口中的第二接收消息函数和第二发送消息函数后的第一接收消息函数和第一发送消息函数可置于Linux内核内置的原始套接字接口分配的存储单元中。
例如,该子单元是协议操作对象old_ops,则第二替换模块607将协议操作对象old_ops中保存的第一接收消息函数和第一发送消息函数分别替换Linux内核中内置的原始套接字接口分配的存储单元中的第二接收消息函数和第二发送消息函数。
在写保护位还原模块605还原CPU的控制寄存器的写保护位的过程之后,释放模块608用于释放该子单元。
例如,该子单元是协议操作对象old_ops,则释放模块608释放该协议操作对象old_ops。
释放子单元后,不再占用Linux内核中的内存空间。
通过设置上述的模块,该系统可使Linux内核中内置的原始套接字接口中的接收消息函数和发送消息函数恢复为原来的接收消息函数和发送消息函数,保持了原程序的健壮性。
以上对本发明所提供的技术方案,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种拦截原始套接字输入输出的方法,用于Linux内核,其特征在于,包括:
查找所述Linux内核中内置的原始套接字接口;
清除CPU的控制寄存器的写保护位;
将所述Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数保存到所述Linux内核中新分配的原始套接字接口中;
将第二接收消息函数和第二发送消息函数分别替换所述Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数;
还原所述CPU的控制寄存器的写保护位。
2.根据权利要求1所述的拦截原始套接字输入输出的方法,其特征在于,所述查找Linux内核中内置的原始套接字接口的过程包括:
初始化套接字接口,所述套接字接口为原始套接字类型;
注册所述套接字接口,所述套接字接口位于以SOCK_RAW为索引的双向循环链表的链表头的后面;
获取所述套接字接口的后一个套接字接口,该后一个套接字接口为所述Linux内核中内置的原始套接字接口;
注销所述套接字接口。
3.根据权利要求1所述的拦截原始套接字输入输出的方法,其特征在于,在所述将所述Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数保存到所述Linux内核中新分配的原始套接字接口中的过程之前,还包括:在所述Linux内核中新分配的原始套接字接口中分配子单元。
4.根据权利要求3所述的拦截原始套接字输入输出的方法,其特征在于,所述将所述Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数保存到所述Linux内核中新分配的原始套接字接口中的过程包括:将所述第一接收消息函数和所述第一发送消息函数保存到所述子单元中。
5.根据权利要求3所述的拦截原始套接字输入输出的方法,其特征在于,在所述还原所述CPU的控制寄存器的写保护位的过程之后,还包括:
清除所述CPU的控制寄存器的写保护位;
将所述子单元中的所述第一接收消息函数和所述第一发送消息函数分别替换所述Linux内核中内置的原始套接字接口中的所述第二接收消息函数和所述第二发送消息函数;
还原所述CPU的控制寄存器的写保护位;
释放所述子单元。
6.一种拦截原始套接字输入输出的系统,用于Linux内核,其特征在于,包括:
查找模块,用于查找所述Linux内核中内置的原始套接字接口;
写保护位清除模块,用于清除CPU的控制寄存器的写保护位;
存储模块,用于将所述Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数保存到所述Linux内核中新分配的原始套接字接口中;
第一替换模块,用于将第二接收消息函数和第二发送消息函数分别替换所述Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数;
写保护位还原模块,用于还原所述CPU的控制寄存器的写保护位。
7.根据权利要求6所述的拦截原始套接字输入输出的系统,其特征在于,所述查找模块包括:
初始化子模块,用于初始化套接字接口,所述套接字接口为原始套接字类型;
注册子模块,用于注册所述套接字接口,所述套接字接口位于以SOCK_RAW为索引的双向循环链表的链表头的后面;
获取子模块,用于获取所述套接字接口的后一个套接字接口,该后一个套接字接口为所述Linux内核中内置的原始套接字接口;
注销子模块,用于注销所述套接字接口。
8.根据权利要求6所述的拦截原始套接字输入输出的系统,其特征在于,还包括:分配模块,在所述将所述Linux内核中内置的原始套接字接口中的第一接收消息函数和第一发送消息函数保存到所述Linux内核中新分配的原始套接字接口中的过程之前,所述分配模块用于在所述Linux内核中新分配的原始套接字接口中分配子单元。
9.根据权利要求8所述的拦截原始套接字输入输出的系统,其特征在于:所述存储模块用于将所述第一接收消息函数和所述第一发送消息函数保存到所述子单元中。
10.根据权利要求8所述的拦截原始套接字输入输出的系统,其特征在于,还包括:
第二替换模块,在清除所述CPU的控制寄存器的写保护位的过程之后,所述第二替换模块用于将所述子单元中的所述第一接收消息函数和所述第一发送消息函数分别替换所述Linux内核中内置的原始套接字接口中的所述第二接收消息函数和所述第二发送消息函数;
释放模块,在还原所述CPU的控制寄存器的写保护位的过程之后,所述释放模块用于释放所述子单元。
CN201610474420.2A 2016-06-24 2016-06-24 拦截原始套接字输入输出的方法和系统 Pending CN106209776A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610474420.2A CN106209776A (zh) 2016-06-24 2016-06-24 拦截原始套接字输入输出的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610474420.2A CN106209776A (zh) 2016-06-24 2016-06-24 拦截原始套接字输入输出的方法和系统

Publications (1)

Publication Number Publication Date
CN106209776A true CN106209776A (zh) 2016-12-07

Family

ID=57461930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610474420.2A Pending CN106209776A (zh) 2016-06-24 2016-06-24 拦截原始套接字输入输出的方法和系统

Country Status (1)

Country Link
CN (1) CN106209776A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6175879B1 (en) * 1997-01-29 2001-01-16 Microsoft Corporation Method and system for migrating connections between receive-any and receive-direct threads
US20040249957A1 (en) * 2003-05-12 2004-12-09 Pete Ekis Method for interface of TCP offload engines to operating systems
CN101026622A (zh) * 2007-01-12 2007-08-29 华为技术有限公司 分布式系统对象请求传输方法、设备和分布式系统
CN101064671A (zh) * 2006-04-29 2007-10-31 杨旭 一种基于p2p技术的网络视频信号的处理方法
CN103957214A (zh) * 2014-05-06 2014-07-30 重庆邮电大学 一种教学用计算机网络数据包抓取方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6175879B1 (en) * 1997-01-29 2001-01-16 Microsoft Corporation Method and system for migrating connections between receive-any and receive-direct threads
US20040249957A1 (en) * 2003-05-12 2004-12-09 Pete Ekis Method for interface of TCP offload engines to operating systems
CN101064671A (zh) * 2006-04-29 2007-10-31 杨旭 一种基于p2p技术的网络视频信号的处理方法
CN101026622A (zh) * 2007-01-12 2007-08-29 华为技术有限公司 分布式系统对象请求传输方法、设备和分布式系统
CN103957214A (zh) * 2014-05-06 2014-07-30 重庆邮电大学 一种教学用计算机网络数据包抓取方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李敬伟等: "基于局域网的IP数据监控软件的设计与实现", 《甘肃科技》 *

Similar Documents

Publication Publication Date Title
US9547502B2 (en) Rebooting InfiniBand clusters
EP3079313B1 (en) Data splitting method and splitter
US10048865B2 (en) Disk partition stitching and rebalancing using a partition table
CN102880573B (zh) 一种基于Linux系统的串行RapidIo数据传输方法
US8661205B2 (en) Communication apparatus and information transfer method
JP2019506761A5 (zh)
US20150156288A1 (en) Parser for parsing header in packet and related packet processing apparatus
US10417014B2 (en) System service reloading method and apparatus
US9585022B2 (en) Profile integration management
CN110932890B (zh) 一种数据传输方法、服务器及计算机可读存储介质
CN104144156A (zh) 报文处理方法和装置
CN108156172A (zh) 一种高速接收tcp数据的方法
WO2014138004A1 (en) Forwarding ethernet packets
CN103795622A (zh) 一种报文转发方法及其装置
US20150215384A1 (en) Communication device migration method of extension function and communication system
US9723071B2 (en) High bandwidth peer-to-peer switched key-value caching
CN110990415A (zh) 数据处理方法、装置、电子设备及存储介质
US20180052694A1 (en) Electronic device performing booting operation based on boot-up instruction provided from endpoint device
WO2020113817A1 (zh) 一种基于用户态协议栈的网络隔离方法和装置
CN106209776A (zh) 拦截原始套接字输入输出的方法和系统
WO2016091027A1 (zh) 一种网络地址转换与访问控制列表规则聚合方法和装置
CN105282137A (zh) 将分组拆分成各层以供修改且之后将层拼接的方法及装置
CN104660818A (zh) 基于移动终端的音频参数配置方法、系统及移动终端
CN105245428A (zh) 一种报文处理规则的配置方法及装置
CN112671947B (zh) 一种IPv6地址的生成方法、生成装置及负载均衡器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20161207

RJ01 Rejection of invention patent application after publication