黑客与普通程序员有什么不同
在一些影视剧里,经常可见那些超级厉害的黑客,可以靠一台电脑,敲几个字符就能让整个网络系统出现大规模的瘫痪,侵入到各种高大上的企业网络中,来去自如,看别人的电脑秘密如探囊取物一般;
还有一个工种是与黑客不同的存在——程序员,每天坐在工位上,噼里啪啦敲着一行行的代码,还总被产品经理改需求。不爱说话,穿着邋遢,爱穿格子衫冲锋衣、牛仔裤、背双肩背包、黑眼圈配疲惫的脸,头顶越来越聪明,这是大众对程序员们的综合认知......
一提起黑客,人们一脸崇拜,那种神秘感好像听说了明星的一个爆炸新闻一样;一提起程序员,人们记住的却只是那些黑程序员的段子。同样是敲代码,差距咋就那么大呢?
黑客之所以让人崇拜,一是因为其神秘性,二是各种电影里对黑客的演绎夸张。可以这样说“黑客因其神秘性,更加容易造英雄。程序员给人印象加班多,整天加班还是有无穷无尽的问题。一个在明处,一个在暗处,暗处的给人更多遐想空间”。
如果要成为黑客,必须是一名合格的程序员,掌握必备的编程语言,而且黑客相对于普通的程序员,在某些专业领域做的而更加惊喜,而且很多都是标准的程序的逆向。这就给了人们一种“黑客是最牛的程序员”的印象,其实不然,术业有专攻而已,而且黑客和程序员的关系就是剪不断理不乱。
很多程序员和黑客其实都是难兄难弟,程序员编程为生,黑客以发现程序员的错误为生,国内的许多大公司的网络安全部门,多数是黑客招安来的,黑客化身成为公司的安全工程师,然后以工程师的名义继续和黑客对战。看似是难兄难弟,其实是相亲相爱一家人,两者随时可能角色互换。
就像阿里巴巴的首席安全技术专家吴翰清,在20岁的时候去阿里面面试的时候,被面试官问到有啥技术特长,吴二话没说,拿着面试官的电脑当场黑掉了阿里一台路由设备,导致阿里内部网络中断,从此在阿里传为佳话,更是在业内流传开来。
黑客碾压程序员这种说法在很多人眼里是真理,其实黑客和程序员不是水平高低的区别,是分工不同,就像长枪兵和魔法师。举个简单的例子,程序员就是建筑工人,有的人做设计,有的人做施工,有人搬砖,有人和泥,有人砌墙,各有所专,分工合作,建筑一幢大厦。
黑客呢就是想方设法钻到大厦里面非开放区域,或者偷点东西,或者在墙上喷个图案,或者就是看看,窥测心理。攻防技术不分伯仲。都可以非常强,或许能强的离谱,你眼中的一般程序员能创造黑客使用的C语言,脚本语言等。同样强悍的黑客能一夜间让你辛苦做好的程序系统瘫痪、数据库彻底消失。他们互相制约,同样也能使得产品更加安全。
最后,黑客和程序员的区别就是一句话的区别:程序员是一种职业,而黑客是一种兴趣,并且黑客也分好坏两种。
那么作为企业开发中至关重要的程序员岗位,只有具备更强更完备的编程技术,才能更好的避免一些不良黑客的侵入,更好的保障公司的网络及软件安全,这也要求程序员们在技术上的学习任何时刻都不应该松懈。
那些高级程序员懂得也很多,他们和黑客到底有什么区别?
1. 黑客是程序员的子集。2. 程序员在解决那些原先已经被解决过的问题。而黑客通常是在尝试解决一些新的问题。3. 程序员是一种职业,而黑客是一种兴趣。4. 程序员的工作有很多限制,而黑客可以尽情发挥。5. 程序员都想把自己说得更好,因为他们要推销自己,而真正的黑客更谦虚,他们知道自己懂得还不够多。
6. 程序员是一种“职责”,需要的是对编程语言的使用,更希望尽快完成工作,而不是探寻为什么要做这项工作。做一个程序员没有什么错,但生活中有 很多比编程更重要的事情。相反,黑客是一种“心态”,对技术有着极大的好奇,希望理解核心的工作原理,喜欢创造。尝试理解如何工作,如何做得更好,如何让事情做得特别。黑客就像艺术家或哲学家,同时有着科学工程的天赋,有很多“为什么”和“为什么不”。
7. 程序员和黑客,就如同画匠和艺术家,DIYer 和工匠,教科书的方式和创新的方式8. 程序员的目标是写出程序,完成需求,而黑客是要让程序为自己而用,满足自身需求。9. 程序员和黑客都在写代码,只是黑客把不可能变为了可能。
黑客和程序员本质上是没区别的,都是通过编程实现自己的目的,敲的代码都一样,各自的代码也都认识。只是研究方向不一样而巳,很多程序即是上班族,也是黑客。程序员除了安全人员,更多是研究现实功能,架构,优化,这些事情上面。黑客更多是研究你有没漏洞,抓到漏洞我就利用。古话说不怕贼偷,就怕贼垫记,所以很多人总是以为黑客比程序员牛逼,其实是误区,只是两者重点研究方向不一样而巳。
做什么开发的程序员以后可以往黑客方面发展?
做程序开发,会多种编程框架的程序员可以往黑客方向发展:
一、做黑客要具备的技能和知识:
(1) 计算机的各种配件知识。
(2) 网卡, 路由器,交换机等一些网络设备,的专业术语及工作原理。
(3) 网线的分类。
(4) 数据传输的基本情况。
(5) 交叉线。
(6) 直通线的水晶头打法。
(7) 了解最新的网络设备, 具有那些功能, 试着去解释或想象这些功能的实现方法。
(8) 了解硬件编程语言(汇编语言html/css/js + php)。
(9) 深入学习内存分配的原理 对于网络知识,本鼠认为并不是多多易善,而且恰恰相反,只要专著于一门就OK了!因为,网络知识实在是太过宏大,一个人就算以一生的时间也不可能强其完全学完,何况处在知识爆炸的今天,往往一门技术,你刚刚掌握,说不定它已经成为了众所周知的秘密了。所以学习黑客技术,讲求的就是一个“快”字!当然这首先需要大家有扎实的网络基础知识。
二、以下列举不同类型或等级的黑客:
黑客(术语),对技术研修深入的计算机安全专家。
黑客(计算机安全)或饼干,访问计算机系统安全系统失灵。
黑客(爱好者),以创新的定制或组合的零售电子和电脑设备。
黑客(程序员亚文化),一个反独裁的软件开发方法,伴随着自由软件运动。
黑客与普通程序员的十大区别
1. 黑客是程序员的子集。
2. 程序员在解决那些原先已经被解决过的问题。而黑客通常是在尝试解决一些新的问题。
3. 程序员是一种职业,而黑客是一种兴趣。
4. 程序员的工作有很多限制,而黑客可以尽情发挥。
5. 程序员都想把自己说得更好,因为他们要推销自己,而真正的黑客更谦虚,他们知道自己懂得还不够多。
6. 程序员是一种“职责”,需要的是对编程语言的使用,更希望尽快完成工作,而不是探寻为什么要做这项工作。做一个程序员没有什么错,但生活中有 很多比编程更重要的事情。相反,黑客是一种“心态”,对技术有着极大的好奇,希望理解核心的工作原理,喜欢创造。尝试理解如何工作,如何做得更好,如何让事情做得特别。黑客就像艺术家或哲学家,同时有着科学工程的天赋,有很多“为什么”和“为什么不”。
7. 程序员和黑客,就如同画匠和艺术家,DIYer和工匠,教科书的方式和创新的方式。
8. 程序员的目标是写出程序,完成需求,而黑客是要让程序为自己而用,满足自身需求。
9. 程序员和黑客都在写代码,只是黑客把不可能变为了可能。
10. 程序员的代码:
#ifndef __A_B___S__LIB_____2___
#include "mything3.h"
#include "mything4.h
#include "lib/bicycle.h"
#include "lib/noodle.h"
#endif
#ifndef __A_B___S__LIB______4__
#include "mything1.h"
#include "mything2.h"
#include "lib/mything3.h"
#include "lib/spaghetti.h"
#endi
而黑客的代码:
#include "myhack.c"
他们的代码通常非常高效,但不被认可,因为人们根本看不懂。
大家都知道高级程序员很吃香,那么高级程序员和黑客到底谁更厉害?
非从业人员对于程序员和黑客的外在形象就存在着不一样的认知,因为电视电影和网络上的段子,普通的程序员一般都是有才能却一点不风趣的男性,常年一件格子衬衣,几根稀疏的头发,虽然赚的钱不少,却不会花钱装扮自己;而黑客的形象就完全是另一种,他们很神秘,可能我们身边随便一个人在暗地里都可以是黑客,黑客还喜欢穿黑衣服,带黑色的帽子,不喜欢以真面目示人。
其实黑客和普通程序员只是各有侧重而已,说不上孰高孰低。黑客给人很厉害的感觉主要是他带来的破坏性比较直观,对于普通人来说比较好理解。比如电影里最常见的入侵别人系统搞坏事这类。而『普通程序员』如何通过各种精妙的设计构建出了一个又复杂牛逼的应用,抗住了天大的流量,一般人是没法理解的,比如淘宝这种,还有抗住春晚活动的流量这些。两者都是普通人做不到的。
一般来讲,黑客和普通程序员各有侧重,技能树不一样,比如前端的XSS攻击,黑客知道这个输入框内的内容如果没有被处理,那么可以通过构造特殊的输入内容来达到攻击目的,但是对于这个输入框如何弄得更好看,对用户交互友好这些他一般不关心,可能下一个关注点就在你的表单是不是可以做CSRF攻击上。还有一个例子是,框架/语言爆出了很多漏洞,黑客就会利用这些漏洞发起一些攻击,很大概率黑客对这个框架/语言都不是很熟悉。
相对的,普通程序员也不会关注黑客关注的很多点,比如CAPTCHA这种可能就直接引入个第三方的来防御了,并不会自己去实现一遍。还有加密算法这种,也几乎只有黑客才会去研究。普通程序员可能研究的就是压缩算法。黑客的攻击手段多种多样,有的甚至不会写代码,比如《我是谁–没有绝对安全的系统》里就有一位,根本不写代码,通过翻垃圾桶,开锁偷看资料这类操作搜集很多有用的信息,从而发起攻击。一般称这种为手段『社工攻击』。
0条大神的评论