晋江文学城
下一章 上一章  目录  设置

12、第 12 章 ! ! ! ...


  •   花清月回到家的时候已经快十一点了。

      她没开灯,书包扔在玄关,鞋子踢掉,光着脚走进客厅,整个人陷进沙发里。红色的电吉他还靠在沙发扶手上,琴弦在黑暗中反射着窗外路灯的微光。

      她盯着天花板,脑子里全是季寒声。

      不是技术问题,不是加密协议,不是四十七秒心跳节点。

      是季寒声的嘴角。

      那个很小很小的、像霜花一样的笑。

      花清月把脸埋进靠枕里,发出一声闷闷的呻吟。她觉得自己病了,病得不轻。症状是:明明累得要死,但闭上眼睛就是某个人的侧脸;明明应该想案件,但脑子会自动切换到某个人的声音。

      她翻了个身,拿起手机。

      论坛私信对话框里,最后一条消息还是她下午发的“到家了”,季寒声回了一个“嗯”。

      一个“嗯”。

      就一个“嗯”。

      花清月盯着那个字,心里涌上一股说不清的情绪。不是生气,不是失望,是一种“这个人怎么连回消息都这么欠揍”的无奈。

      她打了几个字:“你到家了吗?”

      对面秒回:“在车库。”

      “还不上去?”

      “在回消息。”

      花清月盯着这行字,心跳又快了。在车库,在黑暗里,坐在驾驶座上,拿着手机,给她回消息。

      “你不上楼我就挂了。”

      “你没在打电话。”

      “我说的是私信。”

      “私信没有挂这个功能。”

      花清月觉得自己被噎住了。这个人,连咬文嚼字都咬得这么精准。

      “那你快去睡觉。明天还要上班。”

      “你也是。”

      “你先。”

      “你先。”

      花清月看着这行字,忽然笑了。一个月前,她们的私信对话也是这样——“你先”“你先”。那时候她不知道对面是谁,只觉得这个人很有趣。现在她知道对面是谁了,那个人坐在车库的黑暗里,和她隔着一座城市的距离,说着和一个月前一样的话。

      “晚安,姐姐。”她打字。

      “晚安,小狐狸。”

      花清月把手机扣在胸口,闭上眼睛。窗外的月亮很亮,她的心跳很快,但她不知道这是因为累,还是因为那两个字——小狐狸。

      第二天早上,花清月到实验室的时候,季寒声果然已经在了。

      但今天不一样——季寒声桌上多了一杯拿铁,外带的,杯套上印着“拾光”的logo。

      花清月看了一眼那杯拿铁,又看了一眼季寒声。“你去了拾光?”

      “早上路过。”

      “你住的地方和拾光反方向。”

      季寒声没有回答,端起拿铁喝了一口。花清月看着她的嘴唇碰到杯沿,想起昨天自己的嘴唇也碰过同一个位置,耳朵又开始发热了。

      她拉开椅子坐下,打开笔记本电脑。“今天做什么?”

      “昨天说的,调取你们学院网关的流量镜像。”

      “这么快就批了?”

      “昨晚批的。”

      花清月转过头看她。“你昨晚几点到家的?”

      “十一点半。”

      “然后呢?”

      “写了份申请。”

      “写到几点?”

      “两点。”

      花清月盯着她,心里那股说不清的情绪又涌上来了。这个人,昨天在车库坐到十一点不上去,回家又写申请写到凌晨两点,今天早上七点就到实验室,中间睡了几个小时?

      “季警官。”

      “嗯。”

      “你这样会猝死的。”

      季寒声的手指在键盘上停了一下,然后继续敲。“不会。”

      “你怎么知道?”

      “因为还没遇到值得猝死的事。”

      花清月被她这句话堵得说不出话。什么叫“还没遇到”?意思是如果有“值得猝死的事”,她就会让自己猝死?

      花清月深吸一口气,决定不再纠结这个问题。她打开季寒声发给她的流量镜像文件,开始分析。

      数据量很大。北邮网安学院的出口带宽有10G,一天的流量镜像压缩后还有几百个G。花清月花了一个小时搭建过滤规则,把和目标IP相关的流量单独提取出来。

      季寒声在旁边看着,没有说话。花清月写过滤规则的时候,手指在键盘上飞得像弹吉他,噼里啪啦的,节奏感极强。她写完一段就运行测试,错了就改,对了就继续往下写,完全不犹豫。

      四十分钟后,过滤规则写完了。

      花清月运行了最后一遍测试,看着屏幕上输出的数据,嘴角弯了一下。“成了。”

      季寒声凑过来看。屏幕上显示的是从海量流量中筛选出的、与目标IP相关的所有通信记录。时间跨度两个月,总计三百多条。

      “三百多条。”花清月说,“比我想的少。”

      “因为大部分通信走了别的路径。”季寒声指着屏幕上的一条记录,“你看这个时间戳,凌晨两点十七分。这个节点在深夜最活跃。”

      花清月顺着她的手指看过去,确实,三百多条记录里,凌晨时段占了将近百分之七十。

      “夜间动物。”她说。

      “和你一样。”

      花清月看了季寒声一眼。“你不也是?”

      季寒声没有否认。她继续翻看那些记录,目光在一行行数据上扫过,速度很快,但花清月注意到她在某些记录上会停一下,多看一眼。

      “你在看什么?”花清月问。

      “时序特征。”季寒声说,“你看这几条——凌晨两点十七分、两点十八分、两点二十分。间隔不均匀,不是自动化脚本,是人操作的。”

      花清月凑过去看。确实,如果是由程序自动发送的心跳包,时间间隔应该是均匀的或者有规律的。但这几条记录的时间间隔——一分钟、两分钟、三分钟——没有规律,像是一个人在操作,有时候快,有时候慢。

      “这个人……”花清月咬了咬嘴唇,“他操作的时候会停顿。”

      “和你一样。”

      花清月愣了一下。季寒声说的是“和你一样”,不是“和你一样吗”,是陈述句。

      “你怎么知道我会停顿?”

      “你在每个节点都会停0.5秒,记得吗?”

      花清月当然记得。那是她追踪时的习惯,在每个关键节点停下来想一想,再决定下一步怎么走。

      “你的意思是,这个人在做决策的时候也会停顿?”

      “对。”季寒声指着屏幕上的时间戳,“你看这条,两点十七分零三秒发了一个数据包,下一个数据包是两点二十分十一秒,中间隔了三分钟零八秒。这三分钟里他在干什么?”

      花清月想了想。“在分析。”

      “分析什么?”

      “分析对面有没有在追他。”

      季寒声看着花清月,目光里有东西在微微发亮。“你的思维方式,和他很像。”

      花清月被她看得有些不自在,把头转回屏幕。“所以呢?”

      “所以,如果你来模拟他的行为模式,你能预测他下一次操作的时间和方式。”

      花清月明白季寒声的意思了。不是用数据建模,不是用算法推演,是用人的直觉——用和对方相似的思维方式,预测对方的行为。

      “你是让我当人肉预测器?”

      “你是最合适的人肉预测器。”

      花清月深吸一口气,把目光重新投向屏幕。三百多条记录,时间跨度两个月,凌晨时段的活跃节点集中在十几个IP上。她需要从这十几个IP里找到那个“会停顿的人”。

      她闭上眼睛,脑子里开始构建一个模型——不是数学模型,是行为模型。

      这个人,凌晨两点到四点之间最活跃,操作时会停顿,停顿的时间不固定,取决于他遇到了什么问题。如果他遇到了难题,停顿会更长;如果他只是在例行检查,停顿会很短。

      花清月睁开眼睛,重新看那些时间戳。

      “这条。”她指着一条记录,“两点十七分零三秒发了一个查询包,下一个包是两点二十五分四十一秒,隔了八分钟。这八分钟里,他一定遇到了问题。”

      季寒声调出那个时间段的原始流量数据,开始分析。“他发送的查询包被防火墙拦了,他在想办法绕过。”

      “绕过了吗?”

      “绕过了。你看这个时间戳——两点二十五分四十一秒,他发了一个伪装过的包,通过了防火墙。”

      花清月盯着那行数据,脑子里忽然闪过一个念头。“季警官,这个人的手法,我见过。”

      “在哪?”

      “在我自己的代码里。”

      实验室里安静了。空调的风声,服务器的散热风扇嗡嗡地转,走廊里有人经过,脚步声由远及近,又由远及近。

      季寒声看着她,没有说话。

      花清月继续说:“他绕过防火墙的方式,不是用标准的隧道协议,是用了一个自定义的伪装包。这个思路,和我在论坛上写的一篇帖子一模一样。”

      “哪篇?”

      “四年前,我写过一篇关于‘非标准协议穿透防火墙’的文章,里面有一个示例代码,用的就是这种伪装包。”

      季寒声的手指在键盘上快速敲击,调出了Celestine四年前的那篇帖子。她扫了一眼代码,又看了一眼屏幕上的流量数据。

      一模一样。

      不是思路相似,是代码结构几乎一样。变量命名、函数调用顺序、甚至注释的风格——虽然对方的代码里没有注释,但从逻辑结构上能看出相同的思维轨迹。

      “这个人看过你的帖子。”季寒声说。

      “不止看过。”花清月的声音比平时低了一些,“他学了。而且学得很像。”

      “这意味着什么?”

      花清月咬了咬嘴唇。“意味着他可能知道我。不是知道我的真实身份,是知道Celestine。他在模仿我的代码风格。”

      季寒声靠在椅背上,手指在桌面上轻轻敲了两下。

      “如果他模仿你的代码风格,”她说,“那他大概率也在暗网论坛上活动。甚至可能和你有过交集。”

      花清月翻遍了脑子里所有的记忆。四年来,她在暗网论坛上发过一百多篇帖子,回复过无数人的问题,和很多ID有过技术交流。大部分ID她已经忘了,但有一个她记得。

      ID叫“K”。

      不是因为她记得这个人的技术——虽然他的技术确实不错。是因为这个人给她发过一条私信,内容只有一句话:“你的代码很美,但它不够安全。”

      那时候她十九岁,看到这条私信的第一反应是:这人谁啊,这么嚣张?

      她没回复。

      但“K”这个ID,她记住了。

      “K。”花清月说。

      季寒声的手指停了。“夜莺案的技术负责人,代号K。”

      “对。四年前他给我发过一条私信,说我的代码不够安全。”

      “你回复了吗?”

      “没有。”

      “为什么?”

      “因为我觉得他说的不对。”花清月的语气很平静,“但现在看来,他说得对。我四年前写的那个伪装包,确实不够安全。如果有人想模仿它,很容易。”

      季寒声看着她,沉默了几秒。“你不需要为四年前的代码道歉。”

      “我没有道歉。我只是在陈述事实。”

      “那我也陈述一个事实。”季寒声说,“四年前你写的那个‘不够安全’的代码,今天帮我们找到了一个突破口。”

      花清月看着她,季寒声也看着她。两个人对视了几秒,然后花清月先笑了。

      “你这人,说话真的很奇怪。”

      “哪里奇怪?”

      “你骂人的时候像在夸人,夸人的时候像在骂人。”

      季寒声的嘴角动了一下。“谢谢。”

      “我没有在夸你。”

      “我知道。”

      花清月翻了个白眼,转回头继续看屏幕。但她心里有一个念头在转——季寒声刚才说的那句话,“你不需要为四年前的代码道歉”,语气很轻,但她听出了一种类似于“我站在你这边”的东西。

      没有人对她说过这种话。

      没有人。

      下午,花清月把三百多条记录全部手工标注了一遍。哪个IP在什么时间活跃,活跃时长多少,操作间隔多长,有没有异常停顿。她标注的时候很专注,嘴唇微微抿着,左眼下的泪痣在日光灯下像一小粒碎钻。

      季寒声在旁边处理其他案件的文件,偶尔抬头看她一眼。每次抬头的时间都不超过两秒,但频率比平时高了。

      花清月不知道这件事。

      但她感觉到了——有目光落在她身上,像冬天的阳光,不烫,但暖。

      她没抬头,但她弯了一下嘴角。

      标注完最后一条记录,花清月靠在椅背上,长长地呼出一口气。

      “季警官。”

      “嗯。”

      “我觉得我找到了。”

      季寒声放下手里的文件,走过来。花清月指着屏幕上被红色高亮标记的一个IP。

      “这个IP,凌晨时段的活跃度最高,操作停顿的频次和时长最符合K的行为模式。而且——”她顿了顿,“他在两周前,访问过我在暗网论坛的个人主页。”

      季寒声的目光锐利了起来。“你怎么知道?”

      “我的个人主页有一个隐藏的访问计数器,是我自己写的,不对外公开。任何人访问都会留下记录,包括IP。两周前,这个IP访问了我的主页,停留了四十七秒。”

      “四十七秒。”

      “又是这个数字。”花清月说,“四十七秒心跳,四十七秒停留。这不是巧合。”

      季寒声看着屏幕上那个IP地址,手指在桌面上轻轻敲了两下。

      “这个IP的所有者是谁?”

      “北邮网安学院,研究生宿舍楼的出口IP。”

      花清月说完这句话,自己都觉得后背有点发凉。K,那个她四年前没有回复私信的人,那个模仿她代码风格的人,那个“夜莺”案的技术负责人,可能就在她的学校里。可能在同一个教学楼,可能在同一个食堂,甚至可能——

      “他在你身边。”季寒声说出了花清月没有说出口的话。

      花清月没有说话。

      季寒声站在她旁边,离她很近。她没有伸手,没有触碰,但花清月感觉到了一种东西——不是保护,是“我在”。

      “从今天起,”季寒声的声音很低,低到只有花清月能听见,“你在学校的时候,不要一个人走夜路。离开实验室之前,先给我发消息。”

      “你又要跟踪我?”

      “我说过,跟踪会变成陪同。”

      花清月低下头,看着屏幕上那个被红色高亮标记的IP。她的室友、同学、老师,那个每天和她擦肩而过的人,可能就是K。

      她应该害怕。

      但她没有。

      不是因为勇敢,是因为季寒声站在她旁边。

  • 昵称:
  • 评分: 2分|鲜花一捧 1分|一朵小花 0分|交流灌水 0分|别字捉虫 -1分|一块小砖 -2分|砖头一堆
  • 内容:
  •             注:1.评论时输入br/即可换行分段。
  •                 2.发布负分评论消耗的月石并不会给作者。
  •             查看评论规则>>
作者公告
每次更新两章 欢迎观看 提意见《追月》
……(全显)