天道酬勤,学无止境

Windows Filtering Platform - How can I block incoming connections based on local port?

I'm attempting to set up some filters using WFP to block inbound connections to a local server (for example, a webserver listening on port 8080).

I've got a filter working which can block based on Remote Port, so I can stop processes on my machine from establishing any connections to port 8080, but I can't figure out how to block incoming connections from another machine based on the local port 8080?

Here's my code which works to block based on remote port: (It's C# using P/invoke but it's pretty much the same as if it were written in C++)

var RemotePort = 8080 # port to block

// connect to engine
var session = new Fwpm.FWPM_SESSION0 { flags = Fwpm.FWPM_SESSION_FLAG_DYNAMIC };
UInt32 engineHandle;
UnsafeNativeMethods.FwpmEngineOpen0(null, Fwpm.RPC_C_AUTHN_WINNT, IntPtr.Zero, session, out engineHandle

// create a subLayer to attach filters to
var subLayerGuid = Guid.NewGuid();
var subLayer = new Fwpm.FWPM_SUBLAYER0();
subLayer.subLayerKey = subLayerGuid;
subLayer.displayData.name = DisplayName;
subLayer.displayData.description = DisplayName;
subLayer.flags = 0;
subLayer.weight = 0x100;

UnsafeNativeMethods.FwpmSubLayerAdd0(engineHandle, subLayer, IntPtr.Zero)

var condition = new Fwpm.FWPM_FILTER_CONDITION0 {
    fieldKey = Fwpm.FWPM_CONDITION_IP_REMOTE_PORT,
    matchType = Fwpm.FWP_MATCH_TYPE.FWP_MATCH_EQUAL,
    conditionValue = {
        type = Fwpm.FWP_DATA_TYPE.FWP_UINT16,
        uint16 = RemotePort
    }
}

// create the filter itself
var fwpFilter = new Fwpm.FWPM_FILTER0();
fwpFilter.layerKey = Fwpm.FWPM_LAYER_ALE_AUTH_CONNECT_V4;
fwpFilter.action.type = Fwpm.FWP_ACTION_BLOCK;
fwpFilter.subLayerKey = subLayerGuid;

fwpFilter.weight.type = Fwpm.FWP_DATA_TYPE.FWP_EMPTY; // auto-weight.
fwpFilter.numFilterConditions = (uint)1;

var condsArray = new[]{ condition };
var condsPtr = SafeNativeMethods.MarshalArray(condsArray); // helper to create a native array from a C# one
fwpFilter.filterCondition = condsPtr;

fwpFilter.displayData.name = DisplayName;
fwpFilter.displayData.description = DisplayName;

// add the filter
UInt64 filterId = 0L;
UnsafeNativeMethods.FwpmFilterAdd0(engineHandle, ref fwpFilter, IntPtr.Zero, out filterId));

As mentioned above, this code does work to block connections with remote port of 8080. To block connections with Local Port 8080, I modified the code as follows:

var LocalPort = 8080;

var condition = new Fwpm.FWPM_FILTER_CONDITION0 {
    fieldKey = Fwpm.FWPM_CONDITION_IP_LOCAL_PORT,
    matchType = Fwpm.FWP_MATCH_TYPE.FWP_MATCH_EQUAL,
    conditionValue = {
        type = Fwpm.FWP_DATA_TYPE.FWP_UINT16,
        uint16 = LocalPort
    }
}

// create the filter itself
var fwpFilter = new Fwpm.FWPM_FILTER0();
fwpFilter.layerKey = Fwpm.FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V4;

MSDN implies that FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V4 is the right place to block inbound connections, however this doesn't work at all. I've tried FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_V4 as well as a few other layers, but no matter what I've tried, I am always able to establish connections from another machine to a server on port 8080 on my machine.

Any help would be much appreciated

标签

评论

You should be able to create that filter on any of the INBOUND or RECV layers that support the FWPM_CONDITION_IP_LOCAL_PORT condition, the resource to search for that is:

http://msdn.microsoft.com/en-us/library/windows/hardware/ff549939%28v=vs.85%29.aspx

However, not all traffic passes through every layer, I am by no means an expert but one approach is to add a filter like that to every applicable layer (a half dozen or so filers) and see if that works. If so you then remove the filters one at a time till you find the set that was actually needed. There were 4 layers I needed on a recent project to stop all the traffic I was interested in.

One big caveat that may be worth noting is that traffic on localhost may not go through any WFP layers (or perhaps it was only inbound layers it skipped, I don't remember). So you can use WFP to prevent a remote connection to the port, but a local connection may still go through.

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 高性能平台设计——美团旅行结算平台实践
    酒旅有很多条业务线,例如酒店、门票、火车票等等,每种业务都有结算诉求,而结算处于整个交易的最后一环不可缺少,因此我们将结算平台化,来满足业务的结算诉求。结算平台通过业务需求以及我们对业务的理解,沉淀了各种能力并构建了丰富的能力地图。我们将业务的发展归纳为几个阶段,例如业务孵化阶段,快速抢占市场扩大覆盖阶段,市场稳定后急需盈利阶段,国内业务稳定后的国际化阶段,业务发展的各个阶段都能在结算平台找到相应的能力支持。业务孵化阶段讲究的是低成本试错,我们将结算的核心流程,账单->付款->发票等模块平台化,新业务接入只需要5~10天。我们的预付款结算,分销结算,阶梯返佣结算,地推结算能力能快速的帮业务抢占市场实现盈利。我们的汇率管理,多币种,多时区结算能力可以助力业务开展海外市场。当前结算平台支持酒旅4个事业部,17条业务线,涵盖境内、境外等业务的线上结算,后边我主要介绍下对账平台的实践即账单的实践。对账平台的重要性对账是平台化的第一环,它需要算清楚商家和美团点评的收益明细,后续的付款,发票等,都是基于对账进行开展的。同时它需要对接酒旅的各个订单中心,不同业务的订单具体实现和业务流程不同,不同的业务对账规则和时机也不相同,同时对账每天需要处理数百万条交易明细。如何解决订单、对账层面的差异?每天处理数百万交易明细如何高效准确的处理这些数据?17条业务线如何做隔离、定制、个性化扩容
  • 如何使用localhost上的多播限制流量(How to limit traffic using multicast over localhost)
    问题 我在本地主机上使用多播UDP来实现在一台计算机上运行的协作程序的松散集合。 以下代码可在Mac OSX,Windows和linux上正常运行。 缺陷在于该代码还将在本地网络之外接收UDP数据包。 例如,当从我的网络上的另一个盒子发送时,我的测试机会收到sendSock.sendto(pkt, ('192.168.0.25', 1600)) 。 import platform, time, socket, select addr = ("239.255.2.9", 1600) sendSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP) sendSock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 24) sendSock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_IF, socket.inet_aton("127.0.0.1")) recvSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP) recvSock.setsockopt(socket.SOL
  • 【IPFS应用开发】基于ipfs的安卓节点
    本系列文章是针对 https://blog.csdn.net/weixin_43668031/article/details/83962959 内容的实现所编写的。开发经历包括思考过程、重构和推翻重来。 【IPFS应用开发】基于ipfs的安卓节点设计及构想 前言【BASE_API】 1. Ipfs gateway选优【BASE_API】 2. Ipfs name cache【BASE_API】 3. 监控【BASE_API】 4. Ipfs参数设置【BASE_API】 5. APK更新机制【BASE_API】 6. 下载应用【BASE_API】 7. 应用pin信息【BASE_API】 8. 任意内容输入接口、扫描二维码接口 前言 这些天一直在纠结关于应用的节点问题,采用以PC节点作为主力节点的方案效率较低,随着移动互联网的发展,移动的ipfs节点将成为主力,这里选用移动Android作为主力传输节点,服务节点仍然是以pc,x86的服务器作为主力。Ipfs跑在Android上,我选用的是go-ipfs作为代码核心,因为go语言的编译支持编译出x86平台,arm平台,arm64平台,并且arm的编译版本已经在Android平台调试过了,已经验证过了这个想法可行。 我的ipfs移动应用构想:这个应用app,是一个平台,是一个载体,是ipfs网络的落地应用平台,这样设计有很多好处
  • 全国计算机等级考试三级信息安全技术考试大纲(2018 年版)
    考试大纲   基本要求   1. 了解信息安全保障工作的总体思路和基本实践方法   2. 掌握信息安全技术的基本概念、原理、方法和技术   3. 熟练掌握计算机网络安全、系统软件安全和应用软件安全的基本知识和实践技能   4. 掌握信息安全设备的安装、配置和使用的基本方法   5. 了解信息系统安全设施部署与管理基本技术   6. 了解信息安全风险评估和等级保护原理与方法   7. 了解信息安全相关的标准、法律法规和道德规范   考试内容   一、信息安全保障概述   1. 信息安全保障的内涵和意义   2. 信息安全保障的总体思路和基本实践方法   二、信息安全基础技术与原理   1. 密码技术   (1)对称密码与非对称密码   (2)哈希函数   (3)数字签名   (4)密钥管理   2. 认证技术   (1)消息认证   (2)身份认证   3. 访问控制技术   (1)访问控制模型   (2)访问控制技术   4. 审计和监控技术   (1)审计和监控基础   (2)审计和监控技术   三、系统安全   1. 操作系统安全   (1)操作系统安全基础   (2)操作系统安全实践   2. 数据库安全   (1)数据库安全基础   (2)数据库安全实践   四、网络安全   1. 网络安全基础   2. 网络安全威胁技术   3. 网络安全防护技术   (1)防火墙  
  • 如何从网络上的另一台计算机浏览我的 Tomcat 本地主机?(How can I browse my Tomcat localhost from another computer on the network?)
    问题 我是一个 IIS 人,知道它就像使用 http://[computername]/path to webapp 一样简单。但是,我似乎无法弄清楚如何为我的 JSP 应用程序实现这一点在Tomcat下运行的写作。 是否有我需要在某处设置的配置设置? 回答1 您需要使用默认为 8080 的 Tomcat 端口。因此,您可能希望从机器 B 以 http://A:8080/YourProject 的形式访问机器 A 上的本地主机,并记住与 IIS 不同,它区分大小写。 回答2 您是否在防火墙中创建了例外? 假设 Tomcat 在端口 8080 上运行并且这是一台 Windows XP 机器,防火墙将阻止该端口(Windows Server 2003 上并非如此)。 可以通过以下方式配置防火墙:从控制面板中选择 Windows 防火墙,然后单击例外 -> 添加端口并输入名称和编号:Tomcat、8080 并将传输协议保留为 TCP 回答3 如果你的 ip 是 192.122.11.22 你必须写 http://192.122.11.22:8080/proyectname (如果没有,那么看看你的防火墙) 回答4 您可以使用您的 IP 地址而不是 localhost http://10.4.0.1:8080/YourProject 回答5 第 1 步
  • Linux系统防火墙Firewalld
    Firewalld Firewalld概述Firewalld和iptables的区别Firewalld网络区域区域介绍与概念9个预定义区域Firewalld数据处理流程firewalld检查数据包的源地址的规则 Firewalld防火墙的配置方式常用的firewall-cmd命令选项区域管理服务管理端口管理 Firewalld概述 Firewalld防火墙是Centos7系统默认的防火墙管理工具,取代了之前的iptables防火墙 Firewalld也是工作在网络层,属于包过滤防火墙 firewalld 和 iptables 都是用来管理防火墙的工具(属于用户态)来定义防火墙的各种规则功能,内部结构都指向 netfilter 网络过滤子系统(属于内核态)来实现包过滤防火墙功能。 firewalld 提供了支持网络区域所定义的网络连接以及接口安全等级的动态防火墙管理工具。它支持IPv4、IPv6防火墙设置以及以太网桥(在某些高级服务可能会用到,比如云计算),并且拥有两种配置模式:运行时配置与永久配置。 Firewalld和iptables的区别 Firewalldiptables是基于区域,根据不同的区域来设置不同的规则,从而保证网络的安全。与硬件防火墙的设置相类似。主要是基于接口,来设置规则,从而判断网络的安全性。firewalld 将配置储存在/etc/ firewalld/ (
  • TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
    按官方配置方法配置了open*** http://open***.net/index.php/open-source/documentation/howto.html结果却一直报错 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)google一下.CU鸟人说是时间不对.可我时间都是同步的.没啥问题看了官方FAQ看明白..哎.大家记住啊,还是官方的文档好.国内的太让人郁闷了.意思自己看吧.很简单的火星文 Troubleshooting If the ping failed or the Open××× client initialization failed to complete, here is a checklist of common symptoms and their solutions: You get the error message: . This error indicates that the client was unable to establish a network connection with the server. Solutions: Make sure the client is using
  • Windows 10安全指南
    Windows 10安全指南 xiaohui 嘶吼专业版 人们很容易认为,保护Windows 10设备的过程非常简单,甚至按着一定之规操作就可以了。比如,安装一些安全软件,调整一些设置,进行一两次培训,然后你就可以高枕无忧了。 但现实世界要复杂得多,初始设置只是建立一个安全基线。在完成初始配置之后,安全性需要持续的警惕和持续的工作。保护Windows 10设备的大部分工作都是要根据实际运行环境进行的。精心策划的安全策略会关注网络流量、电子邮件帐户、身份验证机制、管理服务器和其他外部连接。 本指南涵盖了大量的实际案例,每个标题都讨论了决策者在部署Windows 10PC时必须考虑的问题。虽然它涵盖了许多可用的参考样本,但这不是一个实际意义上的操作指南。 在大型企业中, IT人员应该包括能够管理这些步骤的安全专家。在没有专门IT人员的小型企业中,将这些职责外包给具有必要专业知识的顾问可能是最好的方法。 不过,在进行单个Windows设置之前,请花一些时间进行威胁评估。特别是,在发生数据泄露或其他与安全相关的事件时,要意识到自己的法律和监管责任,以下方法适用于所有规模的企业。 管理更新 对于任何Windows 10PC来说,最重要的一个安全设置是确保定期、按时安装更新。当然,这适用于所有现代计算设备,但微软在Windows 10中引入的“Windows即服务”(Windows as a
  • 有关java网络开发相关笔记
    java网络编程 端口: 端口是用来区分应用程序,这些都是对计算机内存的抽象,每个端口在1到65535之间的数字标识,每个端口可以分配给一个特定的服务 1-1023的端口号保留给已知的服务 防火墙 在本地网络建立一个访问点,检查所有进出访问点的业务流通很有用,位于Internet和本地网络之间的一些硬件和软件会检查所有进出的数据,以保证其合法性,这就是防火墙,过滤通常是基于网络地址和端口 代理服务器 代理服务器与防火墙有关,防火墙会阻止一个网络上的主机与外界直接建立连接,代理服务器就起到了中间人的作用,防火墙一般工作于传输层或网络层,而代理服务通常工作于应用层,可以检查通过代理服务器的包,确保其中包含适当类型的数据 代理服务器最大的问题在于它无法应对所有协议(通常已有的协议有http,ftp,smtp),但对于更新的协议就不允许通过,使用java可以很容易创建应用而优化的新协议(开发人员开始通过http来接入它们的协议,如SOAP,不过,这对安全性有明显的负面影响,防火墙的存在肯定事出有因,而不只是找java程序员的麻烦) (xxx.proxyhost,xxx.proxyport,xxx.proxyset)系统属性,来指示使用的代理服务器 客户/服务器模型 大多数现代网络编程都基于客户/服务器模型,客户/服务器应用程序一般将大量数据存储在昂贵的高性能服务器或服务器云上
  • 组策略(Group Policy)学习思维引导
    1、什么是组策略(Group Policy/GP)组策略用来管理网络环境中的用户和计算机,GP中定义了系统管理员管理工作所要的各种模板组件。大体可以进行5类管理任务:A、通过管理模片管理基于注册表的策略:可用来修改HKCU 和HKLM里的参数B、指派脚本:启动、关机、登入、登出等脚本C、重定向文件夹D、管理应用程序E、指定安全选项组策略中包含两部分:1]计算机配置:针对计算机的配置,只在计算机上生效。计算机启动的时候应用,在出现登录界面前。2]用户配置:针对用户的配置,只在所有用户帐户上生效。用户登录后应用。两者都包括以下三个子项:A、软件设置:包括软件指派,发布、更新、修复和软件的设置B、Windows设置:包括文件夹重定向、安全设置和登入、登出脚本C、管理模板:2003的管理模版存储在GPT中的Registry.pol文件中,其有两个文件,一个用于计算机设置,一个用户用户设置。GPO(Group Policy Object)组策略对象:包含多种Windows组策略设置的集合,存储在:GPC和GPT两个位置:GPC(Group Policy Container)组策略容器:GPC存储在活动目录中,包含GPO属性和版本信息的AD对象。可让计算机访问它来查找GPT,域控制器能够访问它来获得版本信息GPT(Group Policy Template)组策略模板
  • 在多个 Python 多处理队列上“选择”?(“select” on multiple Python multiprocessing Queues?)
    问题 等待(不旋转)直到两个(多处理)队列之一中有可用的东西的最佳方法是什么,它们都驻留在同一系统上? 回答1 看起来还没有官方的方法来处理这个问题。 或者至少,不是基于此: http://bugs.python.org/issue3831 您可以尝试类似这篇文章所做的事情——访问底层管道文件句柄: http://haltcondition.net/?p=2319 然后使用选择。 回答2 实际上你可以在 select.select 中使用 multiprocessing.Queue 对象。 IE que = multiprocessing.Queue() (input,[],[]) = select.select([que._reader],[],[]) 只有当它准备好被读取时才会选择 que。 虽然没有关于它的文档。 我正在阅读 multiprocessing.queue 库的源代码(在 linux 上,它通常类似于 /usr/lib/python2.6/multiprocessing/queue.py)以找到它。 使用 Queue.Queue 我没有找到任何聪明的方法来做到这一点(我真的很想这样做)。 回答3 不确定多处理队列上的选择在 Windows 上的效果如何。 由于 Windows 上的 select 侦听套接字而不是文件句柄,因此我怀疑可能存在问题。
  • Iptables 规则用法小结
    iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。在日常Linux运维工作中,经常会设置iptables防火墙规则,用来加固服务安全。以下对iptables的规则使用做了总结性梳理:iptables首先需要了解的:1)规则概念规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。规则存储在内核空间的信息 包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept),拒绝(reject)和丢弃(drop)等。配置防火墙的主要工作是添加,修改和删除等规则。其中:匹配(match):符合指定的条件,比如指定的 IP 地址和端口。丢弃(drop):当一个包到达时,简单地丢弃,不做其它任何处理。接受(accept):和丢弃相反,接受这个包,让这个包通过。拒绝(reject):和丢弃相似,但它还会向发送这个包的源主机发送错误消息。这个错误消息可以指定,也可以自动产生。目标(target):指定的动作
  • firewalld防火墙
    firewalld防火墙 1、firewalld防火墙简介2、firewalld与iptables 的区别3、firewalld区域概念①firewalld防火墙9个区域②区域介绍 4、firewalld数据处理流程5、firewalld检查数据包的源地址规则6、firewalld防火墙的配置①区域管理②服务管理③端口管理 1、firewalld防火墙简介 firewalld防火墙是Centos7系统默认的防火墙管理工具,取代了之前的iptables防火墙,也是工作在网络层,属于包过滤防火墙 firewalld和iptables都是用来管理防火墙的工具(属于用户态)来定义防火墙的各种规则功能,内部结构都指向netfilter网络过滤子系统(属于内核态)来实现包过滤防火墙功能。 firewalld提供了支持网络区域所定义的网络连接以及接口安全等级的动态防火墙管理工具。 它支持IPv4、 IPv6防火墙设置以及以太网桥(在某些高级服务可能会用到,比如云计算),并且拥有两种配置模式:运行时配置与永久配置。 2、firewalld与iptables 的区别 ①、iptables主要是基于接口,来设置规则,从而判断网络的安全性。 firewalld是基于区域,根据不同的区域来设置不同的规则,从而保证网络的安全。与硬件防火墙的设置相类似。 ②、iptables在/etc/ sysconfig
  • 机器视觉工业缺陷检测的那些事(四、常用算法与库)
    目录 机器视觉工业缺陷检测的那些事(四) 二、算法(预处理算法、检测算法) 常用的图像处理算法: 1、图像变换:(空域和频域、几何变换、色度变换、尺度变换) 2、图像增强: 3、纹理分析(取骨架、连通性); 4、图像分割: 5、图像特征: 6、图像/模板匹配: 7、色彩分析 8、图像数据编码和传输; 9、表面缺陷目标识别算法: 三、现有可用的视觉检测软件/库 1、做工业视觉检测的公司有哪些? 2、常用的视觉检测软件/库 【骆驼走得慢,但终能走到目的地。 】 机器视觉工业缺陷检测的那些事(四) 二、算法(预处理算法、检测算法) 常用的图像处理算法: 1、图像变换:(空域和频域、几何变换、色度变换、尺度变换) 几何变换:图像平移、旋转、镜像、转置;尺度变换:图像缩放、插值算法(最近邻插值、线性插值、双三次插值); 2、图像增强: 灰度变换增强(线性灰度变换、分段线性灰度变换、非线性灰度变换);直方图增强(直方图统计、直方图均衡化);图像平滑/降噪(邻域平均法、加权平均法、中值滤波、非线性均值滤波、高斯滤波、双边滤波);图像(边缘)锐化:梯度锐化,Roberts算子、Laplace算子、Sobel算子等; 3、纹理分析(取骨架、连通性); 4、图像分割: (1)阈值分割(固定阈值分割、最优/OTSU阈值分割、自适应阈值分割); (2)基于边界分割(Canny边缘检测、轮廓提取、边界跟踪)
  • 干货分享 | 物联网中的推荐系统
    作者 | Alexander Felfernig, Seda Polat Erdeniz 编译 | CDA数据科学研究院 1、背景介绍 物联网是一种联网的基础架构,是物联网、互联网和语义学领域之间融合的结果,为随时随地连接不同设备提供了基础。在物联网场景中,开发了大量的服务和应用程序,这使识别相关的服务和应用程序成为用户的一项复杂任务。在这种情况下,推荐系统便成了一项关键的技术,这些技术使大部分服务和应用程序的识别变得可行。比如在物联网等场景下可以在网关上安装一些应用程序,附加设备由网关部署和管理,同时在公共显示器上显示的信息文本,会被用于在网关上完成特定任务相关的数据传输协议,并应包括IoT相关场景中相关的硬件和软件组件。 推荐技术在IoT上下文中的进一步应用包括工作流程的推荐(例如,应将哪些软件功能包含在IoT应用程序的工作流程定义中),食品的推荐(例如,根据食品的状况,可以调整提供条件),在个性化店内购物场景中进行推荐(例如,根据实体店中顾客的位置,应推荐哪些商品)以及健康监控(例如,根据一个人当前的饮食行为和身体状况,推荐食物和体育锻炼)。在许多情况下,灵活的物联网网关基础设施都扮演着核心角色。 IoT网关是基于硬件和软件的解决方案,其主要作用是实现设备到设备中心/或设备到云的通信。它是一个平台,用于支持不同数据源(具有各种通信协议的传感器)与目的地
  • 老师给的硬核移动端测试面试题目,大家看看靠谱吗
    以后我把各岗位的题目更新个遍,当然大部分都是我自己总结的保证质量哈 ADB工作原理 当用户启动一个adb客户端,客户端首先确认是否已有一个adb服务进程在运行。如果没有,则启动服务进程。当服务器运行, adb服务器就会绑定本地的TCP端口5037并监听adb客户端发来的命令,所有的adb客户端都是用端口 5037与adb服务器进行对话的。接着服务器将所有运行中的模拟器或设备实例建立连接。它通过扫描所有5555到5585范围内的奇数端口来定位所有的模拟器或设备。一旦服务器找到了adb守护程序,它将建立一个到该端口的连接。请注意任何设备和模拟器实例会取得两个连接的端口,一个偶数端口用来控制与控制台的连接,和一个奇数端口用来控制与adb连接。 ADB 的使用 显示当前运行的虚拟设备:adb devices查看adb所支持的所有命令:adb –help查看adb的版本序列号:adb version 进入模拟器的shell模式:adb shell 如何重启 adb服务 关闭server:adb kill-server 重启server:adb start-server APP的安装与卸载 在模拟器安装软件:adb install –r *.apk 在模拟器卸载软件:adb uninstall 包名 adb install –r *.apk 只连接一个设备adb  install
  • How to encrypt bytes using the TPM (Trusted Platform Module)
    How can I encrypt bytes using a machine's TPM module? CryptProtectData Windows provides a (relatively) simple API to encrypt a blob using the CryptProtectData API, which we can wrap an easy to use function: public Byte[] ProtectBytes(Byte[] plaintext) { //... } The details of ProtectBytes are less important than the idea that you can use it quite easily: here are the bytes I want encrypted by a secret key held in the System give me back the encrypted blob The returned blob is an undocumented documentation structure that contains everything needed to decrypt and return the original data (hash
  • 阿里P6JAVA架构师 Nginx 核心模块与配置实践分享
    目录 一、Nginx 简介与安装 1、Nginx 简介 2、编译与安装 二、Nginx 架构说明 Nginx 架构图: 架构说明: Nginx 核心模块: 三、Nginx 配置与使用 1、配置文件的语法格式: 2、配置第一个静态WEB服务 3、日志配置: 一、Nginx 简介与安装 1、Nginx 简介 Nginx是一个高性能WEB服务器,除它之外Apache、Tomcat、Jetty、IIS,它们都是Web服务器,或者叫做WWW(World Wide Web)服务器,相应地也都具备Web服务器的基本功能。Nginx 相对基它WEB服务有什么优势呢? (1)Tomcat、Jetty 面向java语言,先天就是重量级的WEB服务器,其性能与Nginx没有可比性。 (2)IIS只能在Windows操作系统上运行。Windows作为服务器在稳定性与其他一些性能上都不如类UNIX操作系统,因此,在需要高性能Web服务器的场合下IIS并不占优。 (3)Apache的发展时期很长,而且是目前毫无争议的世界第一大Web服务器,其有许多优点,如稳定、开源、跨平台等,但它出现的时间太长了,在它兴起的年代,互联网的产业规模远远比不上今天,所以它被设计成了一个重量级的、不支持高并发的Web服务器。在Apache服务器上,如果有数以万计的并发HTTP请求同时访问,就会导致服务器上消耗大量内存
  • 密码学知识点梳理
    博主没有科班的学过密码学(当年应该选这门选修课的!!!),但是科班的学过网络安全。。。 嘛,总之再梳理一下。部分以刷题的方式呈现(因为这样接受知识的效率比较高!!~) 病毒类型: 文件型病毒系计算机病毒的一种,主要通过感染计算机中的可执行文件(.exe)和命令文件(.com)。文件型病毒是对计算机的源文件进行修改,使其成为新的带毒文件。一旦计算机运行该文件就会被感染,从而达到传播的目的。宏病毒是一种寄存在文档或模板的宏中的计算机病毒。一旦打开这样的文档,其中的宏就会被执行,于是宏病毒就会被激活,转移到计算机上,并驻留在Normal模板上。从此以后,所有自动保存的文档都会“感染”上这种宏病毒,而且如果其他用户打开了感染病毒的文档,宏病毒又会转移到他的计算机上。网络病毒指计算机病毒的定义计算机病毒(Computer Virus)在《中华人民***国计算机信息系统安全保护条例》中被明确定义,病毒“指编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码”。 引导型病毒指寄生在磁盘引导区或主引导区的计算机病毒。此种病毒利用系统引导时,不对主引导区的内容正确与否进行判别的缺点,在引导型系统的过程中侵入系统、驻留内存、监视系统运行、待机传染和破坏。 https&http:在HTTP跟TCP中间多了一层加密层TLS/SSL就是HTTPS
  • 计算机网络安全的一些概念以及知识点
    第一章 绪 论 1、典型的网络安全威胁 威 胁 描 述 窃听 网络中传输的敏感信息被窃听。 重传 攻击者事先获得部分或全部信息,以后将此信息发送给接收者。 伪造 攻击者将伪造的信息发送给接收者。 篡改 攻击者对合法用户之间的通讯信息进行修改、删除、插入,再发送给接收者。 非授权访问 通过假冒、身份攻击、系统漏洞等手段,获取系统访问权,从而使非法用户进入网络系统读取、删除、修改、插入信息等。 拒绝服务攻击 攻击者使系统响应减慢甚至瘫痪,阻止合法用户获得服务。 行为否认 通讯实体否认已经发生的行为。 旁路控制 攻击者发掘系统的缺陷或安全脆弱性。 电磁/射频截获 攻击者从电子或机电设备所发出的无线射频或其它电磁辐射中提取信息。 人员疏忽 授权的人为了利益或由于粗心将信息泄漏给未授权人。 2、计算机网络不安全因素 偶发性因素:如电源故障、设备的机能失常、软件开发过程中留下的某种漏洞或逻辑错误等。 自然灾害:各种自然灾害(如地震、风暴、泥石流、建筑物破坏等)。 人为因素:不法之徒利用计算机网络或潜入计算机房,篡改系统数据、窃用系统资源、非法获取机密数据和信息、破坏硬件设备、编制计算机病毒等。此外,管理不好、规章制度不健全、有章不循、安全管理水平低、人员素质差、操作失误、渎职行为等都会对计算机网络造成威胁。 3、对计算机网络的主要攻击 3.1被动攻击 攻击举例 描 述 监视明文 监视网络