[绿盟]小四哥的故事
转自:[http://hi.baidu.com/realtimeos/item/717334287e92b1cfdcf69a8e]
“……我一直都希望大家从这里学到的不是技术本身,而是学习方法和一种不再*的淡然。很多技术,明天就会过时,如果你掌握的是学习方法,那你还有下一个机会,如果你掌握的仅仅是这个技术本身,你就没有机会了……”
这是网上广为流传的“小四哥”那篇经典之帖——《你尽力了吗》中的精华之语,我用它作为讲述“小四”平淡中见传奇的故事的开始,因为我认为这篇帖子和这句话可以高度概括“小四”其人,包括他的学术态度和处世哲学。
“小四”本名陈庆,是时下国内网络安全界的热门精英人物之一,继袁哥、WARNING3等人后“绿盟科技”又一技术骨干,UNIX/LINUX系统底层分析高手。在这众多赞誉与头衔的背后,生活中的陈庆非常低调,盛名之下,他只认可一个自我评价:“我只是一个普通的UNIX程序员。”
流火七月一个酷暑难耐的午后,我在“中联绿盟”的办公楼按约采访小四。面前的小四再次令我感到现实与想像的差距。中等瘦削的身材,白皙骨感的脸庞,树脂镜片后谦逊坦诚的目光。一件印有“绿盟”公司徽记的黑色工作T恤,一条“看似廉价”的米色西裤,一双“绝对廉价”的“千层底”布鞋。于高档Office里满目的名牌西装革履中突显一种洒脱与闲适。在握住他主动伸出的手彼此寒暄时,我感到一种自然随和的热情,一下子淡化了初次见面的陌生感。
随后,我们坐在静静的会客室里面,听小四讲那过去的事情……
“象牙塔”里的故事
故事从“小四”这个名字说起,没人想到“小四”与“MUD”有何相关。1997年在长沙铁道学院电子工程系计算机软件专业上“大四”的陈庆,通过中国教育科研网接触互联网,“MUD”也就是“泥巴”在网上是尽人皆知的经典游戏,陈庆也一度沉迷其中。联网玩“泥巴”的时候,他起了“小四”这么一个用他自己的话说“江湖味道比较浓且具东方色彩”的化名。网名常随着人的使用习惯沿袭下来,所以“小四”叫到今天从未更改。
“小四”高考填报的所有志愿都是与计算机相关专业,且注明不服从分配录取到其他专业。对计算机如此情有独钟,源于高中时接触BASIC语言课程后激发的浓厚兴趣。这兴趣使一度热衷参加各类数学竞赛的陈庆改变了高考报数学系的初衷。很巧合,从袁哥到小四,他们原本都在数学上有很强的天赋与浓厚的兴趣,看来有数学天赋的人更易在计算机技术领域取得突出成绩。
计算机专业的学生少不了天天与电脑为伍。那还是DOS3.1盛行的年代,小四与同学开始研究病毒。这似乎也是当时计算机技术里最能激发人兴趣的东西,成为现在很多高手最初入门的切入口,比如袁哥与黄鑫。研究病毒自然离不开汇编,学校在大二时才开设汇编课程,可小四和很多同学大一就已自学成了汇编的高手,搞汇编“成风”,同学间笑谈:“以后你编病毒,我编杀毒软件,大家各赚各的钱。”大伙写起汇编来,动辄就是成千上万行代码。小四自己则练习着用汇编写一些检查病毒的程序,针对当时病毒喜欢更改系统中断向量的特点,通过硬件编程绕过操作系统对其进行监视。他用这个土方法偶然间还发现了当时已风靡全国的江民KV100杀毒软件存在的一个小问题,那就是KV100每次杀毒,总在电脑内存地址中修改一些内容,但退出后不恢复。后来小四与3个同学又用汇编实现了一个比较“大胆”的设想——更换MSDOS操作系统中的COMMAND.COM执行文件,用自编的文件取而代之,而且做得很成功,加载Windows3.1一点问题也没有,这让他们小有成就感。正由于汇编和DOS掌握得太熟练了,以至于他们很难接受DOS向Windows3.1的过渡,使他在Windows编程方面出现了一个小小的断档,小四就是跳过Windows3.1/3.2而直接用Windows95的,好在计算机技术的快速更新使这一断档变得无足轻重。
大学四年,小四的大部分课余时间都用在图书馆和书店,翻阅了众多汇编书籍和资料,手抄了大量的代码。研究汇编达到了痴迷的程度,甚至有段时间整天琢磨软、硬盘控制器的参数手册,梦想可以实现在软盘有写保护的情况下也能进行写入操作,他试图从这些参数手册中找到可利用的问题,打开突破口,不过最终理智告诉自己,这在理论上是不可能的事情。在学校,小四还接触了一段曾在微机网络操作系统中独领风骚的NOVELL公司的NETWARE网络系统,并在该平台下进行基于IPX/SPX通讯协议的编程开发。不久后“JAVA热潮”席卷全球业界,正准备毕业论文设计的小四便选用JAVA编程作为课题。为实现在JAVA下的网络编程,就得构建基于TCP/IP协议的网络开发环境。在老师的帮助下,他用一台16M内存的电脑作NT服务器,与几台运行Win95的电脑组了一个简单局网,然后就开始研究TCP/IP协议和JAVA下的底层网络通讯以及SOCKET网络编程。与许多程序员不同的是,较之与UI(用户界面)相关的开发,他更喜欢与底层的东西打交道,这让他时刻保持一种探究事物终极秘密的好奇。不过,小四认为能在应用层上开发出优秀实用的程序也是很了不起的事情,自己也一度非常向往,无奈计算机技术发展到今天,学科门类越来越细,人的精力有限,只能集中到自己最感兴趣的地方。
回顾大学生活,小四丝毫未感韶华虚度。如海绵吸水般完成了知识的原始积累。正是这象牙塔里练就的一身扎实基本功,才使他日后的“笑傲江湖”成为一种可能。
小站的故事
本节为你讲述的是小四一段鲜为人知的“传奇”经历。所谓“传奇”是因为它事关小四一生的命运。
1997年夏天,小四大学毕业。以他的“边疆省身份”,按照当年“从哪来,回哪去”的毕业分配原则,除了回大西北,小四似乎别无选择。在开始不知情的情况下,档案就被兰州铁路局调走,分配到了宁夏银川铁路*所属的一个名叫银水桥的一级编组站,离银川市还有数百公里。这里生活环境很差,四周是戈壁荒漠。当时按规定,他的工资是每月425元,但种种原因,最后发到手里的仅剩区区245元!在1997年,这笔钱即使在物价水平很低的西北地区,吃饭也快成了问题。就算这样,他的想法还是只要能安排到站里的电算中心工作,可以接触计算机,也就不走了。但这么一个最低要求也没被满足,他最后被站里分到了“调车组”,而且连做一名“调度员”竟也成了一种奢望。具体工作是他来之前想都想不到的“扒火车”!也就是摘车厢、扳道岔。小四幽默地说:“自己从小想当‘铁道游击队员’,这下倒是梦想成真了。”不过凭着对这份工作的新奇,他开始工作热情还挺高,也没怎么觉得一个计算机专业的高材生那敲击键盘的手用来摘勾扳闸有何不妥。忆起当年,对于“摘勾、分车、制动”全过程的每个细节他还像对程序代码一样仍烂熟于心,从机械原理到具体操作步骤,讲述起来津津乐道。经他一描绘,粗重简单的重复劳动也是一种赏心悦目的“行为艺术”。看着眼前这位瘦弱斯文的白面书生,怎么也想像不出他在“大漠孤烟直”的西北戈壁铁道线上,引领和分解一条条钢铁巨龙的“铁汉雄姿”!也许这就是生活的误会,也许这就是他人生过程中一个小小的考验和历练。当了3个月的“铁道游击队员”,“粗犷豪迈”生活的新鲜感渐渐褪去,代之以枯燥乏味的本色,书生陈庆也开始认真思考自己作为程序员的前途与存在价值,他开始强烈意识到这样下去是一种生命的浪费,且经济上的拮据也濒临向原本就贫困的家里伸手的窘境。于是他给母校的老师和同学写了信,表达了想回校谋职的愿望。好在当时任母校网络中心主任的老师对陈庆这个获优秀毕业设计的学生印象很好,答应帮这个忙。由于铁路这边不放人,要走只有“开除”一条路,工作调动不可能。但开弓岂有回头箭,去意已决的小四背起简单的行囊,就踏上了东进的列车。
“在火车来之前1小时,我到站长办公室跟站长去辞行,同时还奢望他能网开一面给我办调动,但他说没有这个权利,需要兰州局批准,同时又对我进行说服挽留,甚至问我如果现在调我去站电算中心,我是不是就愿意留下?我知道自己已绝无回心转意的可能,所以也没有说任何抱怨的话,只强调了一下家庭困难,希望得到站里的理解。现在想起自己当年的念头都不敢相信,刚来站里的时候我就想,只要给我分到电算中心,只要让我摸电脑键盘,那么让我一辈子在这儿给站里编FOXPRO数据库程序也成!我在校就入了党,又受军人家庭环境的教育影响,到现在我也是个组织观念很强的人。”小四回忆说。
说到这里,有一个人令小四感怀不已,那就是临行唯一为他送行的站团委书记。
“团委书记是个26岁的转业军人,我们同宿舍,对我一直很好,工作生活上给了不少照顾,走那天只有他一人扛着行李送我。在车站他说了句话,我一辈子也忘不了,他说:‘我会在这儿等你一个小时,如果一个小时后等不到你,我才回去。’因为火车开出半个小时有一个小站,可以在那儿下车再乘别的车返回他是真心希望我留下,3个多月我们吃住在一起,友情很深。我当时很感动,但我还是对他说:‘你别等了,我肯定不会再回来了!’”最后,书记没再说什么,而是掏出1000元钱塞进小四的手里。
小四走了,真的再也没回头。
跳槽的故事
事隔3个月,小四再次回到长沙母校。老师安排他到学校网络中心工作。由于无法办工作调动,他只能以编外临时的身份工作,每月只有700余元的微薄收入,但小四干得很开心,因为终于又可以摸电脑键盘了,这比什么都重要。
因为小四当初以JAVA为课题获得优秀毕业设计,老师就安排他搞JAVA开发。其间,他参与为铁道部门开发了一套基于网络的无纸化办公系统。那段时间,小四对JAVA的研究热情空前高涨,搞开发的同时还担任水木清华JAVA版的版主。1998年4月,JAVA开发告一段落的同时,学校网络中心与湖南移动公司谈了一个合作开发项目,将小四调去搞基于UNIX的编程。上学时他在学校的SGI图形工作站上就接触过UNIX下的编程,正式做起开发来也不难。当时的电信通讯系统与串口及X.25分组交换协议关系密切,这段实践令小四的此类技术能力大增,并积累了丰富的开发经验。这中间他开发了一个与摸拟交换机通讯的程序,这也是他惟一用VC开发的带用户界面的程序。不久后他又被派去搞数字交换机,全部转入UNIX SOLARIS下的C语言编程。由于是通过中国教育科研网上网,在“教研网”内免费,如访问“教研网”以外的国内、外站点则以流量记费。为了“突破限制”,小四便找了一些“肉鸡”代理出国。现在说来,这算是小四做的第一次与网络安全有关的事情。后来从书刊中看到的有关国外“黑客”的内容也激发了他对网络安全技术的浓厚兴趣。1997年互联网在国内刚兴起,上网的人多数有一定计算机技术水准,且以计算机相关专业的高年级本科或研究生居多,与他们的网上交流加快了小四向网络安全领域的技术转向。1997至1998年间,他先后在网上接触了两位现在绿盟的同事DEEPIN和袁哥,经常光顾两人的个人主页。这段时间小四玩得最多的是Socket网络编程,有时把那些能致使Windows 95蓝屏死机的DOS攻击程序找来研究。有时他也为会一己之利搞一些小动作,比如在局网内与别人同时上网,急于下载网速又慢时,他就将别人“踢下去”,趁别人当机和重启系统之际独享带宽资源。
湖南移动的这个项目小四一直开发到1999年2月,这时他再次为家庭经济困难所累。900元的月薪,除了自己生活,还要负担刚上大学的妹妹的学习及生活费用。当年他本科毕业就想“考研”,准考证都办好了,也因家庭贫困,在考试前一天决定放弃,而这个愿望最终没有实现。经济困难的压力,使对学校很有感情的他无奈之中再次做出离开的决定,就像当初从那个西北小站的出走。临行前,校网络中心主任也是当初接收他来的老师给他支了1000元钱,还把他请到家里吃饭送行。面对一直厚待自己的恩师,小四说:“老师,什么时候您自己开个公司吧,我回来继续跟您干!”
一身简单不能再简单的行囊伴着小四第一次来到了北京。与上次回长沙母校不同,这次“迁移”的目的地并没有他预订好的“接收单位”,原本有一个在北京的同学帮他联系的单位因故告吹。面对未知的前途,小四仍带着今非昔比的自信与老师同学的鼓励上路了。个人能力以及北京在全国首屈一指的网络安全发展环境使他对自己的抉择坚信不已。果然,一到京城便顺利地在国内通讯巨人——深圳华为公司的北京研究所谋到一职,在协议软件部做研发。但世事难料,公司的特点以及岗位需要并不能充分发挥他的才华与特长,加之父亲的突然病故,3个月后,他离开了华为,转入了启明星辰这个真正的网络安全专业公司。可以说到启明星辰是小四正式介入网络安全工作的开始。面试他的公司网络安全部负责人是位中科院的博士,给他出的考题是开发一个“切断他人TCP/IP连接”的小程序,没几天小四就交上了令他满意的答卷。在启明星辰的日子里,小四专心于网络协议与系统安全漏洞的研究,完成公司交给的开发任务,间或做些技术资料翻译和文档整理工作。因对网络协议分析浓厚的兴趣,他喜欢用协议分析软件“抓抓(数据)包”来研究。感觉别人开发的SNIFFER(嗅探器)不够“傻瓜化”,就自己动手写。长时间的网络编程,不但使他的网络协议与漏洞分析技术日臻纯熟,更练就了一手C语言的硬功,他戏称用C语言久了,“老本行”JAVA都不会用了。就这样,他在启明星辰一干就是半年。
1999年底,正是“绿盟”招兵买马、蓄势待发的时候。小四在网上遇到了故友,也是现在“绿盟”的工程部总监DEEPIN,后者了解到他的现状后,建议他去“绿盟”,理由是,“绿盟”已经或正在聚集一批圈内“牛人”,包括小四熟识的“WARNING3”、“Adam”都名列其中,公司未来的发展潜力巨大。当时适逢年底,小四想转过年再看看。春节后的一天DEEPIN打来电话,约小四一起去“绿盟”那边看看,小四只想着“正巧去看望一下好友TT(WARNING3)”就如约前往。去时,他还约上了自己在水木清华“黑客版”的好友,也是现在绿盟的同事IPXODI。到了“绿盟”,两人跟着DEEPIN一进门就惊讶地发现里面竟有10来个人,像个有些特别意义的聚会。他们见到了召集组织者——“眼圈”,“眼圈”说今天请大伙过来,一来吃顿饭相互认识一下,二来开个小会商议一些重要事情。这下小四意识到:这莫不是“绿盟”的“成立誓师大会”?马上有点不好意思,觉得自己是个“外人”。让他意外的事情还在后面,他随后得到一份事先打印好的“会议纪要”,发现“与会者名单”中自己和IPXODI的大名竟赫然在列,他这才明白DEEPIN今天约他们来这里的真实用意。后来知道,原来在DEEPIN的推荐下,自己早就被“眼圈”圈进了“绿盟”的“集训名单”了。有了这个“既成事实”,后面的事情自不必说,小四第二天一回启明星辰就交了辞职报告,然后就来“绿盟”上班。初到“绿盟”,小四与WARNING3、袁哥等同在“研发部”,具体工作是开发各种操作系统下的网络工具,主要是Sniffer,这要求开发者熟悉各种操作系统平台,再就是做一些网络工具程序的移植,同时他还写了不少诸如“缓冲区溢出漏洞”之类的普及性教程。缺人手的时候,他还客串一下跑外的“客户技术支持”。事无巨细,在“绿盟”这个良好的技术氛围中,小四干得很开心。
网上很多人都知道小四哥“发帖”很多,在很多技术论坛,特别是在“白云黄鹤”BBS上随处可见他的“精华帖”。提到这些帖子,小四一再谦虚地表示那都是为了与广大网友相互学习交流,其中不少是对他人理论与经验的整理总结,还有一些是翻译文章。同时他认为,不论就技术方向还是文档风格而言,自己的帖子更适合程序员阅读参考。不过令小四始料不及的是自己的名字也随着这些高技术含量的帖子的增多为越来越多的网友所熟知。文章开始提到的那篇《你尽力了吗?》虽未涉及具体技术问题,却被很多网友视作“经典”收藏,因为他们可以从中感悟到那种面对成绩和荣誉总是一笑而过的人生境界。
低调小四 采访扎记
“……一个程序员做到W.Richard.Stevens那个份上,做到逝世后还能叫全世界的*Hacker们专门著文怀念,但生前却不曾著文攻击,想想看,那是一种什么样的境界,那是一份什么样的淡然……”这是小四那篇《你尽力了吗》中的另一点睛之笔。
除了W.Richard.Stevens,陈庆的偶像还有贝尔实验室PLANE9的发明者与UNIX之父Ken Thompson和Dennis M.Ritchic,集“图灵奖”与“奥运银牌得主”于一身,这样的传奇已令人仰视,但更让小四感喟的则是其坐拥殊荣仍低调内敛的脱俗境界。
小四说庄子的哲学思想对自己影响很大,他很崇尚庄子淡漠名利的超然人生态度。他说自己一度脾气急躁,与别人讨论技术问题常会争个面红耳赤,语锋犀利,不留情面。虽是对事不对人,但常令对方很难接受。后来一位小四很尊敬的大师兄了解他这种情况,就建议他读读庄子。庄子“人不与天争”的观点使他很受触动,乍一看似有消极之嫌,但本质上是一种遵循客观规律的积极生活态度。现在的小四面对生活中的挫折、失意和过错都以乐观辨证的成熟态度对待,待人接物更加随和、友善。他已将顺其自然、平淡低调视作自己重要的生活准则。用他自己的话说就是:“做人不要跳来跳去!”
交淡中小四多次强调自己的“程序员”身份,他认为一个程序员的生活方式就应该是甘于寂寞,在代码行间默默耕耘。在浮躁烦恼的时候,他就会去翻一翻庄子的书,顿悟人生如梦,心境很快会平静下来。
小四至今为当年执意从银川铁路*出走而中断的党组织关系而惋惜不已,这让我感到他身上很强烈的计划经济时代的传统组织观念,这在当今青年人里是少有的。而现在他的组织观念更多的表现为一种“团队精神”。他说“绿盟”给他提供了一个最佳的技术交流环境,一个人的能力总是有限,别人的长处往往正是自己的不足。“一根筷子很容易折断,但10根筷子在一起就很难折断”,这是他对个人与团队的理解,也是“绿盟人”的共识。
在“绿盟”那段发展困难的时期,面对其他公司的诚邀加盟,他这样答复对方:“我们当时十几个人一起来的,这会儿我要是离开他们一个人先走了,那以后我还‘混不混’了?”大白话,但很有份量。小四说抛开技术本身,他在“绿盟”比较佩服的人就是DEEPIN和“眼圈”沈总。前者的少年老成,后者的人格魅力,他说,“有‘眼圈’在,就感觉公司还有希望,有困难,大伙儿团结起来就能克服。”
小四家境很困难,父母去世又早,家庭生活的重负和责任都落在他的肩头。但给我留下更深印象的倒不是他苦撑家庭危局的艰辛经历,而是他叙述此事时平静的语气和轻松的神情。与其说这是人在苦难过后表现出的释然与超脱,我更相信是潜心研读“老庄”修得的正果。小四绝对是个性情中人,过去20年艰苦的人生经历,培养了他对家人与朋友的责任感。他视朋友为生活中不可缺少的财富。从长沙母校到银川小站,再到北京“绿盟”,如浮云游子般一路走走停停,但友情从来未曾丢弃。每当回忆起西北那戈壁小站上团委书记期盼的目光;回忆起湖南长沙至岳阳的列车上,同学在寒冷冬夜里“十八相送”的背影,小四的语气依旧平淡,但他目光的“缓冲区”中,却有明显的深情“溢出”。关于交友之道,小四的原则是,“朋友之间尽力互相帮助,帮对方的忙别记着,更不要想着有一天朋友还人情,把这个帮倒找回来,但别人帮自己的忙一定要记住。”
小四不是个生活兴趣单一的人,在计算机技术圈外还有一个“偶像”,那就是足球巨星马拉多纳。从小就爱踢球的他称自己是绝对的“阿迷”,马拉多纳忠实的拥趸。此外他还爱爬山、打乒乓球,喜欢听音乐,电脑里收集有大量的影视剧经典插曲及罗大佑老歌的MP3。不过兴趣归兴趣,他的一位师兄对他有最准确的定位:“你就是为电脑而生的,你有一天搞不好会死在键盘上!”此话后半句似有些不吉利,所以不宜作本文的结尾,那么还是再听一个小四讲的小故事吧 :“一条远航的船上,船长管理着维持船员生命的水,但有一个船员屡屡偷水喝,船长对其防不胜防。直到一天,船长生命垂危,死前他偏偏把管水的重任交给了这个‘惯偷’。可此后,该船员不但没再监守自盗,反而更珍惜每一滴水,且宁可自己少喝,以节省水的使用。他明白了水的重要与责任的重大。”
小四说这个故事让他懂得了责任在身意味着什么。