|
“黑客”一个听起来神秘又让人心生仰慕的词汇,有不少朋友问“电脑那些事儿”的小编有木有黑客技术教,说实话,小编也不太懂。不过还是可以给大家介绍一下黑客入门知识该如何学习。
黑客有很多方向,较为常见的方向是基于网络攻击的。要做一个真正的黑客,编程是必须要学的。我的建议就是先学Python,然后学C语言。基于这两种,大部分的黑客工作都能解决。
一、Python入门足够简单,认真点的几天也就够了。随后,就可以基于Python来仔细学习一下网络的原理了。
计算机网络的书籍有很多,但这类理论书籍如果不能结合实践是很枯燥的。所以我一直极力推荐以网络抓包学起。可以先安装个WireShark,然后开始玩起抓包。重点是要结合着计算机网络的书籍,真正的看懂每个数据包头部各个字段的含义,培养自己对数据包的敏感性。只有拥有了这些敏感性,才能在今后的黑客行动中,对网络了如指掌,各种技巧如泉涌般。
而Python,则可以安装pypcap,或pcapy,任选一个即可。就可以使得通过Python来进行网络抓包了,即相当于自己编程实现WireShark的抓包核心功能。然后自己写程序决定过滤哪些包,显示哪些感兴趣的包的感兴趣的字段。数据包的解析可以通过dpkt包来实现,简单好用的爆。
如下是一篇简单的入门:gashero的pypcap实践笔记(文章底部有获取方式)
二、至于C语言,则是Python无法解决的一些应用级攻击时,用以实现底层的基础。
比如前些年时,pypcap之类的还只能抓包,不能发送数据包。后来我就自己用C写了个Python模块,可以直接发送数据包的。见:
sendpkt - 同时兼容linux/Win32的Python发送数据包扩展库
简单的使用文档(文章底部有获取方式)
C语言也是几乎所有底层系统的语言。正是因为如此,深刻的学会C语言,并理解其运行原理对底层攻击有着重要的意义。简单的如学会scanf、sprintf之类的带来的溢出攻击的原理。深入一点的要学会堆栈传参数的原理,以及常见系统调用的位置。这才是个博大精深的事情。
最后提醒各位亲们,如果真的喜欢,就做一名白帽,要遵纪守法!
|
|