苏清晏的手指在手机屏幕上滑动,代码一行行滚过。她眯着眼睛看那串跳转后的空白页,嘴里嘀咕:“这破网连个404都不给,直接给你整成禅宗公案——空即是色,色即是空。”
林晚坐在沙发上,盯着她手里的手机,声音有点发紧:“能查到吗?”
“不能。”苏清晏说,“但能查出谁不想让我查。”
她把手机倒扣在桌上,拔掉充电线,从包里翻出另一台备用机。这台是原主留下的,屏幕裂了条缝,开机慢得像老式拖拉机打火。
“你还带了备用机?”林晚问。
“我带了三双袜子、两包压缩饼干,还有防狼喷雾。”苏清晏一边插线一边说,“你以为我是来度假的?”
备用机终于亮了。她打开一个叫“NetLog_Analyzer”的程序,界面灰扑扑的,像是十年前网吧管理员用的系统。
“这软件长得就像会泄露你身份证号。”林晚说。
“它确实会。”苏清晏点头,“所以我只让它连内网,不联网。数据抓完就断,比相亲还短暂。”
她用热点共享的方式绕过路由器白名单,终于捕获到一段短时流量。屏幕上开始刷日志,IP地址、MAC码、访问时间,密密麻麻往上滚。
林晚凑近看:“这些数字……能看出什么?”
“能看出谁半夜不睡觉,专门上网骂人。”苏清晏放大一条记录,“你看这个账号‘迷雾清道夫’,三天发了二十七条关于你的帖子,说什么‘她眼里有邪光’‘她贴的符纸是诅咒’。”
“我还挺忙。”林晚苦笑。
“更忙的是他。”苏清晏切到另一个窗口,“账号‘30楼观察者’,两次提到你出现在死者门前,一次说你手里拎着黑袋子,一次说你哼着童谣。问题是——那天根本没人听见童谣。”
“我不会唱歌。”林晚说。
“我也不会,但我考试还是拿了A。”苏清晏冷笑,“所以这不是瞎编,是统一口径。”
她继续筛选数据,把所有涉及林晚的恶意账号拎出来,共五个。然后对比登录IP。
结果一出来,她手指停在半空。
“全是内网地址。”她说,“192.168.30.x。咱们这栋楼的局域网。”
林晚猛地抬头:“意思是……造谣的人就在公寓里?”
“不止在。”苏清晏敲键盘调出时间轴,“你看这几个账号的活跃时间。每次命案曝光前二十四小时,它们就开始同步推送你的‘黑历史’。时间精准得像闹钟打卡。”
她把五起“自杀案”的时间点标红,再叠上账号发帖记录。
每一桩命案前,都有至少三条引导性谣言上线。
“这不是巧合。”苏清晏说,“这是舆论操控。先放风说你有问题,等真出事,大家第一反应不是怀疑凶手,而是觉得‘果然跟她有关’。”
林晚脸色发白:“他们想让我背锅。”
“已经让你背了。”苏清晏合上手机,“现在问题是——谁在操作?”
她掏出一张手绘草图,是这栋楼的结构简图,每层四户,共六层。
“能长期稳定使用内网的,只有固定住户。”她画圈,“访客连WiFi都连不上,除非有人分享密码。而这五个账号的MAC地址都没变过,说明设备一直在线。”
她列出三类可能人选:
一、物业管理人员,比如管理员张诚,有权限接触网络设备;
二、高层住户,信号强,设备多;
三、夜间活动频繁者,和发帖时间吻合。
“张诚……”林晚突然开口,“他每天早上八点准时巡查,但从不来三楼以上。有一次我问他为什么,他说‘高处风大,容易感冒’。”
苏清晏挑眉:“一个怕风的管理员,却住在六楼顶层?”
“对。”林晚点头,“而且他从来不走电梯,全靠爬楼梯。我见过他一口气上六楼,脸不红气不喘。”
“要么身体好,要么装的。”苏清晏记下这条,“还有谁?”
林晚沉默几秒:“401家儿子,叫周小海,程序员。经常半夜敲键盘,声音特别响。有一次我听见他在打电话,说什么‘防火墙要加双层验证’‘日志定期清除’。”
苏清晏眼睛一亮:“技术岗,作息异常,住低层方便接触公共区域——完美匹配。”
她在嫌疑人名单上标红401。
“等等。”林晚又说,“他还养猫。小白死那天,我去天井喂流浪猫,看见他蹲在狗笼旁边,手里拿着个注射器。”
苏清晏猛地抬头:“你说他拿针管?”
“我没看清里面是什么。”林晚摇头,“但他看见我,立刻收起来了。第二天就开始传我投毒。”
苏清晏一拍桌子:“动机闭环了。狗死了,他爸怪他偷偷养宠物,他就干脆嫁祸给你,转移注意力。”
她重新调出宠物投毒案的时间线:
4月3日,小白暴毙;
4月4日凌晨,账号“迷雾清道夫”首次发布“林晚行为异常”帖文;
4月5日,匿名信开始出现;
4月8日,刮墙声响起。
“网络暴力早于物理恐吓。”苏清晏说,“他们是先在网上把你打成疯子,再用现实手段逼你闭嘴。”
林晚低头看着自己的手:“我一直以为……只是大家讨厌我。”
“不是讨厌。”苏清晏纠正,“是恐惧。你记录矛盾,分析情绪,你在做真相还原。而有些人最怕的就是有人记得太多。”
她打开录音功能,对着手机说:“第六条证据链启动:锁定401住户周小海,核查其设备MAC地址是否与造谣账号匹配。”
话音刚落,系统提示音响起:
【秩序值+10,解锁初级网络溯源工具包。】
苏清晏嘴角一扬:“看来系统也觉得这人有问题。”
她安装新工具,重新抓包。这次程序自动标记出五个账号的设备指纹,包括浏览器版本、屏幕分辨率、系统语言。
“一般人不会改这些。”她解释,“但程序员习惯调试环境,往往会留下独特配置。”
结果显示:五个账号中,有三个使用Chrome 98.0.4758.102,屏幕分辨率为1920x1080,系统语言设为英文。
“普通住户不会把系统语言调成英文。”苏清晏冷笑,“除非他天天写代码,懒得切回中文输入法。”
她翻出住户登记表照片,401登记人是周德海,职业清洁工组长。但备注栏写着“同住人员:周小海,IT公司职员”。
“完美。”苏清晏把信息整理成报告,存入加密文件夹,“现在我们有两条线:一是网络造谣IP来自401,二是发帖时间与命案高度重合。只要再拿到他的设备实证,就能闭环。”
林晚看着她操作,忽然问:“你不怕他发现你在查他?”
“怕。”苏清晏关掉主屏,但后台监听程序仍在运行,“所以我现在不碰他的设备,只盯网络动静。他要是敢登录账号,程序会自动记录。”
她把手机放在枕头下,插上充电宝。
“接下来,我们等鱼上钩。”
林晚没动,还是抱着背包坐在沙发上。但她的眼神变了,不再完全是恐惧,多了一丝警惕和清醒。
“其实……”她低声说,“我还记得一件事。”
苏清晏抬眼:“说。”
“上周三晚上,我躲在消防栓后面,看见张诚和周德海在楼梯间说话。张诚递给他一个U盘,说‘按计划清日志’。”
苏清晏瞬间坐直:“什么时候的事?”
“大概十一点半。”林晚回忆,“他们没开灯,但我认得出张诚的皮鞋,擦得特别亮。”
苏清晏快速翻出网络日志,查找周三晚上的记录。
果然,当晚十一点四十分,路由器进行了一次异常重启,持续三分钟。期间所有设备断连,日志被清空。
“配合默契。”她咬牙,“一个是管理员,掌握网络权限;一个是清洁工组长,负责现场执行。一个递U盘,一个清数据。”
她把两人名字并列标红。
“原来不是单兵作战,是团伙作案。”
她重新画关系图:
张诚掌控网络;
周德海负责地面封锁(涂改规则、散布谣言);
周小海提供技术支持(编写脚本、批量发帖);
其他住户则是被洗脑的传播节点。
“典型的三层架构。”苏清晏说,“顶层控制信息流,中层制造混乱,底层执行压迫。比我司年终汇报还专业。”
林晚忍不住笑了一下,又赶紧捂住嘴。
苏清晏看了她一眼:“笑点在哪?”
“你说‘比我司年终汇报还专业’。”林晚小声说,“我以前公司也是这样,领导画饼,主管甩锅,员工背锅。”
“现在你也背锅。”苏清晏合上笔记本,“但不一样了。以前没人帮你翻案,现在有我。”
她站起身,把窗户缝隙用胶带封死,防止微型窃听器。
“明天开始,我会假装放弃调查。”她说,“让他们放松警惕。”
“你要演?”林晚问。
“我不用演。”苏清晏淡淡道,“我只是暂停进攻,不代表我不盯着。”
她坐回桌前,打开一台旧式录音笔,接上耳机。
楼道安静。
屋里只剩风扇转动的声音。
她按下播放键。
沙沙的电流声后,传来一段模糊对话:
“……日志清了。”
“监控呢?”
“处理好了,没人能查。”
声音很轻,但足够清晰。
苏清晏摘下耳机,眼神冷了下来。
“好啊。”她低声说,“你们自己送证据上门。”