## 第三十四章:第一次正式合作,两人并排坐在电脑前
周一的工单量比平时大。服务器日志标了三处需要人工复核的标记,闻人屿处理完最后一条的时候已经过了中午。他下楼买了饭团和豆浆,站在花坛边上吃完。风比上周小了些,但温度还是低,吹在脸上是一种干冽的凉。他嚼完最后一口饭团,把包装纸扔进垃圾桶,走回大堂时在台阶上停了一步,侧头往街对面看了一眼。那个角落空着,只有一株落尽了叶子的树安静地立在那里,枝杈在灰白色的天空下画出一组细密的线条。
他回到工位继续处理下午的任务。三点左右,内通系统弹出一条消息:"下来。第三组机柜。"发送者南宫珩,没有前因后果。
闻人屿关掉工单界面站起来。他没带帆布包,只拿了手机。穿过走廊推开核心机房门的时候,他注意到第三组机柜操作台上那盏台灯已经亮了,冷白色的光聚在一个不大的范围内,把周围设备的暗色金属边框衬得更加沉。南宫珩坐在操作台前面,面前摊着一台打开的笔记本,旁边还接了一个外置显示屏,屏幕分成四个窗口,每种窗口里滚动着不同类型的数据流。
"坐。"南宫珩侧头看他进来的方向,下巴朝操作台边另一把椅子点了点。
闻人屿走过去坐下。椅子的靠背和操作台之间的距离刚好够一个人坐在那里伸直手臂碰到键盘——被调过的,和上次他来的时候位置不太一样。
"你今天上午调过那条端口映射表的完整路径。"南宫珩说。
"调过。终端标识码确认了,授权签名路径起点和上次那份固件文件里的坐标编码一致。"
"我这边下午把那条授权签名路径的后续流向又追了一层。"南宫珩把手放在触控板上,在右侧窗口滑动几下,调出一份展开的路径图,"授权签名到达固件存储区分支节点之前还经过了一个中间节点,位置在核心机房的备用电源管理模块区。"
"备用电源管理模块区?"闻人屿侧过头看屏幕。那个节点的标识符旁边标注了一串简短的代码,是硬件层面的管理接口编号。他想了想说:"那个区域通常不在系统日志的自动采集范围里。它的流量记录是手动归档的。"
"所以它被用作了中转站。"南宫珩说,"操作者在发起那条端口映射表修改的时候,先在自己终端上生成了一个授权签名,把签名发到备用电源管理模块区的中间节点,再通过中间节点转发到固件存储区的分支节点。中间节点的存在让整条操作路径在系统日志里断成了两截。"
"如果有人追查,只能查到授权签名在分支节点落地的那一截,追不到真实来源。"
"对。"南宫珩把外接显示屏上另外三个窗口的亮度和对比度各调了一下,让数据流更清晰可辨,"你提到的那段授权签名路径起点的坐标编码,和我在备用电源管理模块区归档日志里找到的一组转发记录,时间戳完全匹配。坐标系是重合的。"
南宫珩说着,用食指在两人之间的桌面上虚画了一条折线:从想象中操作者的位置出发,拐向备用电源模块区,再折向固件存储区。那根手指划过空气时没有留下痕迹,但闻人屿的视线跟着它走了完整的一趟。
他随后把目光移回南宫珩手指在触控板上停留的位置。那人的无名指在触控板边缘微微弯曲着,隔着半寸左右悬在面板上方,像一个已经设定好启动位置的活塞。
"你这边已经确认了中间节点和末端节点之间的转发记录。"闻人屿说。
"确认了。但中间节点和操作者真实终端之间的那截传输路径还没有被记录在系统的任何活跃日志里。它被手动归档的方式覆盖掉了,归档者把那段记录单独存在了另一个位置。"
"备用电源管理模块区本身是有本地存储的。"
"对。那段传输路径的缓存记录没有被清除,保留在本地存储的一张临时表里。表的存活周期是十四天,从上周三开始。今天还剩九天。"
闻人屿在脑中快速评估了一下。九天的窗口期意味着他们需要在接下来的九天里拿到备用电源管理模块区本地存储中的临时表内容,否则那张表就会被系统自动清空。而获取那张表的内容需要直接在管理模块区的硬件层面做一次本地读取,任何通过网络发起的远程请求都会被系统日志捕获。
"我们现在需要做一次本地读取。"
"对。这台操作台直连备用电源管理模块区的管理端口,不需要通过网络。"南宫珩侧过身,在操作台侧面拉出一根线缆接口,"需要你把平板接过来,用本地直连的方式读取本地存储里的临时表。操作记录不会出现在网络层的系统日志里,只会留在管理模块区本地的操作缓存中。那条缓存会在六小时之后被自动覆盖。"
闻人屿从帆布包里取出平板,接过线缆接上端口。设备连接成功后他打开终端窗口,通过本地直连通道访问管理模块区的本地存储目录。目录结构比预想中简单,他在倒数第三层找到了那张临时表,文件不大,里面保存着大约二十几行传输日志记录。他把日志批量导出到平板本地存储,然后断开了连接。
"拿到了。"他说。
"你验证一下里面是否包含完整路径。"
闻人屿把平板旋转了一个角度,让屏幕同时面对两个人的方向。他打开日志文件,从上到下快速扫了一遍。传输日志里记录的操作时间戳、发送端硬件标识符,和授权签名中的时间戳与终端标识码在时间轴上精确对齐。那一条被手动归档清除的传输路径,现在以本地缓存的形态完整地出现在平板的屏幕上。
"完整路径。"闻人屿说,"发送端硬件标识符和时间戳和授权签名中的两个字段在时间轴上对齐。"
他说完这五个字的时候,旁边南宫珩的键盘声正好也停了。整个操作台安静了大约一秒钟,只有冷白色台灯均匀地发出一层极轻的电流声。那一秒钟里两个人谁都没动,视线落在同一块平板的同一行字段上,像同时确认了这一步的完成。
然后南宫珩侧过头,视线从平板屏幕上的字段依次移过去,在时间戳那一列停了一下,又收回来。"你把它归档之后,三条条件里的第二条就可以启动了。"
"今天下午可以开始。固件版本校验位更新记录的数据体量比端口映射表大,如果按正常工单时间来走,需要两到三个工作日才能完成全部核对。"
"那就用两到三个工作日。"南宫珩说,"你不需要在一条工单里把它做完。拆成两条独立的复核任务,中间隔一天,和正常的技术审计节奏对齐。"
闻人屿想了一下。如果他把固件版本校验位的全部更新记录一次性调取完毕,系统会自动生成一条连续的日志片段,时间跨度在三天的数据访问行为会被压缩成一个连续块,反而比分散在多天内的访问更容易被识别为异常模式。拆成两条独立任务之后,每次访问的数据量落到单条工单的标准范围内,访问间隔也符合正常的任务处理节奏。
"可以。"他说,"今天下午先做第一条,把前半段记录过完。"
"好。你跑的时候我在这边同步追踪一次备用电源模块区的流量镜像,看看在操作者和中间节点之间的那段传输路径被读取之后,系统层有没有产生任何异常的响应信号。"
两个人并排坐在操作台前,外接屏幕上的四个窗口还在持续滚动着数据流。闻人屿把平板放在操作台空处,从帆布包里取出笔记本接上电源打开。南宫珩在笔记本上打开一个新的终端窗口,输入了几行指令,然后把屏幕轻轻侧偏了一个角度,让闻人屿也能看到窗口里的内容。
"你那边的前半段记录大概需要多久。"南宫珩问。
"四十分钟到一个小时。"
"那我这边同步追踪流量镜像的时间也差不多。"
闻人屿在键盘上敲了第一行命令,启动了固件版本校验位更新记录的前半段拉取。终端窗口里字符开始快速滚动,光标跳动的频率稳定而均匀。他侧头看了一眼南宫珩那边的屏幕,那人也正在输入指令,手指在键盘上的移动速度比他平时在走廊里偶遇时观察到的节奏快了一些,但依然保持着那种精确的、没有多余动作的干净力度。
操作台的小灯在两个人之间的桌面上投下一圈冷白色的光,分别照亮了两人前臂的一部分。闻人屿看到南宫珩敲键盘的时候左手小指偶尔会在回车键边缘擦过,力道很轻,像是一种长期使用该机型键盘之后形成的自然补偿。他注意到这个细节,在心里快速打了一个标记——不只是为了技术上的观察。他发现自己开始能分辨出南宫珩操作习惯里那些细微的个人签名了,就像他曾经能通过病人谈话间的停顿频率来判断对方的状态一样。但他没把这个记下来,只是在注意力中让它短暂停留了一下,然后收回到自己的工作界面上。
外接屏幕上的四个窗口还在滚动。闻人屿偶尔侧头,看到南宫珩屏幕上的字符滚动速度,和自己这边几乎保持着一种非约定的同步。两条数据流,两个终端,在同一个操作台的灯光下朝着同一个方向平稳地流着。期间没有说话的必要,因为各自手里的任务在不同层面上并行推进,而"合作"这件事本身就在那层并行的节奏中被实现了。
过了大概二十分钟,闻人屿在等待一个子程序跑完的间隙里,又一次侧头去看南宫珩的屏幕。他注意到对方的流量镜像追踪已经跑完了正常扫描周期的边界,光标停在一个位置上没有继续向前推进,但窗口也没有关闭。他在那里停留的时长比正常周期多了大约两个心跳间隔。
闻人屿没有出声打断。他转回自己的屏幕继续盯着终端滚动,等到四十分钟之后,他把前半段记录全部拉取完毕,进行了本地归档。终端窗口里的字符流停止了滚动,光标停在最后一行命令的末尾稳定地闪烁。他把屏幕转过去让南宫珩确认了一眼完成状态。
"完整覆盖了前半段。后半段会在后天执行。"
南宫珩从自己屏幕上抬起头,看了一眼闻人屿这边的终端界面。"你拉取的过程中,系统有没有产生任何时间戳错位的告警。"
"没有。工单流程正常跑完了,系统自动生成了标准复核标记。"
"那就行。"南宫珩把视线收回到自己的屏幕上,在键盘上敲了几行指令关掉流量镜像的追踪窗口,"备用电源模块区的流量镜像我在刚才的同步追踪过程中没有看到任何异常响应信号。那张临时表被读取的动作只留在了管理模块区本地的操作缓存里,没有向外转发。"
"那六小时后本地的操作缓存被覆盖之后,整条读取记录就会彻底消失。"
"对。"
闻人屿把平板的本地存储做了备份,然后把平板从电源上拔下来放回帆布包里。他合上笔记本的时候,南宫珩也把外接显示屏的亮度调低了一档,四个窗口依次暗下去,只剩操作台上那盏小灯还亮着。
"你今天下午的工单处理完了吗。"南宫珩问。
"还有一条需要提交,但不急。"
"那你可以先把这个完成标记提交了再走。"南宫珩把笔记本也合上了,但他坐在椅子里没有站起来,只是在桌面上腾出了一片空位,"你存档之后把平板先放在这边也行,明天继续用的时候不用再重新接一次线。"
闻人屿看了一眼自己刚放进帆布包里的平板。他重新取出来,放在操作台靠里的位置,和南宫珩的笔记本之间隔了大约一掌宽的空档。南宫珩的视线在那道空档上落了一下,又移开了。
"行。"
闻人屿站起来,把椅子推回操作台下方。走到门口的时候他侧过身,看到南宫珩还坐在操作台前没有动,一只手搭在合上的笔记本机盖边缘,指尖在边角处轻轻蹭了一下又收回去。台灯光从侧面照过来,在他颧骨和颈侧之间形成一道柔和的亮区,把他垂着的视线方向也照亮了一小片。
"下次同步追踪的时候,"闻人屿站在门口说,"如果流量镜像里产生了任何微弱的响应信号,你要第一时间切断连接再反向追踪。不要在里面停留太长时间。"
南宫珩抬起头看了他一眼。"你刚才在旁边看我操作的时候,已经注意到我追踪的停留时长偏长。"
"注意到了。你停在流量镜像里的时间比正常扫描周期多了大概两个心跳间隔。"闻人屿说,"有人在备用电源模块区里留了监控脚本的话,那两个心跳间隔足够完成一次微弱的特征捕获。"
南宫珩靠在椅背上看着他。台灯光在两个人之间的地面上铺成一片冷白色的区域,边缘处和暗影的过渡带之间没有锐利的边界。他看了闻人屿大约两秒,然后偏了一下头。
"你在操作台旁边坐了四十分钟,你不仅完成了前半段记录的拉取和归档,还在同步追踪我那边的操作节奏。"
"同步追踪是合作的一部分。我们坐在一起处理同一组数据的时候,两条线之间需要有对应的速度。"
"对应的速度。"南宫珩把这四个字重复了一遍,尾音放得比平时更平,"你下次可以直接告诉我。不需要等操作结束之后再在门口说。"
闻人屿站在门口没有动。走廊里的冷光和操作台上的暖光在他侧面形成一道分界,把他的轮廓切成明暗两个不同的平面。"我现在告诉你了。"
"收到了。"南宫珩说。
闻人屿转身推开门走出去。走廊里的灯已经切换到了下午的常亮模式,顶灯的白色照在地砖上,脚步声在墙面之间形成轻微的反射。他走回十六楼工位,把最后一条工单提交完成,然后在系统里生成了那条复核标记的标准日志。做完这些之后他靠在椅背上,目光落在那台新显示器的屏幕边缘上。台灯的触感还在指尖上残留着,那种冷白光的温度是没法用手摸到的,但他还是觉得指尖凉了一点点。
他端起桌上的水杯喝了一口。水已经凉了,经过喉咙的时候瘢痕的位置微微缩了一下,然后恢复了。
下班之后他走出写字楼,在台阶上停了一步,侧头往街对面看了一眼。那个角落今天依然空着,只有路灯在渐暗的天色中显得比白天更亮了一些,把行道树的枝杈影子投在人行道上形成一片细碎的网络。他在台阶上站了几秒,收回视线走下去,在地铁站入口停了一下,然后走了下去。
回到出租屋之后他换了衣服洗了手,坐在桌前把平板里存储的那份传输日志重新打开看了一遍。每一条记录都在时间轴上和授权签名路径对齐,整条链从操作者终端到中间节点、从中间节点到末端分支节点的完整流向已经可以被画成一条清晰的路径图了。他在这条路径的起终点之间画了一条手写的连线,旁边标了一个箭头,注明"备用电源管理模块区中转"。
然后他打开加密笔记,在第二条条件的条目下面写了两行:"前半段已拉取,数据完整。后半段定于后天执行。"写完之后他合上笔记本,去厨房煮晚饭。
站在灶台前等水烧开的时候他看着窗玻璃,自己的倒影被蒸汽模糊成一片朦胧的轮廓,水汽沿着玻璃表面汇聚成细小的水流往下滑。他把面条放进锅里用筷子搅散,然后站在窗边看着那片被水汽覆盖的玻璃,手指搭在灶台边缘,微微曲着。玻璃上的倒影越来越模糊,最后只剩一团深浅不一的色块在蒸汽后面浮动。
第一次正式合作在那四十分钟里完成了。两个人并排坐在同一张操作台前,各自处理自己窗口里的数据流,偶尔侧头确认对方的进度。那四十分钟没有说话的必要,因为任务本身已经够密了。他在那段时间里同步追踪了南宫珩的操作停留时长,南宫珩在他离开之前也确认了"下次直接告诉我"——两个人用一种非对称的方式在同一段时间里完成了同一件事。像两条从不同方向进入同一个河口的支流,在汇入主航道之前已经在水平面以下的部分形成了同一股流向。
他关火把面条盛进碗里,端到桌前坐着吃完。窗外的天光已经完全暗了,路灯的黄线从窗帘缝隙渗进来,在地板上画出那道和往常一样的位置。他看着那道黄线和地板之间的边界,把今天下午操作台周围的画面在脑中重新放了一遍。屏幕的光,键盘的声响,操作台上的冷色小灯,两个人肩膀之间隔着的那段距离,还有那一秒钟的安静——他和南宫珩在同一块平板上确认了同一行数据,谁都没有说话,但那一刻桌面上的空气分量和之前不一样了。
他吃完面把碗洗了,擦干手,关了灯躺下来。天花板被路灯的黄线照亮了一小片区域,边缘处和阴影之间的过渡带柔和而模糊。他看着那片亮区,合上了眼。水汽的触感还停留在指尖上,那种从玻璃表面渗过来的凉意和操作台台灯的冷光在记忆里叠在一起,分不太清。他调整了一下呼吸,瘢痕处没有收紧,喉咙里的空间是通畅的。他让呼吸沉下去,身体慢慢陷进床垫里。外面偶尔有一辆车经过,轮胎碾过路面的声音被窗帘和墙壁层层过滤之后只剩一层低而远的嗡鸣,很快又消散了。天花板上的那片亮区逐渐在视线里变得模糊,边缘开始融化进周围的暗色里。他翻了个身,把被子拉到肩头,呼吸节奏慢下来,然后在路灯黄线的余光和窗外远处偶尔闪过的车灯光束交错的间隙里,慢慢地沉进了睡眠的边缘。