如何自学黑客&网络安全
黑客零基础入门学习路线&规划
初级黑客
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
如果你想要入坑黑客&网络安全,笔者给大家准备了一份:282G全网最全的网络安全资料包评论区留言即可领取!
7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.
如果你零基础入门,笔者建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习;搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime;·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完;·用Python编写漏洞的exp,然后写一个简单的网络爬虫;·PHP基本语法学习并书写一个简单的博客系统;熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选);·了解Bootstrap的布局或者CSS。
8、超级黑客
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,附上学习路线。
网络安全工程师企业级学习路线
如图片过大被平台压缩导致看不清的话,评论区点赞和评论区留言获取吧。我都会回复的
视频配套资料&国内外网安书籍、文档&工具
当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。
一些笔者自己买的、其他平台白嫖不到的视频教程。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
3. 番外 - 《写给大家看的设计书》
这里给大家补充一本书 ——《写给大家看的设计书》,这本书应该是不少人的设计启蒙书。
在这里,我简单介绍下《写给大家看的设计书》四大原则:
- 对比: 如果两个元素内涵不同,请让它们截然相同;
- 重复: 设计的视觉要素应当在整个作品中重复出现;
- 亲密性: 彼此关联的元素应当靠近和放置在一起;
- 对齐: 任何元素都不能随意安放,应当总是与另外至少一个元素有视觉上的关联。
这四大原则,就与前面我们总结的两大原则相呼应上了。来看下具体的关联:
- 层级,就是亲密性+对比的目标。让用户抓重点、切视线,又快又稳。
- 一致性,就是对齐+重复,克制用户视线所感受的尺度,迅速与网站设计语言建立熟悉感。
书中还有更多关于四原则的解释和其他排版设计的技巧,这里也推荐给大家延伸阅读。
🧷四、设计体系
1. 布局
(1)居中放
我们先来介绍一个最基本的布局技巧,内容居中放。
如果你是遵循「功能导向」,边开发基础能力边设计迭代的开发过程,那么前期你的功能应当是比较简单的。单列式的居中布局,应该能满足你的需求。
比如像下面这样:
很多场景下,居中放也是很有意义的。除非大屏浏览是你的核心场景,不然一般来说,你的内容宽度应该在 600 ~ 800px
之间,类似一本书的宽度。
像下面这样:
(2)多列布局
多列布局的核心也是保持内容的一个合适宽度,维持可读性。
一般规则是:主要内容列弹性收缩(可以有最小宽度),次要列固定宽度。
如下图所示:
2. 间距
(1)间距的定义
保证元素间有基本的间距,是最基本的设计技巧。
如下图所示:
(2)间距的一些规范
现在我们来看一些关于间距的规范。
1)间距——选项
基于 4px
的倍数,设计出数十种间距的选项。如下图所示:
现在,我们来说明一下这十种设计选项的一些具体内容:
- 设计体系,除了满足「一致性」原则以外,它同时也是帮设计者提前设计好选项。
- 有了这些选项,我们在具体场景中可以逐个尝试,来试出最优解。
- 比起每次都拍脑门决策,现在变成在选项里调优,能极大地加快设计的步伐。
来看一个 button
的例子:
大家可以看到,我们把图标以 4px
的倍数进行增长,慢慢地变得越来越饱和,越来越好看。基于 4px
的选项,我们是不是就更加加快了我们的设计步伐了呢。
观察这数十种间距的选项,我们可以发现这是一个类似指数增长的图表📈。这是因为两个相邻间距,在大尺度上,要比小尺度里拉的更开,才能在视线里体现出间距的差距。
我们用一张图来比较一下大小尺度里的区别:
大家先看左边的内容,在小尺度里, 4px
的差距就是 20%
的增幅;再看右边的内容,右图 500px
的尺度中, 20px
的增长只有提升 4%
的效果。
2)间距——多留白些
这是一个间距设计技巧:安排元素时建议先大大的留空,也就是「从松到紧」来调试间距。如下图所示:
我们来对上面这组图进行一个比较。
由紧到松类型👇
先来看一张图:
这张图是由紧到松,那么你的思维是「尝试把无关的元素拉开」,而且是「从整体到局部」的 方向,这就不太好操作。
举个例子:
你想先拉开每个段落间距 10px
,再调段落内标题与内容的间距 4px
,但发现拉的不够开;这时要回过头将段落间间距拉到 20px
,这样段落内才好安排 10px
的间距……
由松到紧类型👇
先来看一张图:
由松到紧,这就简单一些:关注的是「哪些元素相关」,把它们拉在一起,然后是「从局部到整体」调优。
一般来说,偏松也比偏紧好。从一开始就留些空间吧。
3)间距——表达关联关系
- 除了方便阅读,间距也是最合适表达关联关系的工具。
- 如下图所示,图中的间距差异设计,表明了每个章节的起点,以及标题与段落的关联性。
- 同时,如下图所示,挨得太紧的行高和列表项间距,会让用户难以判断阅读时的停顿点在哪,当前列表项是否已经结束。
- 间距是远比色块、边框、分界线之类的更适合用来表达关联关系的工具。值得多加练习运用。
3. 文字
(1)文字的定义
文本是站点的主要内容载体;字体设计自然也是重中之重。
既然我们在讲设计体系,以一致性为目标。那么同样地,我们也要把站点所使用的字号、字重等范围框定在数十个选项中。
数十个是个 magic number
,大部分情况下应该都能满足。只要场景够特殊,特殊字体完全可以再加。
(2)文字的一些规范
1)文字——选项设计
相比于间距设计,字号大小我们有一个明显的适合阅读的字号范围,如 12 ~ 20px
。那么我们会更多在这个范围内设置字体选项。
来看下选项设计的10大范围,如下图所示:
但是呢,仅通过字号来设置层级,很快就会捉襟见肘。因此我们要结合字重 & 颜色(灰度),你会更加地游刃有余。
字重是 css
自带的,用好常用的 3、4 个尺度就好了。
来看一个例子:
大家可以看到,在右边的这张图当中,我们适当的使用了字重和颜色,以使得页面的内容更突出,内容更为饱和。
2)文字——对齐
不同字号大小的字体间如何对齐呢?我们应该要基于 baseline
对齐,就是文本的下边缘。
baseline
是一个字符的重心;重心对齐了,用户在移动视线时就能有平稳的阅读体验。
来看一个例子:
3)文字——行高
基本上,对于所有的文本设计来说,其意图都是为了保持良好的阅读体验,那么行高也不例外。
具体到设计哲学,就是:行高和字号大小大致成反比,目标是用户在视线换行时有稳定的下移体验。
4. 色彩
现在,到颜色部分了,谁不爱颜色呢?同样地,与上面一样的归纳步骤,我们来对颜色进行一个归纳。
(1)颜色选项——灰色
在你的色彩库中,应该要有10种左右的灰色来提供使用,并且这些颜色从文字到背景都用得上。如下图所示:
(2)颜色选项——主题色
大部分站点都少不了一两个贯穿全局的主题色;它出现在按钮、logo、背景、各种修饰元素之上,是品牌的记忆元素。如下图所示:
(3)颜色选项——功能色
有一些常见的颜色,被广泛地用来表达某些固定的语义信息。
红色,传达错误信息,或提示危险操作。
黄色,表示警告。
绿色,表示一些积极的变化,以示成功或增长的信息。
如下图所示:
(4)使用色盘
前面我们准备好了这么多由深入浅的颜色,那该如何使用呢?
我们可以作为前景和背景色来使用。主要标题可以用最亮的白色;次要标题挑一个背景颜色的浅色版本。
如下图所示:
再来看另外一种用法,即浅色背景深色前景的用法。浅色色块相较于白色背景对比度不大,适合不用过于抢夺眼球的场景。如下图所示:
(5)使用颜色的注意事项
颜色虽好,但使用不当会很容易打破页面层级的平衡。来看一个例子:
还有一种情况是,色盲的用户消费不了颜色,颜色在不同的文化中可能表示不同的含义。如下图:
大家可以看到,在上面这张图中,左上角的图是我们普通用户所看到的图,而左下角的图是色盲用户所看到的图。
5. 深度
(1)例子阐述
制造深度的技巧,八成与阴影设计有关。
深度补充了间距,从另一个维度上体现了层级。这是为什么?
这种深度的感官来自日常生活。平时我们是怎么感受平面上的深度的?答案是:自上而下的光照打 。
在平面上所造成的阴影。模拟这个现象,我们便可以实现网页元素的「深度」体验。
来看一个例子:
大家可以看到,在上面的这张图中,它的的光就是自上而下的光照打。
(2)阴影选项
下面我们来看一些常见的阴影选项。如下图所示:
看了上面的一些常见选项后,我们现在来梳理各种大小的阴影所造成的影响。具体如下:
- 小的阴影可以使元素略微突出,但不至于抢夺眼球。
- 中等阴影适用于小型弹出的模块,如下拉框。
- 最深的阴影则用于彻底地将模块与页面区分开来的场景。
如下所示:
🐾五、实用技巧
1. 图片上的层级
如果我们遇到图片上的色块斑驳不一,难以找到合适的前景色。这个时候我们应该咋办哩?
比如下面这张图:
下面我们来介绍解决这种问题的几种方法。
(1)增加蒙层
我们可以通过增加蒙层,来显示图片的层级。如下图所示:
(2)给文字加阴影
除此之外呢,你可以选择给文字加上阴影。 css
可以轻松地做到,只增加文字部分的对比度,而不影响整张图片的阅读体验。
如下图所示:
2. 用户头像
不管是在什么样的 app
,我们基本上都有上传图片的环节。那么,如何使得在任何的情况下,都能够清晰地展示用户头像里面的内容会是一个问题。
我们先来看这张图:
大家可以看到,在上面的这张图中,有一些用户头像出现了空白,这样间接地会使得我们不清楚整个用户头像实际上的尺寸是多少。
由小伙伴可能会首先想到,加个 border
。但加个 border
呢,又有点差强人意了,不一定能搭配好。
有个好方法就是,加点内阴影。相当于圈用户头像的外层做边框,这就非常精巧了。
3. 强调线
有时候,我们会很喜欢把表格类的设计给加上一些边框和分界线,但是这似乎看起来 a little
土。如下左图所示:
大家可以看到,加了边框,就很像传统的 table
一样,有一点点不美观。
所以呢,如上边右图一样,我们可以用阴影或者不同的背景块来代替边框。这样,间距其实也就清晰了,所以我们也就不需要什么分界线了。
写在最后
在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。
需要完整版PDF学习资源私我
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!