详情

第68章 夏语冰的突破



林锋关掉电脑屏幕,办公室陷入昏暗。窗外的城市华灯初上,霓虹的光芒透过百叶窗的缝隙,在他脸上投下明暗交错的光影。他拿起桌上的保温杯,里面的浓茶已经彻底凉透,苦涩的味道在口腔里弥漫开。三天后,老码头七号仓库。那会是一个陷阱的终点,还是另一个更大陷阱的开始?他需要人手,但能信任谁?周明远的警告还在耳边回响,陈昊的笑容在脑海里挥之不去。林锋拿起手机,翻到通讯录里秦之的名字,手指悬在拨号键上,最终没有按下。他需要更谨慎的布局,一个即使内部有眼睛,也看不出破绽的局。夜色渐深,城市的灯光在窗外连成一片璀璨的星河,而某些阴影,正在这光芒照不到的角落里悄然蠕动。


同一时间,海市公安局技术科。


夏语冰坐在自己的工位上,周围是成排的服务器机柜,指示灯在昏暗的光线里规律地闪烁,发出微弱的嗡鸣声。空气里有电子设备特有的金属和塑料气味,混合着空调送出的冷风。她面前的四块屏幕同时亮着,代码流像瀑布一样滚动,数据包捕获工具的界面不断刷新着网络流量。


已经是晚上九点四十七分。


技术科的其他同事早就下班了,只有她这一片区域还亮着灯。头顶的日光灯管发出稳定的白色光线,在桌面上投下清晰的影子。夏语冰揉了揉发酸的眼睛,端起旁边的咖啡杯——里面已经空了,杯底残留着深褐色的咖啡渍。


她盯着屏幕中央的一个数据包分析窗口。


三天前,她在那条加密通道关闭前的0.3秒,成功注入了反向标记代码。


那是一个极其微小的机会窗口。她必须精准地计算数据包传输延迟、加密协议握手时间、以及通道关闭前的缓冲期。整个过程就像在刀尖上跳舞,任何一点误差都会导致代码被加密层直接过滤掉,或者更糟——触发对方的警报。


但夏语冰做到了。


她记得当时手指在键盘上飞舞的感觉,指尖敲击键帽发出清脆的哒哒声,屏幕上的代码一行行生成,心跳声在耳膜里咚咚作响。空调的冷风吹过后颈,让她打了个寒颤。当最后一行代码执行完毕,数据包成功发送的确认提示出现在屏幕上时,她整个人瘫在椅子上,后背的衬衫已经被冷汗浸湿了一片。


现在,她在等待。


等待那个微小的探测代码,在某个未知的服务器上被激活,然后沿着网络跳转的路径,传回哪怕一丝线索。


屏幕右下角的时间跳到了九点五十分。


夏语冰深吸一口气,重新坐直身体。她打开另一个监控程序,这是她专门编写的追踪器,会持续扫描特定端口和协议特征,捕捉任何可能来自探测代码的反馈信号。


程序界面一片空白。


只有底部的状态栏显示着“监听中”三个绿色的小字。


她端起空咖啡杯,起身走向技术科角落的茶水间。走廊里很安静,脚步声在瓷砖地面上发出清晰的回响。茶水间的灯是声控的,她走进去时灯光自动亮起,白色的光线照在不锈钢水槽和咖啡机上。空气里有速溶咖啡粉和消毒水的混合气味。


夏语冰把杯子放在水槽里,打开水龙头。


水流哗哗地冲刷着杯壁,冲走那些褐色的渍迹。她盯着水流,脑海里却还在想着那个加密通道。那是什么人用的?为什么要在警局内部网络里建立这种隐蔽的通讯链路?传输的数据是什么?接收方是谁?


太多问题。


她关掉水龙头,从旁边的架子上取下咖啡罐。罐子已经见底了,她倒了倒,只倒出最后一点粉末。够了,反正她也不需要太多咖啡因——她现在的神经已经足够紧绷了。


咖啡机发出低沉的轰鸣声,热水冲过滤纸,深色的液体滴落进玻璃壶里。浓郁的咖啡香气弥漫开来,带着焦苦的味道。夏语冰盯着那滴落的液体,一滴,两滴,三滴……她的思绪又飘回了屏幕上的数据包。


那些异常流量出现的时间很有规律。


每周二和周四的晚上八点到十点之间,持续大约十五到二十分钟。流量伪装成系统维护数据,混杂在正常的网络心跳包和日志上传数据里。如果不是她专门编写了特征识别算法,根本不可能从海量的日常流量中把它们分离出来。


而且,这些流量只出现在警局内网的几个特定网段。


刑侦支队办公室。


技术科核心服务器区。


证物室管理系统。


还有……副局长赵坤办公室所在的那栋行政楼。


夏语冰的手指微微收紧。


咖啡壶满了,机器自动停止加热。她拿起壶,把滚烫的咖啡倒进杯子里。白色的水蒸气升腾起来,模糊了她的眼镜片。她摘下眼镜,用衣角擦了擦,重新戴上。


回到工位时,时间已经跳到了九点五十八分。


她坐下,把咖啡杯放在鼠标垫旁边。杯壁很烫,透过陶瓷传来灼热的温度。她吹了吹,小心地抿了一口。苦涩的液体滑过喉咙,带来一丝短暂的清醒。


然后,她看到了。


屏幕中央,监控程序的界面突然弹出了一个红色的提示框。


“检测到标记代码反馈信号。”


夏语冰的心脏猛地一跳。


她放下咖啡杯,杯底和桌面碰撞发出轻微的磕碰声。手指迅速移到键盘上,敲击回车键。提示框展开,显示出一串加密的数据包。她启动解密程序——这是她根据之前捕获的异常流量特征反向推导出的解密算法,还不完善,但应该能解开一部分。


进度条在屏幕上缓慢前进。


10%...25%...43%...


夏语冰屏住呼吸。


她能听到自己心跳的声音,在安静的办公室里显得格外清晰。空调出风口的风声,服务器机柜的嗡鸣,还有远处走廊里偶尔传来的脚步声——可能是值班的保安在巡逻。但这些声音都变得遥远而模糊,她的全部注意力都集中在那个缓慢爬升的进度条上。


67%...82%...95%...


完成。


解密后的数据展现在屏幕上。


是一串坐标。


还有一组经过多次跳转的IP地址记录。


夏语冰迅速打开地图软件,输入坐标。地图放大,定位点出现在海市东区的一个老旧小区里。那是一片建于二十年前的居民楼,没有物业,监控覆盖率低,人员流动复杂。典型的灰色地带。


她切换到IP追踪界面。


反馈数据显示,探测代码被激活后,首先在那个小区的某个终端设备上运行,然后通过一系列代理服务器和虚拟专用网络跳转,最终暴露了一个部分真实的IP地址段。


夏语冰把IP地址段复制下来,导入她之前编写的交叉比对程序。


程序开始运行。


这个程序会把这个IP地址段,与警局内部所有人员的执勤记录、门禁刷卡数据、通讯基站定位信息进行比对,寻找时间上的重合点。


屏幕上的数据开始滚动。


一条条记录被筛选出来,又被排除掉。大多数IP活跃时间与警员的工作时间没有明显关联,或者地理位置相差太远。夏语冰盯着屏幕,手指无意识地敲击着桌面。


然后,程序停住了。


一条匹配记录被高亮显示出来。


夏语冰凑近屏幕。


IP地址段:192.168.23.xxx


活跃时间段:每周二、周四晚上八点至十点十五分


关联设备:移动终端(手机或平板)


地理位置跳转模式:从东区老旧小区出发,经过三个中间节点,最终定位在海市公安局大楼附近500米范围内


比对结果:该IP活跃时间段,与警员陈昊多次“因私外出”或“临时加班”的记录高度重合。具体包括——


4月15日晚八点三十七分,陈昊刷卡离开刑侦支队办公室,门禁记录显示“私事外出”。同一时间,该IP在东区老旧小区激活。


4月22日晚九点零二分,陈昊的执勤记录写着“协助技术科处理系统故障”。同一时间,该IP经过第二个跳转节点。


5月6日晚八点五十分,陈昊的通讯基站定位显示他在局大楼附近,但执勤记录空白。同一时间,该IP最终定位在局大楼500米范围内。


还有更多。


夏语冰滚动着屏幕,看着一条条比对结果。


她的呼吸变得急促。


陈昊。


那个总是笑容满面、积极热情、和林锋关系“不错”的刑侦支队骨干。


那个秦之的警校同届同学。


那个……嫉妒秦之“好运”的人。


夏语冰靠在椅背上,感觉后背一阵发凉。空调的冷风正好吹在她的后颈上,让她打了个寒颤。她端起咖啡杯,发现自己的手在微微发抖。杯里的咖啡已经凉了,表面浮着一层薄薄的油脂。


她放下杯子,重新看向屏幕。


数据不会撒谎。


这些时间上的重合,一次可能是巧合,两次可能是偶然,但这么多次……


而且,陈昊“巧合”出现的时间和地点,正好对应着那些证据出问题的节点。


4月15日晚——证物室3号柜监控录像“损坏”的那天晚上。


4月22日晚——现场勘查车记录仪内存卡“物理损坏”的那天晚上。


5月6日晚——技术科系统“固件升级”导致监控缺失的那几天。


夏语冰闭上眼睛。


脑海里浮现出陈昊的脸。那张总是带着笑容的脸,说话时眼睛会微微眯起,语气热情而诚恳。他在警局里人缘不错,工作能力也强,破过几个案子,林锋似乎也挺看重他。


可是……


如果这些都是伪装呢?


如果那个笑容背后,藏着的是“清道夫”的眼睛呢?


夏语冰睁开眼睛,重新看向屏幕。


她需要更多证据。


光有IP地址和时间重合还不够,她需要直接的通讯内容,需要确凿的对话记录,需要能钉死陈昊就是“清道夫”一员的铁证。


但那些加密通讯的内容,她还没有解开。


那些数据包使用的是一种她从未见过的加密协议,层层嵌套,还有自毁机制。她尝试过几次破解,都失败了。每次接近核心数据层时,加密算法就会自动变换密钥,或者直接触发数据擦除。


这需要时间。


更需要谨慎。


夏语冰盯着屏幕上陈昊的名字,脑海里快速思考着。


她应该告诉谁?


林锋?


理论上,林锋是刑侦支队长,是调查的负责人,应该向他汇报。但是……林锋可信吗?夏语冰想起之前林锋来技术科调取访问日志时,王科长那推诿的态度。想起周明远那些欲言又止的警告。想起秦之被严密监视的处境。


如果警局内部的渗透已经这么深,谁能保证林锋不是目标之一?或者,谁能保证林锋身边没有“清道夫”的眼睛?


直接报告的风险太大了。


万一陈昊只是个小角色,背后还有更大的保护伞呢?万一她的报告刚递上去,消息就泄露了呢?


那她可能就再也查不下去了。


甚至……可能有危险。


夏语冰感到喉咙发干。她端起凉掉的咖啡,喝了一大口。苦涩的液体滑过喉咙,带来一丝清醒。


另一个选择:通过秦之。


秦之现在被监视,但夏语冰知道,秦之背后有“线人”,有“幽灵”的资源。如果她能想办法把信息传递给秦之,也许秦之能通过他的渠道,更安全地处理这件事。


可是怎么传递?


陈昊就在刑侦支队,随时可能盯着秦之。技术科的王科长态度可疑。局里到处都是摄像头和门禁记录。任何异常的接触都可能被注意到。


夏语冰的手指在键盘上轻轻敲击。


她打开了一个新的文本编辑器。


思考了几分钟,她开始打字。


“关于近期内部网络异常流量的初步分析报告”


她停了一下,删掉了这行字。


太正式了,一看就是技术报告,容易引起注意。


她重新输入:


“系统维护日志异常提示——需技术员复查”


这个好一点。看起来像是系统自动生成的提醒,不会太显眼。她继续往下写,用技术术语描述了她发现的异常流量特征、IP地址段、时间规律,但没有直接提到陈昊的名字。她把关键信息隐藏在看似普通的系统日志分析里,只有懂行的人仔细看才能发现端倪。


然后,她需要找一个传递渠道。


不能通过内部邮件系统——有监控。


不能直接交给秦之——太明显。


夏语冰想了想,打开了一个她很久没用的外部邮箱。那是她大学时注册的,和警局工作完全无关。她登录进去,把那份伪装成系统日志的报告作为附件上传。


接下来是最关键的一步。


她需要让秦之知道这个邮箱的存在,并且让他去查看。


怎么做到?


夏语冰回忆起秦之的习惯。秦之在技术科帮忙处理过几次数据恢复,她注意到秦之有一个习惯——每次离开前,都会把电脑浏览器历史记录清空,但会保留最近访问的几个技术论坛的标签页。


那些论坛……


夏语冰打开浏览器,输入了一个技术论坛的网址。那是国内一个比较小众的网络安全论坛,她记得秦之曾经在上面查找过数据恢复的相关资料。


她注册了一个新账号,用户名是随机生成的一串字母数字。


然后在论坛的“技术交流”板块,发了一个帖子。


标题:“关于海市公安系统网络架构的几点疑问(新人求助)”


内容看起来很普通,就是一个刚入行的技术人员在请教系统维护的问题。但在帖子的最后,她加了一行看似无关的话:


“另外,我之前在维护日志里发现了一些奇怪的东西,截图发到我邮箱了,邮箱是:system_check_2023@xxxx.com,密码是Temp1234,有懂的大神可以帮忙看看吗?看完请删掉邮件,谢谢。”


邮箱地址是她刚创建的那个外部邮箱。


密码是临时设置的,简单易记。


发完帖子,夏语冰退出账号,清除了浏览器的所有缓存和记录。


她靠在椅背上,长长地吐出一口气。


现在,她需要等。


等秦之什么时候会再次访问那个论坛,看到那个帖子。


或者……等一个更好的机会。


屏幕上的时间跳到了晚上十一点零七分。


技术科里更安静了。远处走廊里的脚步声已经消失,只有服务器机柜的指示灯还在规律地闪烁,发出低沉的嗡鸣声。空调的冷风持续吹着,夏语冰感到手臂上起了一层鸡皮疙瘩。她拿起搭在椅背上的外套,披在肩上。


外套有淡淡的洗衣液香味,混合着她自己身上的一点咖啡气味。


她重新看向屏幕,盯着那份比对报告。


陈昊的名字在屏幕上显得格外刺眼。


如果他是“清道夫”……


那么秦之的处境就比她想象的更危险。陈昊是秦之的同事,是刑侦支队的骨干,有充分的理由和机会接近秦之,监视秦之,甚至……在必要时对秦之做些什么。


夏语冰感到一阵寒意  从脊椎爬上来。


她需要做点什么。


不能只是等待。


她打开另一个程序,开始编写一个新的追踪脚本。这次的目标更明确:持续监控陈昊的数字足迹。他的手机信号基站定位、他的社交媒体活动、他的网络浏览记录——只要能合法获取的数据,她都要收集起来。


同时,她还要继续破解那些加密通讯的内容。


那才是真正的铁证。


键盘敲击声在安静的办公室里回荡,清脆而规律。屏幕上的代码一行行生成,函数嵌套,循环结构,条件判断。夏语冰完全沉浸其中,忘记了时间,忘记了疲惫,甚至忘记了刚才的那阵寒意。


她只知道一件事。


她找到了线头。


现在,她要顺着这根线,把整张网都扯出来。


不管那网里藏着什么。

阅读设置
日夜间模式
日间
夜间
字体大小: 18px
12 48

亡语者

封面

亡语者

作者: 莫瀚娜