林凡坐在“阳光工位”上,指尖无意识地摩挲着鼠标垫边缘——那是李田昨天刚送的,印着“绝不加班”几个大字。他电脑上画着汉西省厅局结构图,用红色圈出的“通管局”三个字,被反复画了好几个圈。
“选通管局,确实是最优解。”林凡对着空气嘀咕,顺便在心里翻了个白眼,“系统倒是省事,扔个‘跨部门协调’的任务就不管了,具体怎么搞还得我来想。”
林凡点开cV商城界面,【当前可用cV:5点】的数字刺眼得很。上次兑换完博士级通信知识,就只剩这点“零花钱”,想再换点高阶工具门都没有。“还好之前攒了点技术底子,不然真得抓瞎。”他自嘲地笑了笑,目光重新落回通管局上。
通管局是工信部直属单位,不像公安厅、财政厅那样和省里各部门盘根错节,利益纠葛少;而且戴明硕那番话——“通管局最近一直在查黑宽带,就是基层摊子太大”——还在耳边响着。黑宽带是通管局的心病,要是能帮他们解决这个难题,换数据共享的支持,简直是“等价交换”,比空口白牙谈合作靠谱多了。
林凡拿起小灵通,翻到戴明硕的号码,手指悬在拨号键上顿了两秒。
直接说“我能帮你解决黑宽带”太突兀,得找个由头。
“小林?怎么想起给我打电话了?”戴明硕的语气很随和,没了论证会上的严肃。
“戴处,主要是想谢谢您上次推荐的宽带客户经理,我上周装了电信的2m宽带,网速确实稳。”林凡先抛出感谢,铺垫情绪。
“另外,还有个事想请教您——我最近帮家里亲戚看宽带,发现市面上有不少‘低价宽带’,说是‘小区共享’,比正规的便宜一半还多,这靠谱吗?”
电话那头沉默了一秒,随即传来戴明硕无奈的叹气:“你说的那就是‘黑宽带’!没资质、私拉线路,用的都是劣质设备,今天能上网,明天可能就断了,售后更是没影。我们最近天天接到投诉,光这个月就有两百多起,但抓起来太难了。”
林凡要的就是这句话,赶紧接话:“那像这种黑宽带报警或者也找了通管局,最后还是不了了之?”
“可不是嘛!”戴明硕的声音拔高了些。
“黑宽带的套路太多了——租个民房当‘临时机房’,用动态Ip伪装,今天在这个小区拉根线,明天换个地方继续搞。我们去查的时候,往往人去楼空,连设备都搬得干干净净。基层人手本来就少,哪有精力天天跟他们耗?”
林凡等的就是戴明硕吐苦水,趁机抛出诱饵:“戴处,我最近研究舆情系统的时候,琢磨出个技术思路,说不定能帮上忙——能不能用爬虫技术抓这些黑宽带的Ip轨迹?再结合用户投诉的时间、地点,说不定能定位到他们的接入点。”
电话那头突然没了声音,只有电流的细微杂音。
过了好一会儿,戴明硕才开口,语气带着试探:“你说的是真的?爬虫抓Ip?可黑宽带用的是动态Ip,每小时都在变,怎么抓?而且用户投诉的地点往往很模糊,比如‘xx小区3号楼’,怎么精准定位?”
“动态Ip也有规律。”林凡压低声音,尽量让语气显得专业又可信。
“黑宽带为了省成本,不会用太好的代理服务器,Ip段往往集中在几个固定的网段里。我可以写个脚本,抓取全省宽带接入日志里的异常Ip——比如同一Ip段在短时间内频繁切换接入地点,或者接入带宽远超家庭用户需求的,这些大概率是黑宽带。”
他顿了顿,补充道:“至于用户投诉定位,我们可以把投诉里的‘xx小区’和物业登记的房屋信息、电信的线路覆盖图做关联,再结合Ip接入时的信号强度,大概能缩小到一栋楼甚至一个单元。简单说,就是给黑宽带装个‘电子狗’,不管它怎么换地方,都能追到痕迹。”
电话那头又是一阵沉默,这次比上次更久。林凡能听到隐约的交谈声——大概是戴明硕在跟旁边的同事说什么。
“小林,你现在有空吗?要是方便,来通管局一趟,我们市场处正好在开会,讨论黑宽带的事,你过来给我们讲讲你的思路。”
林凡心里一喜,表面却装作淡定:“有空!我这就过去,大概半小时到。”
挂了电话,林凡跟王建军打了个招呼:“王处,通管局戴处找我聊点技术上的事,我去一趟,下午赶回来写报告。”
王建军正对着一份舆情日报点头,闻言挥挥手:“去吧去吧,跟戴处好好聊,争取多学点经验。”
通管局办公楼在省委西侧,是栋新建的八层小楼,门口挂着“汉西省通信管理局”的牌子。林凡刚进门,就看到戴明硕在大厅等他,手里还攥着个文件夹。
“来得挺快,跟我来。”戴明硕领着林凡往三楼走,楼梯间的墙上贴着“整治黑宽带专项行动”的标语,下面还附了投诉电话。
“我们几个处最近天天加班,就是为了黑宽带的事,刚才还在说‘要是有个精准定位的法子就好了’,你这电话来得正好。”
三楼市场处的办公室里,烟雾缭绕,四张办公桌拼在一起,上面摊着厚厚的报表和地图,五个工作人员正围着办公桌激烈讨论着什么。
“给大家介绍下,这是宣传部的林凡同志,他有个解决黑宽带的技术思路,跟咱们聊聊。”戴明硕把林凡推到中间,自己则拉了把椅子坐在旁边。
一个戴黑框眼镜、看起来三十多岁的技术员先开口,语气带着几分质疑:“这位......林同志,你说用爬虫抓Ip?我们之前也试过,但黑宽带会用VpN,Ip段根本抓不准,而且日志数据太大,爬虫跑起来太卡,半天出不了结果。”
“这确实是个问题。”林凡没回避,直接接过话头,走到白板前拿起马克笔,“但我们可以换个思路——不抓VpN的外层Ip,抓它的‘真实指纹’。”
他在白板上画了个简单的流程图:“黑宽带用的路由器都是廉价货,固件有漏洞,接入时会留下独特的设备标识——比如路由器的mAc地址、dNS请求记录。就算Ip换了,这些‘指纹’换不了。我们可以用正则表达式匹配日志里的这些标识,再关联同一标识下的Ip切换记录,就能锁定同一伙黑宽带的所有接入点。”
“可日志里的mAc地址都是加密的,怎么解密?”
“不用全解密。”林凡笑了笑。
“我们只要提取前六位厂商代码就行——黑宽带用的路由器大多是同一个小厂生产的,前六位代码高度集中。我们只要重点盯这个代码段,就能过滤掉90%以上的正规设备。”
办公室里静了下来,只有空调的嗡嗡声。一个工作人员盯着屏幕上的日志数据,手指飞快地敲击键盘,过了几分钟,他猛地抬起头,眼睛亮了:“还真有!你看,这半个月里,‘00-1A-2b’开头的mAc地址,在城东三个小区切换过接入点,投诉记录也集中在这三个小区!”
其他技术员也凑了过去,七嘴八舌地讨论起来。
“这个方法可行啊!比我们之前盲目排查效率高多了!”
“要是能把设备标识和用户投诉关联起来,就能直接定位到黑宽带的窝点了!”
林凡趁热打铁,打开笔记本电脑,调出一个简单的演示模型:“我还写了个初步的可视化界面,把抓取到的黑宽带接入点标在地图上,红色是高频接入区,黄色是可疑区域,点击就能看到详细的投诉记录和设备信息。
比如这个‘惠民宽带’的摊子,”他指着地图上菜市场附近的一个红点,“上次在菜市场断网的那个,它的设备标识在三个月内,已经换了五个小区的接入点,投诉记录有十七条。”
“惠民宽带!”一个年轻技术员突然喊出声,“我们上个月查过这个摊子,老板跑了,没想到换了个地方继续搞!”
“现在能定位到他现在的位置吗?”戴明硕凑过来,指着屏幕问。
林凡点击红点,弹出一个对话框:“根据最新的日志数据,他现在在城西的幸福小区,接入点应该在3号楼的地下室——那里信号弱,而且隐蔽,适合放设备。”
戴明硕立刻掏出手机,拨通了辖区通信执法队的电话:“喂,李队吗?幸福小区3号楼地下室,有个‘惠民宽带’的黑窝点,你们现在派人过去,注意别打草惊蛇……对,设备标识是‘00-1A-2b’开头的,看是不是在那儿。”
过了一会儿,戴明硕收到了执法队的确认电话。
戴明硕拍了拍林凡的肩膀,语气里满是赞许:“小林,你这方法太管用了!要是能推广开来,咱们省的黑宽带问题至少能解决一半!”
“这只是初步模型,还有很多要完善的地方。”林凡谦虚地说,“比如需要通管局提供全省的宽带接入日志和设备标识库,还要和工商、公安的数据对接,才能精准排查无资质的运营商。”
这话看似谦虚,实则是抛出了“合作条件”。戴明硕何等精明,立刻听出了弦外之音,他沉吟了几秒,对面前几个工作人员说:“小张,你们先把这个模型完善一下,下午跟我去趟局长办公室,把方案报上去。”
然后他拉着林凡走到走廊,压低声音:“小林,你的意思我懂。要是这个方案能被工信部批准我们进行试点尝试,在全省推广,我们也有理由把运营商侧数据跟你们舆情平台对接——当然,还是要确保数据不出域,可用不可见。”
林凡心里一块石头落了地。
“戴处,这是双赢的事,我们平台也需要通管局的网络数据支持,才能更好地监测舆情。”
“没错,双赢!”戴明硕笑着拍了拍林凡的胳膊。
下午三点多,林凡刚回到宣传部,手机就响了——是戴明硕发来的短信:“幸福小区窝点已端,查获路由器12台,涉案金额5万余元。局长同意试点方案,下周召开专题会,邀请你过来做技术演示。专题会通过我们就向工信部报批了。”
林凡看着短信,嘴角忍不住向上扬了扬。
“通管局这关估摸着是过了,其他的部门可能真的要拼刺刀了……”林凡揉了揉眉心。
桌上的cV商城界面突然闪了一下,【检测到宿主为通管局提供“黑宽带”解决方案,符合“文明进步引擎”贡献标准,奖励cV:+100点。当前可用cV:105点。】
“哟,还送了点‘零花钱’。”林凡挑了挑眉。
办公室里,李田正对着电脑屏幕发愁,看到林凡回来,赶紧凑过来:“凡哥,你可算回来了!我这日报生成脚本出了点问题,有些数据导不进去,你帮我看看?”
林凡走过去,扫了一眼屏幕,很快发现了问题:“你把Excel表格的格式改了,宏脚本认不出新格式了。把格式换回‘Excel 97-2003’,再重新运行试试。”
李田照做,脚本果然正常运行了。他对着林凡竖起大拇指:“凡哥,你真是我的救星!对了,这周五晚上和办公厅还有公安厅约了个dota比赛,大腿你可一定要到。”
林凡眼睛一亮:“必须去,工作可以不做,游戏必不能落下。”