精华内容
下载资源
问答
  • 服务扫描之服务识别

    千次阅读 2018-11-24 18:56:48
    0x00:简介 在服务扫描中,主要就是去发现端口上跑的是哪个服务。...服务扫描分了两块,一个是 banner 信息获取,一个是服务识别,之前总结的 banner 信息获取中,banner 也存在不确定性,只能...

    0x00:简介

    在服务扫描中,主要就是去发现端口上跑的是哪个服务。探测目标端口开放,并不能确定其服务,有时候 21 并非 ftp,80 也并非 web。他们只是默认端口,但不代表不可以更改。如果一些服务开放的端口不是默认的话,信息搜集便会受到很大的局限性。

    服务扫描分了两块,一个是 banner 信息获取,一个是服务识别,之前总结的 banner 信息获取中,banner 也存在不确定性,只能作为参考。而服务识别会更具有参考性,原理是根据服务上跑的程序特征来检测的,这块可以使用 amap 和 nmap,amap 上篇介绍过,是专用来发现端口后面跑的是什么服务的这么一个工具,nmap 神器都知道。

    0x01:amap

    之前介绍 amap 时,其获取 banner 信息的参数是 - B,因为 amap 是专用来探测端口后的服务的,所以默认情况下跟一个目标就可以使用,示例如下:

    请输入图片描述

    这个给出的端口后的服务相对来说准确率更高,他是通过端口后的服务运行特征和自己的特征库做对比得出的结果。默认情况下,amap 会在最后打印出未开放的端口,这个可以使用 - q 参数来取消,q 参数的作用是不打印关闭的端口,直打印开放的端口信息。示例如下:

    请输入图片描述

    amap 默认只给出了端口号后的服务名称,没有给出其详细信息,如果需要再打印其详细信息,可以通过 b 参数来获取,b 参数的作用是打印其获取到的 banner 信息,大 B 参数也是获取 banner 信息的,区别在于 B 参数说明是获取 banner 信息而不发送探针,这里的探针有很多探测行为,例如获取到服务后尝试默认账号密码登录这种,B 只获取 banner,不进行其他的行为。

    而大写 B 和小写 b 的结果也是有差异的,因为大 B 只获取 banner 信息,不进行其他的探测和连接行为,所以很多内容发现不了。而小 b 也不会发送触发器,但小 b 会尽可能多的去探测原因在于 amap 默认会带一个 A 参数,A 参数的作用就是发送触发器,进行探测。所以指定大 B 时,便不会发触发器,而不指定大 B,其他命令都会默认进行触发器的发送。

    执行结果区别如下:

    请输入图片描述

    其中大 B 只返回了 21 和 22 的 banner 信息,而小 b 返回会多点,也更详细一些,也包含了系统名称和服务器类型。

    0x02:nmap

    nmap 用来做服务发现,用到的参数是 sV,sV 帮助文档给的说明翻译过来就是确定开放端口后的服务和版本信息。这个参数还是经常用到的,且 nmap 的识别特征库也更丰富更全面,结果信息很具有参考性,示例如下:

    请输入图片描述

    这个结果还是很可靠的,给出了服务和版本,53 端口都给出了 bind 和其版本,这个 amap 的话是没有给的,但 amap 信息中也包含了 nmap 没有的,例如系统 metasploitable,两者结合是最好的结果。

    0x03:总结

    服务发现可以使用 amap 和 nmap 来确认,其给出的结果中可以互补,使自己获取到的信息更全面更准确。


                                                                                公众号推荐:aFa攻防实验室

                             分享关于信息搜集、Web安全、内网安全、代码审计、红蓝对抗、Java、Python等方面的东西。

                                                                                 

    展开全文
  • 在我们进行微服务架构设计和改造过程中,一个不可避免的问题是如何确定服务边界、如何进行服务识别,微服务的划分粒度究竟如何确认。我们可能会听到,服务既不能太大,也不能太小,当然这是一个笼统的概念。那么,...

    这里写图片描述

    前言

    在我们进行微服务架构设计和改造过程中,一个不可避免的问题是如何确定服务边界、如何进行服务识别,微服务的划分粒度究竟如何确认。我们可能会听到,服务既不能太大,也不能太小,当然这是一个笼统的概念。那么,问题来了,究竟多大是大,多小是小。

    比如,以下原则是否可行?

    • 一个微服务应该包含N行代码

    • 将系统中每一个功能都定义为一个服务

    另外,考虑一个问题:如果服务划分太细,会出现什么问题?

    • 服务爆炸

    • 服务交叉引用

    • 代码过度耦合

    所以,接下来,我们将讨论在微服务架构设计中,如何进行服务定义与划分。

    良好设计的服务包含的五个特征

    一个设计良好的服务应包含以下五个特征:

    特征一:服务不与其他服务共享数据库

    举个例子:如果你定义了一个微服务后台需要访问某个表,与此同时存在别的多个服务也需要访问同一个表,那么这就意味着你的数据库就是一个耦合数据源。一个良好设计的服务应只包含特定的独有的数据库表,并且不与其他服务共享。

    我们在开发新服务时一个主要基本原则是,它们不应该跨越数据库边界。每个服务都应该依赖于它自己的底层数据存储集,在这样的前提下,我们才可以进行集中访问控制,审计日志记录,缓存逻辑。

    特征二:服务应包含尽可能少的数据库表

    正如我们之前所提及,微服务的理想大小是足够小,但不能无限小。每个服务的数据库表数量也是如此。

    特征三:一个服务要么包含完整的业务含义,要么是放之四海皆通用的公共服务。

    我们通常会通过定义服务的输入输出来确定服务边界,比如:服务既可以是一个开放的API,也可以是一个处理进程(处理文件并进行数据存储,比如我们常见的日志处理服务),把握好这一点,你才有可能设计良好的服务。

    特征四:一个良好的服务应首先确保其数据可用性。

    在设计微服务时,我们需要考虑系统中哪些服务将依赖于这个新服务,假如服务宕机导致数据不可用会对系统产生哪些影响。考虑到这一点,我们就可以适当地为该服务设计数据备份和恢复系统。

    特征五:在一个业务系统中,一个服务只能是并且唯一的可信来源。

    举个例子,当我们从电子商务网站订购东西时,会生成一个订单ID。其他服务可以使用此订单ID查询订单服务,以获得关于订单的完整信息,基于发布/订阅的理念,在服务之间传递的数据应该只能是订单ID,而不是订单本身的属性信息,只有订单服务拥有完整的订单信息,并且只有订单服务是特定订单信息的唯一可信来源。

    更大组织的服务设计考量

    对于更大的组织,整个团队都可以专注于拥有某个特定服务,在确定服务边界时,需要考虑组织机构因素。另外,还有两个需要注意的问题:独立的发布计划和不同的正常运行时间的重要性。实际实践中,比较成功的做法是,微服务的实现要么是基于软件设计原则,比如基于领域驱动设计或者是面向服务架构设计,要么是基于可以很好的反映组织架构的设计原则。

    比如,对于支付团队来说,他们可以支付服务或信用卡验证服务,这就是他们向外界提供的服务,这其实与软件无关,这就是从组织架构的角度来讲,他们作为一个业务部门可以向外界提供的所有服务。

    说到团队,这就涉及到一个著名的“两个披萨原则”:即团队大小不宜超过两个披萨可以供给的人数

    如何确认一个服务是否太小或者没有正确定义

    这里有几个指标可以来判断:

    • 服务之间是否过度依赖:如果两个服务在不断地相互调用,那么这就是过度耦合,将他们整合到一起或许是一个更好的选择。

    • 如果单独定义、设置服务所花费的精力和代价远远大于其带来的好处和便利,那么你就需要考虑你所定义的这个服务是否过小。

    https://buttercms.com/books/microservices-for-startups/microservice-boundaries-5-characteristics-to-guide-your-design

    展开全文
  • 解决DELL服务器识别不到硬盘的问题

    万次阅读 2019-08-05 15:44:47
    由于DELL服务器默认做了RAID,因此要先去掉RAID才能识别到硬盘 第一步 开机到这个界面按Ctrl+R 第二步 进入到PERC H330 管理界面。PERC H330 Mini Monolithic RAID 控制器具有RAID控制功能,可提供出色的可靠性...

    由于DELL服务器默认做了RAID,因此要先去掉RAID才能识别到硬盘

    第一步

    开机到这个界面按Ctrl+R

    在这里插入图片描述

    第二步

    进入到PERC H330 管理界面。PERC H330 Mini Monolithic RAID 控制器具有RAID控制功能,可提供出色的可靠性、超高的性能以及容错磁盘子系统管理功能。
    在这里插入图片描述

    第三步

    按Ctrl+N跳到PD Mgmt。在这里可以看到自己的硬盘,状态为Ready,品牌为东芝

    展开全文
  • 微服务架构中模块划分和服务识别

    千次阅读 2017-12-14 16:42:04
    微服务架构中模块划分和服务识别 最近在进行微服务架构的交流和讨论中,除了谈到微服务技术架构外,客户往往更加挂你微服务模块的划分粒度,已经具体的微服务API接口的识别和定义问题,因此这篇文章将重点谈下...

    微服务架构中模块划分和服务识别

    最近在进行微服务架构的交流和讨论中,除了谈到微服务技术架构外,客户往往更加挂你微服务模块的划分粒度,已经具体的微服务API接口的识别和定义问题,因此这篇文章将重点谈下微服务架构实践过程中的微服务模块划分和服务识别。



    最近在进行微服务架构的交流和讨论中,除了谈到微服务技术架构外,客户往往更加挂你微服务模块的划分粒度,已经具体的微服务API接口的识别和定义问题,因此这篇文章将重点谈下微服务架构实践过程中的微服务模块划分和服务识别。

    首先我们还是再总结在在跨系统间的接口集成中服务的识别和定义方法,可以总结为:

    1. 基于流程架构和业务架构,从跨系统交互流程出发,分析业务交互接口点,识别关键的业务服务能力。

    2. 基于数据架构和主数据建模分析,识别关键的数据服务能力。

    3. 基于技术架构和共性平台层技术组件的分析和定义,以能力开放原则识别关键技术服务能力。

    因此对于跨系统间的集成,对于服务识别和定义思路是相对清晰的。那么在传统方法中业务系统的划分和定义粒度又是如何?在前面企业架构分析中,我曾经谈到过,通过跨系统交互流程分析,识别出最细粒度的业务功能模块和功能单元,然后再从底向上进行聚合,以CRUD分析为主要方法,多次迭代出最佳的满足高内聚,松耦合条件的业务系统划分。这里面没有一个精确方法,但是却有该大原则下的指导方法。

    微服务模块的划分

    微服务模块的划分不是什么新鲜事物,就是传统的业务系统内部的业务功能组件的划分,但是我要注意到的关键一点还是业务组件本身的粒度和大小。原来没有完全拆分为独立的微服务模块的时候,我们一个业务系统可以划分20个以上的业务模块,因为由于数据库本身没有拆分,同时业务模块间的调用本身又是内部的API调用,因此感觉不到有什么问题。但是如果把这20个业务模块完全拆分为独立的微服务模块,你才会发现模块间的紧耦合或者说大量的交互集成接口,会导致整个系统集成和交互关系相对复杂,后期很难管理。

    这也是我们原来经常强调的,传统的一个大业务系统划分微服务模块的时候,尽量是划分到6到8个模块比较合适,当你本身的IT成熟度达到一定水平后你可以划分的更加细点。同时在微服务模块划分的时候一定要考虑数据库本身的划分,即底层的数据库也是划分开的,类似我原来谈私有云PaaS的时候谈的数据库的水平拆分。

    究竟如何拆?实际上方法仍然是一样的,还是要分析单个业务系统内部的流程,然后分解到具体的业务组件或功能,再按照高内聚的原则进行聚合,尽量确保各个微服务模块之间的交互最少。同时对于大家都要用到的基础数据模块,仍然采用共性下沉的策略和思路进行。同时一个有价值的参考方法是,分析该业务系统承载的主体业务流程是什么?然后分析这个业务流程可以横向划分微哪几个独立的阶段,然后先将这些独立的阶段划分微不同的微服务模块,在划分好后再进行CRUD分析进行修正。

    微服务接口的识别和定义

    不管是传统的跨业务系统间交互的接口,还是微服务模块间的交互API接口,我一直强调的一个关键就是接口一定要保证粗粒度特性,实现业务规则和逻辑的高度内聚。接口面对的应该是核心的业务对象,领域对象或业务规则能力暴露,而不是微服务模块内部的数据库表的CRUD操作的暴露。如果将数据库表CRUD操作暴露为Rest API接口并在微服务模块间相互调用。一个是耦合性增加,一个是完全没有实现高内聚的基本要求。

    基于以上基础原则,我们在进行微服务接口识别和定义的时候,仍然需要从业务流程出发,梳理清楚完成一个完整的业务流程各个微服务模块之间有哪些业务交互接口,然后将这些接口识别出来后,才进行接口的拆分或合并,最终形成微服务API接口,只有这样最终的微服务API接口才是可以复用的。

    由于我们已经将基础数据管理独立到一个基础模块,因此可以基于数据能力开放和暴露的原则将这些基础数据的能力以查询服务方式暴露为独立的数据服务能力接口。要求仍然是领域对象级而不是数据库表级别。

    每一个微服务模块在开发和实现的时候,如果都是基于领域驱动架构设计的思路进行的,那么只有微服务模块的领域对象定义完整,完全可以将领域对象的能力以API接口的方式暴露出去,这里既包括了查询类接口,也包括了导入或数据插入类接口,其次对于核心的业务规则的实现可以独立暴露为接口服务。

    在前面微服务架构咨询里面我曾经谈到过,在多个微服务模块之上,还可能有一个微服务能力组合层,实现类似流程服务和组合服务类的能力。如果存在这种情况,那么最好也是独立的微服务模块来实现,这个微服务模块本身可能并不对应具体的数据库,而是将底层的微服务模块之间服务能力进行组合,形成新的接口服务能力。

    由于在微服务架构设计中,我们更加强调数据不落地的方式进行后续的开发和实现,由于数据不落地,我们就可以更好的以能力开放的思路来进行接口的识别和暴露。简单来说有哪些数据或业务对象在你这,有哪些业务规则属于你管理?这些都在经过粗粒度聚合后,都可以识别和定位为微服务API接口。

    展开全文
  • 服务器识别不了移动硬盘

    千次阅读 2018-11-08 16:17:45
    Windows只识别NTFS格式一类 Linux主要是ext一类 U盘与移动硬盘格式化FAT32的话,一般两边都能识别出来 如果移动硬盘在window上识别出来在linux上识别不出来,一般就是NTFS格式识别不出来,需要 sudo apt-get ...
  • 通过设置 UserAgent 让服务器识别 app

    千次阅读 2015-05-16 09:23:52
    通过设置 UserAgent 让服务器识别 app信息 - (void) resetUserAgent { // Do any additional setup after loading the view, typically from a nib. UIWebView *webView = [[[UIWebView alloc] initWithFrame:...
  • 在产品服务那搜索“图像识别” 创建一个新应用,应用名称随便写 创建成功后会生成AppID,API Key,Secret Key  二、安装接口 pip3 install baidu-aip 如果安装慢可以用镜像pip3 install baidu-aip -i ...
  • 目标是得到在线的IP启动了哪些端口,尽量猜测端口对应的服务。 Centos7 (macos用brew直接安装就行) Nmap 6.47 Masscan 1.0.4 Python 2.7.x centos7 sudo yum install nmap ## masscan 需要...
  • Linux服务器无法识别ntfs磁盘 如果想识别的话,需要安装一个包ntfs-3g 安装好后,将移动磁盘插入到服务器的usb口中 新建一个目录,将磁盘挂载在新建的目录上 挂载命令如下: mount -t ntfs-3g /dev/移动磁盘...
  • 使用Nmap进行端口扫描和服务识别

    万次阅读 2006-12-07 15:34:00
    使用Nmap进行端口扫描和服务识别第1章 Nmap的简介[1]Nmap (“Network Mapper(网络映射器)”) 是一款开放源代码的 网络探测和安全审核的工具。它的设计目标是快速地扫描大型网络,当然用它扫描单个 主机也没有问题。...
  • 人脸识别服务器

    千次阅读 2013-09-05 10:57:12
    本产品综合原有成熟的《人脸识别刑侦系统》《人脸识别用餐身分论证系统》《人脸识别门禁/考勤系统》及我们多年来成熟稳定的数据通讯技术与数据安全技术针对人脸识别的各种应用场合而研发的人脸识别服务器套件。...
  • 指纹识别

    千次阅读 2018-11-13 19:41:56
    系统指纹识别   方式一: 通过TCP/IP数据包发到目标主机,由于每个操作系统类型对于处理TCP/IP数据包都不相同,所以可以通过之间的差别判定...方式二:端口服务识别 每个操作系统都有特有的服务和端口,如: w...
  • 人脸识别服务协议示例,可用于有人脸识别功能的软件系统参考,根据业务特征适当修改协议内容后可用,主要涉及到告知用户人脸图片的用户以及系统的保密责任
  • 【人脸识别一直失败的原因】近几年手机镜头质量的飞速上升让许多手机能够通过人脸识别来实现诸多功能。许多软件也需要进行人脸识别的身份认证。在这一过程中,最闹心的事情无疑是识别失败。很多朋友想知道人脸识别...
  • Web服务器指纹识别工具httprint

    千次阅读 2017-11-17 09:17:00
    Web服务器指纹识别工具httprint
  • 在以前的项目中用到了百度语音识别服务,在这里做一个笔记。这里还是要和大家强调一下,最好的学习资料就是官网网站。我这里只是一个笔记,一方面整理了思路,另一方面方便以后我再次用到的时候可以快速回忆起来。...
  • Flask搭建简单图片识别服务器

    千次阅读 2015-12-19 21:42:09
    Flask搭建简单手写数字识别服务器
  • 服务器无法识别raid怎么解决

    千次阅读 2018-05-03 16:04:51
    [服务器数据恢复故障描述] ...北京某公司的机房进行搬迁,重新连接线路后发现服务器无法识别RAID,服务器未做初始化操作。客户服务器为LINUX操作系统,构建了NFS+FTP作为公司内部文件服务器使用。服务器型号为HP ...
  • 请问,目前国内有哪些比较好的人脸识别在线服务啊?有没有推荐的?
  • 三个android语音识别例程

    千次下载 热门讨论 2010-08-02 15:44:47
    三个android识别例程:调用其它程序识别(intent),调用后台服务识别(service),自己识别
  • 这是一篇含金量很高的干货文章,国家税务总局全国增值税发票查验平台验证码识别方案和具体思路,实验结果测试了200+次,识别率达到98%以上,识别速度的话,CPU大概5-8毫秒左右,模型大概3mb。
  • 安卓调用系统语音识别功能全解(谷歌语音服务):获取识别结果,使用语音识别进行搜索。首先要添加权限先初始化一个语音识别请求,调用系统语音识别功能,返回识别结果。其主要原理就是将语音发送到google云端,然后...
  • 这款在线文字识别转换有别于其他的软件,罕见地可以保留识别格式,如果你选择识别结果是PDF,那么格式将会是非常精确地保留下来,如果你选择识别结果是WORD,那么系统将会为你自动排版到最优格式,总之一句话,识别...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 692,413
精华内容 276,965
关键字:

服务识别