CN113890893A - 一种多ip客户端的连接过滤方法、系统及可读存储介质 - Google Patents
一种多ip客户端的连接过滤方法、系统及可读存储介质 Download PDFInfo
- Publication number
- CN113890893A CN113890893A CN202110998146.XA CN202110998146A CN113890893A CN 113890893 A CN113890893 A CN 113890893A CN 202110998146 A CN202110998146 A CN 202110998146A CN 113890893 A CN113890893 A CN 113890893A
- Authority
- CN
- China
- Prior art keywords
- database
- guid
- netbios
- client
- host name
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000001914 filtration Methods 0.000 title claims abstract description 20
- 230000004044 response Effects 0.000 claims abstract description 97
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 4
- 241001362551 Samba Species 0.000 description 14
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9015—Buffering arrangements for supporting a linked list
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种多IP客户端的连接过滤方法、系统及可读存储介质,方法包括:构建第一数据库与第二数据库,并在客户端的IP首次发起连接时获取IP的GUID和NETBIOS主机名称,并分别保存到第一数据库和第二数据库;响应于客户端的又一IP再次发起连接,获取又一IP的GUID和NETBIOS主机名称,并判断第一数据库中的又一IP的GUID是否存在;响应于GUID不存在,判断第二数据库中的又一IP的NETBIOS主机名称是否存在;响应于NETBIOS主机名称存在,拒绝又一IP发起的连接请求。通过本发明,解决了同一客户端发生多余连接会影响客户端访问的问题,保证现有业务的正常使用。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种多IP客户端的连接过滤方法、系统及可读存储介质。
背景技术
Windows客户端支持多网卡多IP配置,在多网卡情况下,一个网卡可以通过默认网关和公共网络互通,另一个网卡通过另一个默认网关和私有网络互通,通常情况下这两个网络是相互独立开来的。但在有些实际客户环境上,这两个网络通过静态路由配置或者动态路由信息协议最终可以同时连通一个公共的SMB服务端。
从Samba服务端来看,如果是SMB多通道连接,则多个IP对应的是同一个客户端GUID标记符,因而会把这些连接全部转移到同一个进程去处理。
如果同一客户端两个IP是因为网络原因导致Windows客户端自动切到另一个网络发起SMB连接,则Samba服务端会把这两个IP看作是两个不同的客户端,此时Samba服务端会给每个客户端IP分配一个独立的子进程。当第一个SMB连接只是短暂网络中断并未完全断开时,就会出现Windows客户端和Samba服务端同时存在两个连接的情况,此时造成的影响就是客户端对同一个文件的操作如果出现网络短暂中断,并通过另一个网络路径发送请求达到Samba服务端时,服务端就会因为找不到该文件的打开信息而出现错误操作,影响客户端访问。
发明内容
有鉴于此,本发明提出了一种多IP客户端的连接过滤方法、系统及可读存储介质,通过在客户端的多个IP发起SMB连接时,对新的IP的GUID和NETBIOS信息进行识别判断,解决了同一客户端发生多余连接会影响客户端访问的问题,能够保证现有SMB业务的正常使用。
基于上述目的,本发明实施例的一方面提供了一种多IP客户端的连接过滤方法,具体包括如下步骤:
构建第一数据库与第二数据库,并在首次接收到客户端的IP发起的SMB连接请求时获取所述IP的GUID以及NETBIOS主机名称,并分别保存到所述第一数据库和所述第二数据库;
响应于再次接收到客户端的又一IP发起的SMB连接请求,获取所述又一IP的GUID以及NETBIOS主机名称,并判断所述第一数据库中的又一IP的GUID是否存在;
响应于所述又一IP的GUID不存在,判断所述第二数据库中的又一IP的NETBIOS主机名称是否存在;
响应于所述又一IP的NETBIOS主机名称存在,拒绝所述又一IP发起的连接请求。
在一些实施方式中,所述第一数据库与所述第二数据库各自包括多个键值对,其中,所述键值对包括关键词与值;
获取所述IP的GUID以及NETBIOS主机名称,并分别保存到所述第一数据库和所述第二数据库包括:
获取所述IP的GUID以及NETBIOS主机名称,并分别保存到所述第一数据库的关键词和所述第二数据库的关键词以用于检索访问。
在一些实施方式中,方法进一步包括:
获取所述IP的客户端源IP和SMB通道索引编号,并将所述客户端源IP和所述SMB通道索引编号保存到所述第一数据库的所述关键词对应的值以及将所述客户端源IP保存到所述第二数据库的所述关键词对应的值。
在一些实施方式中,拒绝所述又一IP发起的连接包括:
将所述连接请求放入链式缓存队列的尾部;
基于多IP客户端的连接过滤主线程构建拒绝响应子线程;
基于所述拒绝响应子线程从链式缓存队列的头部读取待处理的连接请求;
基于所述待处理的连接请求,构造拒绝响应报文并将所述拒绝响应报文发送给所述客户端。
在一些实施方式中,构造拒绝响应报文包括:
构造拒绝响应数据结构,交换所述待处理的连接请求中的源IP和目的IP,以及源TCP端口和目的TCP端口并加入到所述拒绝响应数据结构,以及将SMB消息类型码以及拒绝状态码加入到所述拒绝响应数据结构以生成所述拒绝响应报文。
在一些实施方式中,将所述拒绝响应报文发送给所述客户端包括:
将所述拒绝响应报文加入输出队列,由所述输出队列发送给所述拒绝响应报文中的目的IP对应的客户端。
在一些实施方式中,方法进一步包括:
响应于所述又一IP的GUID存在,则对所述又一IP进行多通道逻辑处理。
在一些实施方式中,方法进一步包括:
响应于所述又一IP的NETBIOS主机名称不存在,将所述又一IP的GUID和NETBIOS主机名称分别保存到第一数据库和第二数据库的KEY。
本发明实施例的另一方面,还提供了一种多IP客户端的连接过滤系统,包括:
构建模块,所述构建模块配置为构建第一数据库与第二数据库,并在首次接收到客户端的IP发起的SMB连接请求时获取所述IP的GUID以及NETBIOS主机名称,并分别保存到所述第一数据库和所述第二数据库;
判断模块,所述判断模块配置为响应于再次接收到客户端的又一IP发起的SMB连接请求,获取所述又一IP的GUID以及NETBIOS主机名称,并判断所述第一数据库中的又一IP的GUID是否存在;
所述判断模块还配置为响应于所述又一IP的GUID不存在,判断所述第二数据库中的又一IP的NETBIOS主机名称是否存在;
拒绝连接模块,所述拒绝连接模块配置为响应于所述又一IP的NETBIOS主机名称存在,拒绝所述又一IP发起的连接请求。
本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如下方法步骤的计算机程序:
构建第一数据库与第二数据库,并在首次接收到客户端的IP发起的SMB连接请求时获取所述IP的GUID以及NETBIOS主机名称,并分别保存到所述第一数据库和所述第二数据库;
响应于再次接收到客户端的又一IP发起的SMB连接请求,获取所述又一IP的GUID以及NETBIOS主机名称,并判断所述第一数据库中的又一IP的GUID是否存在;
响应于所述又一IP的GUID不存在,判断所述第二数据库中的又一IP的NETBIOS主机名称是否存在;
响应于所述又一IP的NETBIOS主机名称存在,拒绝所述又一IP发起的连接请求。
在一些实施方式中,所述第一数据库与所述第二数据库各自包括多个键值对,其中,所述键值对包括关键词与值;
获取所述IP的GUID以及NETBIOS主机名称,并分别保存到所述第一数据库和所述第二数据库包括:
获取所述IP的GUID以及NETBIOS主机名称,并分别保存到所述第一数据库的关键词和所述第二数据库的关键词以用于检索访问。
在一些实施方式中,方法步骤进一步包括:
获取所述IP的客户端源IP和SMB通道索引编号,并将所述客户端源IP和所述SMB通道索引编号保存到所述第一数据库的所述关键词对应的值以及将所述客户端源IP保存到所述第二数据库的所述关键词对应的值。
在一些实施方式中,拒绝所述又一IP发起的连接包括:
将所述连接请求放入链式缓存队列的尾部;
基于多IP客户端的连接过滤主线程构建拒绝响应子线程;
基于所述拒绝响应子线程从链式缓存队列的头部读取待处理的连接请求;
基于所述待处理的连接请求,构造拒绝响应报文并将所述拒绝响应报文发送给所述客户端。
在一些实施方式中,构造拒绝响应报文包括:
构造拒绝响应数据结构,交换所述待处理的连接请求中的源IP和目的IP,以及源TCP端口和目的TCP端口并加入到所述拒绝响应数据结构,以及将SMB消息类型码以及拒绝状态码加入到所述拒绝响应数据结构以生成所述拒绝响应报文。
在一些实施方式中,将所述拒绝响应报文发送给所述客户端包括:
将所述拒绝响应报文加入输出队列,由所述输出队列发送给所述拒绝响应报文中的目的IP对应的客户端。
在一些实施方式中,方法步骤进一步包括:
响应于所述又一IP的GUID存在,则对所述又一IP进行多通道逻辑处理。
在一些实施方式中,方法步骤进一步包括:
响应于所述又一IP的NETBIOS主机名称不存在,将所述又一IP的GUID和NETBIOS主机名称分别保存到第一数据库和第二数据库的KEY。
本发明具有以下有益技术效果:通过构建第一数据库与第二数据库,并将客户端的IP首次发起的SMB连接请求时获取的IP的GUID以及NETBIOS主机名称,分别保存到第一数据库和第二数据库;当再次接收到客户端的新的IP发起的SMB连接请求时,将新的IP的GUID和NETBIOS信息与第一数据库和第二数据库中的信息进行识别判断,解决了同一客户端发生多余连接会影响客户端访问的问题,能够保证现有SMB业务的正常使用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明提供的多IP客户端的连接过滤方法的一实施例的框图;
图2为本发明提供的多IP客户端的SMB连接的过滤过程示意图;
图3为本发明提供的多IP客户端的连接过滤系统的一实施例的示意图;
图4为本发明提供的计算机可读存储介质的一实施例的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
为了更好的理解本发明实施例,首先对本发明实施例中所涉及的相关技术术语进行说明。
SMB:Server Message Block,一种用于不同网络节点间的共享传输协议。
Samba:实现SMB协议,用于从Linux服务端向Windows客户端提供共享服务的应用。
GUID:Globally Unique Identifier,全局唯一标识符。
NETBIOS:Network Basic Input/Output System,是一种会话层协议,每个Windows主机有个单独的NETBIOS主机名。
TDB:Trivial database,Samba提供的一种数据库存储格式。
基于上述目的,本发明实施例的第一个方面,提出了一种多IP客户端的连接过滤方法的实施例。如图1所示,其包括如下步骤:
步骤S101、构建第一数据库与第二数据库,并在首次接收到客户端的IP发起的SMB连接请求时获取所述IP的GUID以及NETBIOS主机名称,并分别保存到所述第一数据库和所述第二数据库;
步骤S103、响应于再次接收到客户端的又一IP发起的SMB连接请求,获取所述又一IP的GUID以及NETBIOS主机名称,并判断所述第一数据库中的又一IP的GUID是否存在;
步骤S105、响应于所述又一IP的GUID不存在,判断所述第二数据库中的又一IP的NETBIOS主机名称是否存在;
步骤S107、响应于所述又一IP的NETBIOS主机名称存在,拒绝所述又一IP发起的连接请求。
通过在Samba服务端构建两个数据库,并在Windows客户端的IP发起SMB连接请求时,获取IP的GUID以及NETBIOS主机名称,并分别保存到第一数据库和第二数据库。当同一Windows客户端的又一个IP发起连接请求时,同样获取新的IP的GUID以及NETBIOS主机名称,首先判断第一数据库中是否已经存在新的IP的GUID信息,若存在说明是SMB多通道连接,此时直接进行多通道的正常处理逻辑;若不存在,说明是一个新的SMB连接,此时获取Windows客户端的NETBIOS主机名称,并在第二数据库中查找是否已经存在新的IP的NETBIOS主机名,若存在,则说明来自同一Windows客户端的多个相互独立的SMB连接触发了多次,需要过滤当前的连接,此时向同一Windows客户端多IP发送拒绝连接报文以过滤新的IP的SMB连接。
本发明通过客户端的新的IP发起SMB连接时,对新的IP的GUID和NETBIOS信息进行识别判断,解决了同一客户端发生多余连接会影响客户端访问的问题,能够保证现有SMB业务的正常使用。
在一些实施方式中,所述第一数据库与所述第二数据库各自包括多个键值对,其中,所述键值对包括关键词与值;
获取所述IP的GUID以及NETBIOS主机名称,并分别保存到所述第一数据库和所述第二数据库包括:
获取所述IP的GUID以及NETBIOS主机名称,并分别保存到所述第一数据库的关键词和所述第二数据库的关键词以用于检索访问。
在一些实施方式中,方法进一步包括:
获取所述IP的客户端源IP和SMB通道索引编号,并将所述客户端源IP和所述SMB通道索引编号保存到所述第一数据库的所述关键词对应的值以及将所述客户端源IP保存到所述第二数据库的所述关键词对应的值。
下面通过具体的实施例对本发明的多个实施方式进行说明。
在Samba服务端构建两个TDB数据库,分别命名为smb_guid.tdb和smb_netbios.tdb;
SMB连接包括协商阶段与会话建立阶段,在协商阶段,Windows客户端向Samba服务端发起连接请求时,会通过GUID算法为自身分配一个客户端GUID标识,并作为协商报文的一部分发送给Samba服务端。
Samba服务端接收SMB协商报文后,获取其中的客户端GUID,并以客户端GUID作为数据库smb_guid.tdb的关键词KEY进行保存,客户端的源IP和SMB通道索引号(多通道从0开始编号)作为数据库smb_guid.tdb的值VALUE保存。
在会话建立阶段,Windows客户端会将NETBIOS主机名、域名、用户信息发送过来,Samba服务端收到之后,获取其中的NETBIOS主机名,并将NETBIOS主机名作为KEY,协商阶段获取的客户端源IP作为VALUE,保存在数据库smb_netbios.tdb中。
客户端的GUID标识符和NETBIOS名称获取过程如下:
由于客户端GUID在网络数据流中是分段按网络序传输的,因此在解析为主机序时需要对每个分段部分分别进行主机序的转换,主要的处理步骤如下:
从TCP报文中首先找到SMB数据的有效偏移位置,然后判断SMB报文类型,如果是协商类型则定位到GUID标识符所在位置,并读取16字节固定长度数据,即包含了GUID所有字段数据;GUID主要分5段组成,根据各段的长度分别对其进行主机序的转换,即得到满足主机序的完整GUID主机序数据;以客户端GUID标识符作为关键词KEY,以客户端的IP地址和索引编号作为VALUE,存储在本地数据库smb_guid.tdb中,用于下次的检索访问。
当协商过程通过后,在SMB会话连接阶段,根据NETBIOS主机名在会话中的偏移量读取到Windows客户端的NETBIOS主机名称;以客户端NETBIOS名称作为关键词KEY,以客户端的源IP地址作为VALUE,存储在本地数据库smb_netbios.tdb中,用于下次的检索访问。
当有客户端的另一IP再次发起SMB连接请求时,就会触发多通道连接和GUID标识符、NETBIOS主机名的判断识别。
提取新的IP的发生SMB连接时对应的客户端GUID标识符和NETBIOS名称。
以新的IP的GUID作为KEY检索本地数据库smb_guid.tdb,如果查找到相同的GUID,则更新数据库中新的IP对应客户端的SMB多通道连接信息(将当前的多通道编号加1);如果没有查找到相同的GUID,则进入NETBIOS检查流程。
以新的IP的NETBIOS名称作为KEY检索本地数据库smb_netbios.tdb,如果存在相同的NETBIOS名称,则说明当前连接是个多余连接,拒绝新的IP发起的连接请求;如果不存在相同的NETBIOS名称,则以提取到的客户端GUID标识符和作为KEY,客户端的源IP和SMB通道索引号作为VALUE保存到数据库smb_guid.tdb,以及以提取到的NETBIOS名称作为KEY,客户端的源IP作为的VALUE保存数据库smb_netbios.tdb。
如图2所示,为多IP客户端的SMB连接的过滤过程示意图。
在图2中,包括两个客户端,分别为Windows客户端1和Windows客户端2。对于Windows客户端1,其中的IP地址IP1a和IP1b采用了相同的GUID1a,因此被作为多通道连接正常处理;而IP地址IP1c由于使用了不同于GUID1a的GUID1c,因此在Windows客户端1已经存在针对GUID1a的SMB连接的情况下,基于Samba子进程1c拒绝该多余连接。另一个Windows客户端2采用和Windows客户端1相同逻辑进行判断处理。
通过客户端的新的IP发起SMB连接时,对新的IP的GUID和NETBIOS信息进行识别判断,解决了同一客户端发生多余连接会影响客户端访问的问题,能够保证现有SMB业务的正常使用。
在一些实施方式中,拒绝所述又一IP发起的连接包括:
将所述连接请求放入链式缓存队列的尾部;
基于多IP客户端的连接过滤主线程构建拒绝响应子线程;
基于所述拒绝响应子线程从链式缓存队列的头部读取待处理的连接请求;
基于所述待处理的连接请求,构造拒绝响应报文并将所述拒绝响应报文发送给所述客户端。
通过构建拒绝响应子线程,避免主线程因处理GUID、NETBIOS检查造成的耗时过多影响到后续正常SMB业务的处理。
在一些实施方式中,构造拒绝响应报文包括:
构造拒绝响应数据结构,交换所述待处理的连接请求中的源IP和目的IP,以及源TCP端口和目的TCP端口并加入到所述拒绝响应数据结构,以及将SMB消息类型码以及拒绝状态码加入到所述拒绝响应数据结构以生成所述拒绝响应报文。
在一些实施方式中,将所述拒绝响应报文发送给所述客户端包括:
将所述拒绝响应报文加入输出队列,由所述输出队列发送给所述拒绝响应报文中的目的IP对应的客户端。
具体的,通过拒绝响应线程从链式缓存队列的开头取出需要处理的请求后,根据待处理请求的信息,构造拒绝响应数据结构以生成拒绝响应报文。
将待处理请求中的源IP以及源TCP端口作为拒绝响应数据结构中的目的IP和目的TCP端口,将待处理请求中的目的IP以及目的TCP端口作为拒绝响应数据结构中的源IP和源TCP端口;将SMB消息类型码填充为协商响应类型,将状态码填充为NT_STATUS_DENIED。
将构造好的拒绝响应报文加入到Samba TCP输出队列,由Samba TCP输出队列将其发送给拒绝响应报文中的目的IP对应的客户端。
在一些实施方式中,方法进一步包括:
响应于所述又一IP的GUID存在,则对所述又一IP进行多通道逻辑处理。
响应于所述又一IP的NETBIOS主机名称不存在,将所述又一IP的GUID和NETBIOS主机名称分别保存到第一数据库和第二数据库的KEY。
基于同一发明构思,根据本发明的另一个方面,如图3所示,本发明的实施例还提供了一种多IP客户端的连接过滤系统,包括:
构建模块110,所述构建模块110配置为构建第一数据库与第二数据库,并在首次接收到客户端的IP发起的SMB连接请求时获取所述IP的GUID以及NETBIOS主机名称,并分别保存到所述第一数据库和所述第二数据库;
判断模块120,所述判断模块120配置为响应于再次接收到客户端的又一IP发起的SMB连接请求,获取所述又一IP的GUID以及NETBIOS主机名称,并判断所述第一数据库中的又一IP的GUID是否存在;
所述判断模块120还配置为响应于所述又一IP的GUID不存在,判断所述第二数据库中的又一IP的NETBIOS主机名称是否存在;
拒绝连接模块130,所述拒绝连接模块130配置为响应于所述又一IP的NETBIOS主机名称存在,拒绝所述又一IP发起的连接请求。
基于同一发明构思,根据本发明的另一个方面,如图4所示,本发明的实施例还提供了一种计算机可读存储介质30,计算机可读存储介质30存储有被处理器执行时执行如下方法的计算机程序310:
构建第一数据库与第二数据库,并在首次接收到客户端的IP发起的SMB连接请求时获取所述IP的GUID以及NETBIOS主机名称,并分别保存到所述第一数据库和所述第二数据库;
响应于再次接收到客户端的又一IP发起的SMB连接请求,获取所述又一IP的GUID以及NETBIOS主机名称,并判断所述第一数据库中的又一IP的GUID是否存在;
响应于所述又一IP的GUID不存在,判断所述第二数据库中的又一IP的NETBIOS主机名称是否存在;
响应于所述又一IP的NETBIOS主机名称存在,拒绝所述又一IP发起的连接请求。
在一些实施方式中,所述第一数据库与所述第二数据库各自包括多个键值对,其中,所述键值对包括关键词与值;
获取所述IP的GUID以及NETBIOS主机名称,并分别保存到所述第一数据库和所述第二数据库包括:
获取所述IP的GUID以及NETBIOS主机名称,并分别保存到所述第一数据库的关键词和所述第二数据库的关键词以用于检索访问。
在一些实施方式中,方法进一步包括:
获取所述IP的客户端源IP和SMB通道索引编号,并将所述客户端源IP和所述SMB通道索引编号保存到所述第一数据库的所述关键词对应的值以及将所述客户端源IP保存到所述第二数据库的所述关键词对应的值。
在一些实施方式中,拒绝所述又一IP发起的连接包括:
将所述连接请求放入链式缓存队列的尾部;
基于多IP客户端的连接过滤主线程构建拒绝响应子线程;
基于所述拒绝响应子线程从链式缓存队列的头部读取待处理的连接请求;
基于所述待处理的连接请求,构造拒绝响应报文并将所述拒绝响应报文发送给所述客户端。
在一些实施方式中,构造拒绝响应报文包括:
构造拒绝响应数据结构,交换所述待处理的连接请求中的源IP和目的IP,以及源TCP端口和目的TCP端口并加入到所述拒绝响应数据结构,以及将SMB消息类型码以及拒绝状态码加入到所述拒绝响应数据结构以生成所述拒绝响应报文。
在一些实施方式中,将所述拒绝响应报文发送给所述客户端,包括:
将所述拒绝响应报文加入输出队列,由所述输出队列发送给所述拒绝响应报文中的目的IP对应的客户端。
在一些实施方式中,方法进一步包括:
响应于所述又一IP的GUID存在,则对所述又一IP进行多通道逻辑处理。
在一些实施方式中,方法进一步包括:
响应于所述又一IP的NETBIOS主机名称不存在,将所述又一IP的GUID和NETBIOS主机名称分别保存到第一数据库和第二数据库的KEY。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种多IP客户端的连接过滤方法,其特征在于,包括:
构建第一数据库与第二数据库,并在首次接收到客户端的IP发起的SMB连接请求时获取所述IP的GUID以及NETBIOS主机名称,并分别保存到所述第一数据库和所述第二数据库;
响应于再次接收到客户端的又一IP发起的SMB连接请求,获取所述又一IP的GUID以及NETBIOS主机名称,并判断所述第一数据库中的又一IP的GUID是否存在;
响应于所述又一IP的GUID不存在,判断所述第二数据库中的又一IP的NETBIOS主机名称是否存在;
响应于所述又一IP的NETBIOS主机名称存在,拒绝所述又一IP发起的连接请求。
2.根据权利要求1所述的方法,其特征在于,所述第一数据库与所述第二数据库各自包括多个键值对,其中,所述键值对包括关键词与值;
获取所述IP的GUID以及NETBIOS主机名称,并分别保存到所述第一数据库和所述第二数据库包括:
获取所述IP的GUID以及NETBIOS主机名称,并分别保存到所述第一数据库的关键词和所述第二数据库的关键词以用于检索访问。
3.根据权利要求2所述的方法,其特征在于,进一步包括:
获取所述IP的客户端源IP和SMB通道索引编号,并将所述客户端源IP和所述SMB通道索引编号保存到所述第一数据库的所述关键词对应的值以及将所述客户端源IP保存到所述第二数据库的所述关键词对应的值。
4.根据权利要求1所述的方法,其特征在于,拒绝所述又一IP发起的连接包括:
将所述连接请求放入链式缓存队列的尾部;
基于多IP客户端的连接过滤主线程构建拒绝响应子线程;
基于所述拒绝响应子线程从链式缓存队列的头部读取待处理的连接请求;
基于所述待处理的连接请求,构造拒绝响应报文并将所述拒绝响应报文发送给所述客户端。
5.根据权利要求4所述的方法,其特征在于,构造拒绝响应报文包括:
构造拒绝响应数据结构,交换所述待处理的连接请求中的源IP和目的IP,以及源TCP端口和目的TCP端口并加入到所述拒绝响应数据结构,以及将SMB消息类型码以及拒绝状态码加入到所述拒绝响应数据结构以生成所述拒绝响应报文。
6.根据权利要求4所述的方法,其特征在于,将所述拒绝响应报文发送给所述客户端包括:
将所述拒绝响应报文加入输出队列,由所述输出队列发送给所述拒绝响应报文中的目的IP对应的客户端。
7.根据权利要求1所述的方法,其特征在于,进一步包括:
响应于所述又一IP的GUID存在,则对所述又一IP进行多通道逻辑处理。
8.根据权利要求1所述的方法,其特征在于,进一步包括:
响应于所述又一IP的NETBIOS主机名称不存在,将所述又一IP的GUID和NETBIOS主机名称分别保存到第一数据库和第二数据库的KEY。
9.一种多IP客户端的连接过滤系统,其特征在于,包括:
构建模块,所述构建模块配置为构建第一数据库与第二数据库,并在首次接收到客户端的IP发起的SMB连接请求时获取所述IP的GUID以及NETBIOS主机名称,并分别保存到所述第一数据库和所述第二数据库;
判断模块,所述判断模块配置为响应于再次接收到客户端的又一IP发起的SMB连接请求,获取所述又一IP的GUID以及NETBIOS主机名称,并判断所述第一数据库中的又一IP的GUID是否存在;
所述判断模块还配置为响应于所述又一IP的GUID不存在,判断所述第二数据库中的又一IP的NETBIOS主机名称是否存在;
拒绝连接模块,所述拒绝连接模块配置为响应于所述又一IP的NETBIOS主机名称存在,拒绝所述又一IP发起的连接请求。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求1-8任意一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110998146.XA CN113890893A (zh) | 2021-08-27 | 2021-08-27 | 一种多ip客户端的连接过滤方法、系统及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110998146.XA CN113890893A (zh) | 2021-08-27 | 2021-08-27 | 一种多ip客户端的连接过滤方法、系统及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113890893A true CN113890893A (zh) | 2022-01-04 |
Family
ID=79011383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110998146.XA Pending CN113890893A (zh) | 2021-08-27 | 2021-08-27 | 一种多ip客户端的连接过滤方法、系统及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113890893A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040133607A1 (en) * | 2001-01-11 | 2004-07-08 | Z-Force Communications, Inc. | Metadata based file switch and switched file system |
CN113032829A (zh) * | 2021-03-26 | 2021-06-25 | 山东英信计算机技术有限公司 | 多通道并发的文件权限管理方法、装置、服务器和介质 |
-
2021
- 2021-08-27 CN CN202110998146.XA patent/CN113890893A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040133607A1 (en) * | 2001-01-11 | 2004-07-08 | Z-Force Communications, Inc. | Metadata based file switch and switched file system |
CN113032829A (zh) * | 2021-03-26 | 2021-06-25 | 山东英信计算机技术有限公司 | 多通道并发的文件权限管理方法、装置、服务器和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10027623B2 (en) | Internet protocol address resolution | |
US7633855B2 (en) | System and method for resolving address conflicts in a network | |
CN105591973B (zh) | 应用识别方法及装置 | |
US7453865B2 (en) | Communication channels in a storage network | |
US20210314154A1 (en) | Apparatus and method for dynamic sharding of concurrent blockchains | |
CN105429879B (zh) | 流表项查询方法、设备及系统 | |
US8149840B2 (en) | Method, system and processor for processing network address translation service | |
US11863439B2 (en) | Method, apparatus and storage medium for application identification | |
US20070283028A1 (en) | Name Challenge Enabled Zones | |
CN113056895B (zh) | 用于将现有访问控制列表策略迁移到基于意图的策略且反之亦然的系统和方法 | |
JP2002009823A (ja) | インターネットアドレス決定方法及び装置 | |
CN115174139B (zh) | 节点隔离方法、交换设备及以太网存储系统 | |
CN113839882B (zh) | 一种报文流分流方法及装置 | |
CN110708309A (zh) | 反爬虫系统及方法 | |
CN110855810B (zh) | 一种nat转换方法、装置、网络安全设备及存储介质 | |
CN114553706A (zh) | 网络拓扑发现方法、装置及电子设备 | |
CN113890893A (zh) | 一种多ip客户端的连接过滤方法、系统及可读存储介质 | |
CN111010362B (zh) | 一种异常主机的监控方法及装置 | |
CN116760834A (zh) | 一种负载均衡方法、系统、设备以及存储介质 | |
CN114039860B (zh) | 一种用于快速构建服务器网络拓扑图的方法和系统 | |
CN102763376A (zh) | 用于电信网络环境中共同组动作过滤的方法和系统 | |
CN111988446B (zh) | 一种报文处理方法、装置、电子设备及存储介质 | |
CN110677417A (zh) | 反爬虫系统及方法 | |
KR100458698B1 (ko) | Ip공유 클라이언트 수의 모니터링 시스템, 그 방법 및이를 프로그램화하여 수록한 컴퓨터로 읽을 수 있는기록매체 | |
CN115086272B (zh) | Arp代答方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |