他写了一个监控脚本,专门盯那个浦东的宽带Ip。只要这个Ip访问任何跟明远、前海盛达、陈三明、罗文、齐小白相关的网络资源——不管是工商查询平台、招聘网站、还是社交媒体——脚本都会立刻报警。
同时他把林辉的手机号加进了另一个监控系统。这个系统能追踪手机号在公开网络上的所有活动痕迹——注册了哪些网站、发过哪些帖子、关联了哪些账号。不是实时监听,是被动追踪。只在对方留下公开数字痕迹的时候才抓取。
做完这些已经是凌晨四点。陈三明的眼睛干得发疼,后背像被水泥浇了一样僵硬。但他没有去睡。
他还有一件事要做。
他打开了一个新的终端窗口,开始检查前海盛达通道的安全配置。A账户的钱虽然花不完,但如果有人黑进通道把账户锁了或者交易权限改了,那一百亿就成了看得见摸不着的东西。
他逐项检查——证书认证状态:正常。密钥有效期:还有二十八天。接口调用频率:正常范围。异常登录尝试:零。
然后他做了最后一件事:给A账户的交易通道加了一层二次验证。以前登录A账户只需要密码加证书,现在多了一步——他的手机动态验证码。也就是说,任何人想动A账户,不光需要密码和证书,还得拿到他的手机。
三层锁。密码、证书、手机。
陈三明靠在椅子上,盯着屏幕上那一排绿色的状态灯。
他做了他能做的一切。防火墙加固了,痕迹清理了,监控部署了,通道锁死了。剩下的就看罗文在盘面上怎么应对。
他不是操盘手,不会看K线,不懂盘口。但在这个战场——服务器的战场、数据的战场、网络的战场——他不让任何人碰到他们的东西。
这是他的地盘。
陈三明最后看了一眼日历。二月底了。距离林晓蕾的期限还有不到两个月。他妈的手术费还没着落。b账户的钱在涨,但还没涨到能让他安心的程度。
他需要更快。
他关掉显示器,站起来,走到窗边。
天快亮了。上海的天空泛着灰蓝色的光,像一条脏毛巾。远处的陆家嘴还没醒过来,那些写字楼黑着灯,只有最顶上的航空警示灯在闪。
他忽然想起果果上次问他的那句话——爸爸你为什么不回家了。
他不是不想回家。是没脸回去。一个三十二岁的离婚男人,连儿子都见不上,连他妈的手术费都掏不出来,坐在六楼的出租屋里给别人看大门。
但他看的不是普通的大门。这扇门后面有一百亿。
一百亿出不来,但从这扇门里漏出来的利润,已经够还了债、看了病。再过两个月,够付抚养费、够做手术、够在林晓蕾面前站直了说一句我没垮。
到那时候他就可以去看果果了。不是以一个破产失业的前夫的身份,是以一个能按时付抚养费、能给儿子买玩具、能让林晓蕾不再用那种失望的眼神看他的父亲的身份。
陈三明关上窗户,拉上窗帘,躺到那张窄床上。
三秒后鼾声如雷。
——
陈三明用了三天时间才找到林辉的家。
不是因为技术不够,是因为林辉很小心。这个人的反侦察能力远超陈三明的预期——工作地址是陆家嘴国金中心三十二楼,但那栋楼里有两百多家公司,物业不会告诉你谁在几楼。手机号查不到住址——电信的用户数据库有三层防火墙,陈三明够不着。支付宝账号关联的实名信息更不可能拿到——那需要公安的权限。
正常人到这一步就放弃了。
陈三明不是正常人。他搞了十几年系统安全,最深的一个体会就是:技术上攻不破的系统,往往从人的环节能攻破。再严密的技术防护都防不住一个字——懒。
所有人都懒。包括林辉。
第一步是从林辉的论坛账号入手。
之前陈三明查到林辉用临时邮箱注册了论坛账号。临时邮箱过期了,但论坛的注册系统会记录注册时的Ip地址。陈三明之前已经拿到了这个Ip——浦东的电信宽带。
但宽带Ip只能定位到小区级别,定位不到具体的楼和门牌号。电信的宽带分配是动态的,同一个小区的几百户用户共享一个Ip段,每次拨号分配到的Ip可能不同。
这是死胡同。
陈三明换了一条路。
他回到林辉的招聘网站简历。简历上有工作经历——现任辉辰资产管理公司投资总监。公司注册在浦东。他把这个信息跟工商系统交叉比对,找到了辉辰资产的注册地址:浦东张杨路某写字楼。
但注册地址不等于实际办公地址。很多小公司注册在一个地方,实际在另一个地方办公。林辉在国金中心三十二楼有办公室——那个地址是之前查到的,但不一定天天去。
陈三明需要一个更精准的定位。
他想到了一个办法——wiFi。
每个人的手机都会自动连接已保存的wiFi热点。如果林辉在家里用手机上网,他的手机会连接家里的wiFi路由器。路由器的mAc地址是唯一的,而且会广播SSId——也就是wiFi的名字。任何经过这个路由器信号覆盖范围的设备都能收到这个广播。
但陈三明不可能跑到浦东去扫wiFi。他需要另一种方式。
他想起了一个工具——wiGLE。这是一个公开的wiFi地理位置数据库,全球志愿者通过手机App扫描周围的wiFi热点并上传数据,包括热点的mAc地址、SSId和大致地理位置。类似于wiFi版本的谷歌地图街景。
陈三明在wiGLE上搜索了林辉所在小区周围的wiFi热点数据。浦东那个小区在数据库里有记录——有人上传过那一带的wiFi扫描数据。
数据里有将近三百个热点。陈三明写了个脚本,把所有SSId中包含个人化特征的筛选出来——比如名字里带的、带房间号的、带小区简称的。
筛出来七个。