寻找攻击目标的目标一般方法有哪些

unity3d(6)
创建玩家目标
本例中用一个椭圆代替玩家(名字改为 playerobj),然后在玩家目标上创建entity子物体,选择rain-&create new-&entity。
首先选择 Add Aspect 添加视觉监视物Visual Aspect(本例中用Visual sensor监视器所以添加此,本例已添加好,还有Audio Aspect 这个用于声音监视),起个名字 player, 挂载点 playerobj(椭圆玩家的名字)。
还可在playerobj上添加简单脚本,显示血量等如下。
public int blood=100;
void Start () {
void Update () {
if(blood&=0)
Destroy(gameObject);
行为树中设计Inspect
在上次笔记中创建的isplayer节点上修改,Aspect “player”(entity的名字),Form Variable
“playerobj”(检测到目标之后形成的对象名字,自己起的),看图中注意 有些地方需要加双引号,有些不用。
检测AI与玩家距离
有最初的行为树规划可知,发现玩家目标后,需要检测玩家与AI距离是否够近,若是则攻击,否则移动到玩家附近。
所以创建 Custom Action节点(命名 distance)
注意右侧的class 点击之后 有选项Create New(本次已创建好所以isplayer)创建好后可以从project面板-AI-Action中查看。
类中代码修改地方如下
public override ActionResult Execute(RAIN.Core.AI ai)
//获取监视形成目标
var enemy = ai.WorkingMemory.GetItem(“playerobj”);
//检测目标是否存在(即监视器是否监视到目标)
if(enemy!=null)
//算玩家(相对于AI来说是敌人)目标与AI之间距离
var enemyPos = enemy.transform.
var distance = Vector3.Distance(ai.Body.transform.position, enemyPos);
//根据距离设置攻击状态,attack变量是在AI-memory(灯泡)中创建(将应用到行为树)
if (distance&=3)
ai.WorkingMemory.SetItem(“attack”,true);
ai.WorkingMemory.SetItem(“attack”, false);
ai.WorkingMemory.SetItem(“attack”, false);
return ActionResult.SUCCESS;
最后一点设置成forever
将这两个节点的repeat从 never改成 forever(意思见前几次笔记)。
行为树中设计检测到物体后AI反应
findplayer -selector(选择距离的两种情况)-两个constrant(条件节点),条件为attack=true或false(及上面类方法中修改的attack变量)
distance not enough
首先创建动画状态机节点(将isrun=true)形成奔跑动画,而后创建移动节点 将目标设为 playerobj(即监视形成变量),stop节点为停止跑(isrun=false),这几个节点前几次笔记都有介绍不详细讲解。
distance enough
当距离够时首先 需要停止行走动画 或 跑步动画,需要两个节点(isrun iswalk =false),然后播放攻击动画(attack=true),接下来介绍一下timer这个是设置延时时间的,可以理解为攻击播放动画的时间。
延时了0.6s,本攻击动画大约在0.8左右(自己查看)。
然后为一个攻击脚本 用Custom action
public override ActionResult Execute(RAIN.Core.AI ai)
var attackNum = ai.WorkingMemory.GetItem&int&("attackNum");
var enemy = ai.WorkingMemory.GetItem&GameObject&("playerobj");
if(enemy!=null)
Player player = enemy.GetComponent&Player&();
player.blood -= attackN
Debug.Log(player.blood);
return ActionResult.FAILURE;
return ActionResult.SUCCESS;
那么这个返回failure有什么用呢?
任意个子节点返回failure, 父节点也会failure所以理解了吗,我们可以将父节点的distance enough 的repeat 类型改为until failure这样是重复执行直至返回failure(玩家消失),及重复攻击动作直至玩家血量为零。
接下来 有事一个动画节点设为(isattack=false)控制攻击动画播放只有一次,接下来又是一个延时timer ,个人设置为2s意思是攻击后摇。
至此所有功能均已实现。
资源已上传 可以参照资源理解。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:11866次
排名:千里之外
原创:20篇
(2)(1)(3)(2)(1)(2)(8)(2)(3) 容易遭受攻击的目标及攻击方法(二)
IP欺骗和劫持:实例
  IP欺骗是使验证无效的攻击手段之一,也是如何组合攻击策略攻击网络的典型实例。IP欺骗利用了Internet开放式的网络设计和传统的建立在UNIX操作系统之间信任关系。主要的问题是使用TCP/IP协议的主机假设所有从合法IP地址发来的数据包都是有效的。攻击者可以利用这一缺陷,通过程序来发送虚假的IP包,从而建立TCP连接,攻击者可以使一个系统看起来象另一个系统。
  许多UNIX操作系统通过rhosts和rlogin在非信任的网络上(如Internet)建立信任的连接。这种传统的技术是流行的管理工具并减轻了管理负担。通常,这种系统由于把UNIX的验证机制和IP地址使用相结合从而提供了适当的安全。然而,这种验证机制是如此的独立于IP地址不会被伪造的假设,以至于很容易被击破。
  Non-blind spoofing 和Blind spoofing
  Non-blind spoofing是指攻击者在同一物理网段上操纵连接。Blind
spoofing是指攻击者在不同的物理网段操纵连接。后者在实施上更困难,但也时常发生。
  进行IP欺骗的攻击者需要一些程序,包括:
  · 一个包嗅探器
  · 一个能够同时终止TCP连接、产生另一个TCP连接、进行IP 伪装的程序
  IP欺骗涉及了三台主机。像先前分析的那样,使用验证的服务器必须信任和它建立连接的主机。如果缺乏天生的安全特性,欺骗是非常容易的。
  思考下列的场景,有三台主机分别是A,B和C。A使用TCP
SYN连接与合法用户B初始一个连接。但是B并没有真正参与到这次连接中,因为C已经对B实施了拒绝服务攻击。所以,虽然A认为是在与B对话,但实际上是与C对话。IP欺骗实际上组合了几种攻击手法包括对系统实施了拒绝服务攻击,还包括利用验证技术。
  作为审计人员,你不应该说服管理员终止这种信任关系,相反,你应当建议使用防火墙规则来检测有问题的包。
TCP/IP序列号生成方法
  TCP的Initial Sequence Number(ISN)的预测
  正常的TCP连接基于一个三次握手(3-way
handshake),一个客户端(Client)向服务器(Server)发送一个初始化序列号ISNc,
随后,服务器相应这个客户端ACK(ISNc),并且发送自己的初始化序列号ISNs,接着,客户端响应这个ISNs(如下图),三次握手完成。
   C ---〉S: (ISNc)
   S ---〉C: ACK(ISNc)+ ISNs
   C ---〉S: ACK(ISNs)
   C ---〉S: data
   and / or
   S ---〉C: data
  下面,我以Windows2000 Advanced Server为例,来说一下两台主机是如何进行三次握手。
  我们可以看到:
  1) Smartboy首先发送一个seq:的包给服务器202.116.128.6。
  2) 然后, 202.116.128.6响应主机Smartboy, 它送给Smartboy自己的
   seq: 而且响应Smartboy的ack:。
  3) Smartboy再响应服务器202.116.128.6, seq:,
   三次握手完毕,两台几建立起连接。
   可以看出,在三次握手协议中,Clinet一定要监听服务器发送过来的ISNs, TCP使用的sequence
number是一个32位的计数器,从0-。TCP为每一个连接选择一个初始序号ISN,为了防止因为延迟、重传等扰乱三次握手,ISN不能随便选取,不同系统有不同算法。理解TCP如何分配ISN以及ISN随时间变化的规律,对于成功地进行IP欺骗攻击很重要。
  在Unix系统里,基于远程过程调用RPC的命令,比如rlogin、rcp、rsh等等,根据/etc/hosts.equiv以及$HOME/.rhosts文件进行安全校验,其实质是仅仅根据源IP地址进行用户身份确认,以便允许或拒绝用户RPC。这就给与了那些攻击者进行IP地址欺骗的机会。
   让我们看X是如何冒充T来欺骗S,从而建立一个非法连接 :
   X----&S: SYN(ISNx ) , SRC = T
   S----&T: SYN(ISNs ) , ACK(ISNT) (*)
   X----&S: ACK(ISNs+1 ) , SRC = T (**)
   X----&S: ACK(ISNs +1) , SRC = T,
攻击命令(可能是一些特权命令)
   但是,T必须要在第(**)中给出ISNs,
问题是ISNs在第(*)步中发给了T(X当然很难截取到),幸运的是,TCP协议有一个约定:
ISN变量每秒增加250,000次,这个增加值在许多版本比较旧的操作系统中都是一个常量,在FreeBSD4.3中是125000次每秒,这就给X一个可乘之机。
看一下X是如何猜出ISNs : 
   a、首先, X发送一个SYN包来获取服务器现在的ISNs
     X ---〉S: (ISNx)
     S ---〉X: ACK(ISNx)+ ISNs# (1)
   b、紧接着,X冒充T向服务器发送SYN包
        X ---〉S: SYN(ISNx ) , SRC = T (2)
   c、于是,服务器发出一个响应包给T(这个包X是收不到的)
     S ---〉T: SYN(ISNs$) , ACK(ISNT ) (3)
   d、X计算ISNs$:
       ISNs$ = ISNs# + RTT&Increment of ISN (4)
  其中,RTT(Round Trip Time),是一个包往返X和S所用的时间,可以通过Ping 来得到。
  上图显示了round trip times (RTT) 大概是0。
  Increment of
ISN是协议栈的初始序列号每秒钟增加的值,以Unix为例,当没有外部连接发生时,服务器的ISN每秒增加128,000,有连接的时候,服务器的ISN每秒增加64,000。
   e、于是,
    X ---& S : ACK(ISNs$)   (冒充可信主机成功了)
    X ---& S : 恶意的命令或窃取机密消息的命令
  在评价以下的解决方案时有几点要注意:
  1.该解决方案是否很好地满足TCP的稳定性和可操作性的要求?
  2.该解决方案是否容易实现?
  3.该解决方案对性能的影响如何?
  4.该解决方案是否经得起时间的考验?
  以下的几种方案各有各的优点和缺点,它们都是基于增强ISN生成器的目标提出的。
  配置和使用密码安全协议
  TCP的初始序列号并没有提供防范连接攻击的相应措施。TCP的头部缺少加密选项用于强加密认证,于是,一种叫做IPSec的密码安全协议的技术提出了。IPSec提供了一种加密技术(End
cryptographic),使系统能验证一个包是否属于一个特定的流。这种加密技术是在网络层实现的。其它的在传输层实现的解决方案(如SSL/TLS和SSH1/SSH2),
只能防止一个无关的包插入一个会话中,但对连接重置(拒绝服务)却无能为力,原因是因为连接处理是发生在更低的层。IPSec能够同时应付着两种攻击(包攻击和连接攻击)。它直接集成在网络层的安全模型里面。
  上面的解决方案并不需要对TCP协议做任何得修改,RFC2385(“基于TCP
MD5签名选项的BGP会话保护)和其他的技术提供了增加TCP头部的密码保护,但是,却带来了收到拒绝服务攻击和互操作性和性能方面的潜在威胁。使用加密安全协议有几个优于其它方案的地方。TCP头部加密防止了Hijacking和包扰乱等攻击行为,而TCP层仍然能够提供返回一个简单增加ISN的机制,使方案提供了最大程度的可靠性。但实现IPSec非常复杂,而且它需要客户机支持,考虑到可用性,许多系统都选择使用RFC
  使用RFC1948
  在RFC1948中,Bellovin提出了通过使用4-tuples的HASH单向加密函数,能够使远程攻击者无从下手(但不能阻止同一网段的攻击者通过监听网络上的数据来判断ISN)。
  Newsham 在他的论文 [ref_newsham]中提到:
  RFC 1948 [ref1]提出了一种不容易攻击(通过猜测)的TCP
ISN的生成方法。此方法通过连接标识符来区分序列号空间。每一个连接标识符由本地地址,本地端口,远程地址,远程端口来组成,并由一个函数计算标识符分的序列号地址空间偏移值(唯一)。此函数不能被攻击者获得,否则,攻击者可以通过计算获得ISN。于是,ISN就在这个偏移值上增加。ISN的值以这种方式产生能够抵受上面提到的对ISN的猜测攻击。
  一旦全局ISN空间由上述方法来生成,所有的对TCP ISN的远程攻击都变得不合实际。但是,需要指出的,即使我们依照RFC
1948来实现ISN的生成器,攻击者仍然可以通过特定的条件来获得ISN(这一点在后面叙述).
  另外,用加密的强哈希算法(MD5)来实现ISN的生成器会导致TCP的建立时间延长。所以,有些生成器(如Linux kernel
)选择用减少了轮数的MD4函数来提供足够好的安全性同时又把性能下降变得最低。削弱哈希函数的一个地方是每几分钟就需要对生成器做一次re-key
的处理,经过了一次re-key的处理后,安全性提高了,但是,RFC793提到的可靠性却变成另一个问题。
  我们已经知道,严格符合RFC1948的ISN生成方法有一个潜在的危机:
  一个攻击者如果以前合法拥有过一个IP地址,他通过对ISN进行大量的采样,可以估计到随后的ISN的变化规律。在以后,尽管这个IP地址已经不属于此攻击者,但他仍然可以通过猜测ISN来进行IP欺骗。
  以下,我们可以看到RFC 1948的弱点:
  ISN = M + F(sip, sport, dip, dport,
  ISN 32位的初始序列号
  M 单调增加的计数器
  F 单向散列哈希函数 (例如 MD4 or MD5)
  sip 源IP地址
  sport 源端口
  dip 目的IP地址
  dport 目的端口
  哈希函数可选部分,使远程攻击者更难猜到ISN.
  ISN自身的值是按照一个常数值稳定增加的,所以F()需要保持相对的稳定性。而根据Bellovin
所提出的,是一个系统特定的值(例如机器的启动时间,密码,初始随机数等),这些值并不 会经常变。
  但是,如果Hash函数在实现上存在漏洞(我们无法保证一个绝对安全的Hash函数,况且,它的实现又与操作系统密切相关),攻击者就可以通过大量的采样,来分析,其中,源IP地址,源端口,目的IP地址,目的端口都是不变的,这减少了攻击者分析的难度。
  Linux TCP的ISN生成器避免了这一点。它每5分钟计算一次值,把泄漏的风险降到了最低。
  有一个办法可以做的更好:
  取M = M + R(t)
  ISN = M + F(sip, sport, dip, dport, )
  R(t) 是一个关于时间的随机函数
  很有必要这样做,因为它使攻击者猜测ISN的难度更大了(弱点在理论上还是存在的)。
其它一些方法
  构造TCP ISN生成器的一些更直接的方法是:简单地选取一些随机数作为ISN。这就是给定一个32位的空间,指定 ISN =
R(t)。(假设R()是完全的非伪随机数生成函数)
  固然,对于完全随机的ISN值,攻击者猜测到的可能性是1/232是,随之带来的一个问题是ISN空间里面的值的互相重复。这违反了许多RFC(RFC
793, RFC 1185, RFC 1323,
RFC1948等)的假设----ISN单调增加。这将对TCP协议的稳定性和可靠性带来不可预计的问题。
  其它一些由Niels Provos(来自OpenBSD 组织)结合完全随机方法和RFC 1948解决方案:
  ISN = ((PRNG(t)) && 16) + R(t)    
  PRNG(t) :一组随机指定的连续的16位数字  0x -- 0xffff0000
  R(t) :16位随机数生成器(它的高位msb设成0)0x -- 0x0000ffff
  上面的公式被用于设计OpenBsd的ISN生成器,相关的源代码可以从下面的网址获得
  Provos的实现方法有效地生成了一组在给定时间内的不会重复的ISN的值,每两个ISN值都至少相差32K,这不但避免了随机方法造成的ISN的值的冲突,而且避免了因为哈希函数计算带来的性能上的下降,但是,它太依赖于系统时钟,一旦系统时钟状态给攻击者知道了,就存在着系统的全局ISN状态泄密的危机。
  TCP ISN生成器的构造方法的安全性评估
  ISN与PRNGs(伪随机数生成器)
  我们很难用一台计算机去生成一些不可预测的数字,因为,计算机被设计成一种以重复和准确的方式去执行一套指令的机器。所以,每个固定的算法都可以在其他机器上生成同样的结果。如果能够推断远程主机的内部状态,攻击者就可以预测它的输出;即使不知道远程主机的PNRG函数,但因为算法最终会使ISN回绕,按一定的规律重复生成以前的ISN,所以,攻击者仍然可以推断ISN。幸运的是,目前条件下,ISN的重复可以延长到几个月甚至几年。但是,仍然有部分PRNG生成器在产生500个元素后就开始回绕。解决伪随机数的方法是引入外部随机源,击键延时,I/O中断,或者其它对攻击者来说不可预知的参数。把这种方法和一个合理的HASH函数结合起来,就可以产生出32位的不可预知的TCP
ISN的值,同时又隐蔽了主机的PNRG的内部状态。不幸的是,很少的TCP
ISN产生器是按这种思路去设计的,但即使是这样设计的产生器,也会有很多的实现上的漏洞使这个产生器产生的ISN具有可猜测性。
  RFC1948的建议提供了一种比较完善的方法,但是,对攻击者来说,ISN仍然存在着可分析性和猜测性。其中,PRNG的实现是个很关键的地方。
大多数的攻击者都知道操作系统存放文件的缺省位置。如果部门的管理者使用Windows98操作系统和Microsoft Word,
Excel或Access,他很可能使用\deskto\My
documents目录。攻击者同样知道\windows\start\menu\programs\startup目录的重要性。攻击者可能不知道谁在使用操作系统或文件和目录的布局情况。通过猜测电子表格,数据库和字处理程序缺省存储文件的情况,攻击者可以轻易地获得信息。
  虽然攻击者无法通过浏览器控制系统,但这是建立控制的第一步。利用Cross-frame browsing
bug获得的信息要比从网络侦查和渗透阶段获得的信息更详细。通过阅读文件的内容,攻击者会从服务器上获得足够的信息,要想阻止这种攻击手段,系统管理员必须从根本上重新配置服务器。
  审计UNIX文件系统
  Root kit充斥在互联网上,很难察觉并清除它们。从本质上来说,root kit是一种木马。大多数的root
kit用各种各样的侦查和记录密码的程序替代了合法的ls,su和ps程序。审计这类程序的最好方法是检查象ls,
su和ps等命令在执行时是否正常。大多数替代root
kit的程序运行异常,或者有不同的的文件大小。在审计UNIX系统时,要特别注意这些奇怪的现象。下表1列出了常见的UNIX文件的存放位置。
用户命令;通常符号连接至/usr/bin
大部分操作系统
大部分系统命令
/usr/local
本地安装的软件包
/usr/include
包含文件(用于软件开发)
/usr/local/src
本地安装的软件包的源代码
管理命令的另一个存放位置
数据(日志文件,假脱机文件)
被共享的文件系统
用户主目录
可选的软件
虚拟的文件系统,用来访问内核变量
  审计Windows NT
  下列出了在Windows NT中通常文件的存放位置
系统文件目录;包含regedit.exe和注册表日志
\winnt\system32
包含许多子目录,包括config(存放security.log,event.log和application.log文件)
\winnt\profiles
存放与所有用户相关的信息,包括管理配置文件
\winnt\system32\config
包含SAM和SAM.LOG文件,NT注册表还包含密码值
缺省情况下,包含IIS4.0的文件,包括\ftproot,\wwwroot
\program files
服务器上运行的大多数程序的安装目录
  L0phtCrack工具
  L0phtCrack被认为是对系统攻击和防御的有效工具。它对于进行目录攻击和暴力攻击十分有效。它对于破解没有使用像!@#¥%^&*()等特殊字符的密码非常迅速。L0phtCrack可以从上获得。
  L0pht使用文字列表对密码进行字典攻击,如果字典攻击失败,它会继续使用暴力攻击。这种组合可以快速获得密码。L0pht可以在各种各样的情况下工作。你可以指定IP地址来攻击Windows
NT系统。然而,这种方式需要首先登录到目标机器。L0pht还可以对SAM数据库文件进行攻击。管理员从\winnt\repair目录拷贝出SAM账号数据库。第三中方式是配置运行L0pht的计算机嗅探到密码。L0pht可以监听网络上传输的包含密码的会话包,然后对其进行字典攻击。这种方式使用L0pht需要在类似Windows
NT这样的操作系统之上,并且你还需要物理地处于传输密码的两个操作系统之间。
  John the
Ripper和Crack是在基于UNIX的操作系统上常见的暴力破解密码的程序。这两个工具被用来设计从UNIX上获取密码。所有版本的UNIX操作系统都将用户账号数据库存放在/etc/passwd或/etc/shadow文件中。这些文件在所有UNIX系统中存放在相同的位置。为了使UNIX正常运行,每个用户都必须有读取该文件的权限。
  John the
Ripper和Crack是最常见的从shadow和passwd文件中获得密码的程序。这些工具将所有的密码组合与passwd或shadow文件中加密的结果进行比较。一旦发现有吻合的结果就说明找到了密码。
  在你审计UNIX操作系统时,请注意类似的问题。虽然许多扫描程序,如NetRecon和ISS Internet
Scanner可以模仿这种工具类型,许多安全专家还是使用像L0pht和John the Ripper来实施审计工作。
  信息重定向
  一旦攻击者控制了系统,他便可以进行程序和端口转向。端口转向成功后,他们可以操控连接并获得有价值的信息。例如,有些攻击者会禁止像FTP的服务,然后把FTP的端口指向另一台计算机。那台计算机会收到所有原来那台主机的连接和文件。
  相似的攻击目标还包括重定向SMTP端口,它也允许攻击者获得重要的信息。例如,攻击者可以获得所有使用SMTP来传送E-mail账号的电子商务服务器的信息。即使这些传输被加密,攻击者还是可以获得这些传输的信息并用字典攻击这些信息。
  通常,攻击者渗透你的操作系统的目的是通过它来渗透到网络上其它的操作系统。例如,NASA服务器是攻击者通常的攻击目标,不仅因为他们想要获取该服务器上的信息,更主要的是许多组织都和该服务器有信任的连接关系,比如Department
of Defense。
  因此,许多情况下,攻击者希望攻击其它的系统。为了防止类似的情况发生,美国政府要求那些直接连到政府部门的公司必须按照Rainbow
Series的标准来实施管理。从1970年开始,该系列标准帮助系统确定谁可以安全的连接。这个系列中最长被使用的是Department
of Defense Trusted Computer System uation Criteria,该文件被成为Orange
Book。例如,C2标准是由Orange
Book衍生出来并被用来实施可以信任的安全等级。这个等级是C2管理服务(C2Config.exe)在Microsoft
NT的服务补丁基础上提供的。
  控制方法
  新的控制方法层出不穷,原因有以下几个。首先是因为系统的升级不可避免的会开启新的安全漏洞,二是少数黑客极有天赋,他们不断开发出新的工具。大多数的UNIX操作系统都有C语言的编译器,攻击者可以建立和修改程序。这一部分讨论一些允许你控制系统的代表性程序。
  系统缺省设置
  缺省设置是指计算机软硬件“Out-of-the-box”的配置,便于厂商技术支持,也可能是因为缺乏时间或忽略了配置。攻击者利用这些缺省设置来完全控制系统。虽然改变系统的缺省设置非常容易,但许多管理员却忽视了这种改变。其实,改变缺省设置可以极大地增强操作系统的安全性。
  合法及非法的服务,守护进程和可装载的模块
  Windows
NT运行服务,UNIX运行守护进程,Novell操作系统运行可装载的模块。这些守护进程可以被用来破坏操作系统的安全架构。例如,Windows
NT的定时服务以完全控制的权限来执行。如果用户开启了定时服务,他就有可能运行其它的服务,(例如,域用户管理器),从而使用户更容易控制系统;
某组织I-Trap曾经收集了来自24个防火墙12小时工作的数据,这些防火墙分别位于美国俄亥俄州24个企业内网和本地ISP所提供的Internet主干网之间。其间,黑客攻击端口的事件有12000次之多,下表是攻击的详细情况。
No. 端口号 服务 攻击事件数 说 明
1 135和445 windows rpc 分别为42次和457次 表明可能感染了最新的windows病毒或蠕虫病毒
2 57 email 56次 黑客利用fx工具对这个端口进行扫描,寻找微软web服务器弱点
代理服务 分别为64、21、21、163次 表示黑客正在进行扫描
4 25 smtp服务 56次 黑客探测smtp服务器并发送垃圾邮件信号
5 10000+ 未注册的服务 376次
攻击这些端口通常会返回流量,原因可能是计算机或防火墙配置不当,或者黑客模拟返回流量进行攻击
6 161 snmp服务 937次 成功获得snmp可能会使黑客完全控制路由器、防火墙或交换机
7 1433 微软sql服务 147次 表明计算机可能已经感染了sql slammer蠕虫病毒
8 53 dns 1797次 表明防火墙或lan配置可能有问题
9 67 引导程序 23次 表明设备可能配置不当
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 王者荣耀选择攻击目标 的文章

 

随机推荐