安全见闻 -- 计算机行业科普

声明:
本文的学习内容来源于B站up主“泷羽sec”的公开分享,所有内容仅限于网络安全技术的交流学习,不涉及任何侵犯版权或其他侵权意图。如有任何侵权问题,请联系本人,我将立即删除相关内容。
本文旨在帮助网络安全爱好者提升自身安全技能,并严格遵守国家法律法规。任何人利用本文中的信息从事违法活动,均与本文作者和“泷羽sec”无关。请读者自觉遵纪守法,合理合法使用相关知识。


本文章主要讲解网络安全、网络技术都有什么,开阔眼见。

一、编程语言

1. 常见编程语言

编程语言简介
C 语言一种通用的、面向过程的编程语言,广泛应用于系统软件和嵌入式开发。
C++在 C语言基础上发展而来支持面向对象编程,常用于游戏开发、高性能计算等领域。
Java一种广泛使用的面向对象编程语言具有跨平台性,应用于企业级应用开发等。
Python简洁易学,拥有丰富的库,适用于数据分析、人工智能、Web 开发等。
JavaScript主要用于网页前端开发,也可用于服务器端开发(Node.js)。
C#由微软开发,主要用于 windows 平台上的应用开发。
Ruby一种简洁而富有表现力的编程语言,常用于 web 开发。
PHP主要用于 Web 开发,尤其适合服务器端脚本编程。
Go一种高效、简洁的编程语言,适用于网络编程和云计算等领域。
Swift苹果公司开发的编程语言,用于iOS 和 macOS 应用开发。
Kotlin可与 Java 互操作,主要用于 Android 开发。
  • 首推python,用于写脚本、工具,非常方便。
  • 其次是JavaScript,XSS主要是审计并利用JavaScript代码。
  • 最后是PHP,主要是白盒代码审计,白盒漏洞挖掘PHP是主流,红队中白盒审计比较有前景,比较吃香。
  • C、C++更适合去后期去做windows逆向。

2. 函数式编程语言

编程语言简介
Haskell纯函数式编程语言,以强大的类型系统和数学上的严谨性著称。
Lisp(包括 Common Lisp、Scheme 等)历史悠久的编程语言家族
Clojure运行在 Java 虚拟机上的 Lisp 方言,结合了函数式编程和 Java 平台的优势。

3. 数据科学和机器学习领域

编程语言简介
R在统计分析和数据可视化方面应用广泛。
Julia设计用于高性能科学计算和数据分析。

4. Web 全栈开发:

编程语言简介
TypeScript是 JavaScript 的超集,增加了静态类型检查等特性,提高了大型项目的开发效率。

5. 移动开发:

编程语言简介
0bjective-C曾经是 iOS开发的主要语言,现在逐渐被Swift取代。

6. 嵌入式系统开发:

编程语言简介
Assembly Language(汇编语言)不同的处理器架构有不同的汇编语言,用于对硬件进行底层控制。

7. 其他:

编程语言简介
Pascal曾经在教学和早期软件开发中有广泛应用。
Delphi(基于 0bject Pascal)用于快速应用开发。
Scala融合了面向对象编程和函数式编程,运行在Java 虚拟机上。
Elixir基于 Erlang 虚拟机,具有高并发和容错性,适合构建分布式系统。

二、软件程序

1. web程序(网站)

也就是常见的渗透最基础的网站,渗透最开始学的也就是web安全。

2. 二进制程序

更多是专门做逆向分析的人研究,和渗透是两个方向。

3. 驱动程序

本质也是二进制程序,以Windows为例,后缀为sys结尾的都属于驱动程序。

4. 上位机

5. 脚本程序

lua、php、java、python等都算,主要是写POC、EXP。

6. 操作系统

本质上也是一个很大的软件,只不过很厉害,看做技术含量很高的软件就好。

7. 裸板程序

web渗透、二进制都属于在操作系统上去写代码,但是裸板程序是直接在stm32或单片机上写代码,没有操作系统、进程等概念,需要自己去模拟才行。

8. 机器学习

一般用python写,go之类的也可以写,归根结底就是程序。

9. 量子计算

10. 工控程序

11. bios程序

就是代码写的程序而已,起了个高大上的名字。

三、操作系统

非实时操作系统实时操作系统
iOSwince
macOSvxworks
LinuxRT-THread
Android
Windows
非实时操作系统就是你现在要执行的命令需要排队,不是立刻执行,内核功能是不可中断的,主要致力于在各种情况下提供良好的整体性能、用户体验和多任务处理能力,但不能保证在严格的时间限制内对事件做出响应。
实时操作系统是抢占式操作系统,如果你的进程优先级高,则肯定第一个得到执行,直至结束执行,能够在确定的时间内对外部事件做出响应并完成特定的任务,具有严格的时间确定性和可预测性,常用与对时间要求极为严格的嵌入式系统、工业控制等领域。

四、网络通讯

无论搞什么都离不开网络通讯

1. 网络通讯

类型简介
局域网(LAN)覆盖范围较小,一般在一个建筑物或一一个校园内。例如,公司办公室内的网络就是一个局域网,用于员工之间共享文件、打印机等资源
城域网(MAN)覆盖范围较大,一般在一个城市内。例如,城市的有线电视网络、宽带网络等。
广域网(WAN)覆盖范围非常大可以跨越国家和地区。例如,互联网就是一个广域网,连接了全球各地的计算机和网络设备。

2. 网络协议

协议简介
TCP/IP是互联网的基础协议,包括传输控制协议(TCP)和网际协议(IP)。TCP负责数据的可靠传输,IP负责数据的路由和寻址。
HTTP超文本传输协议,用于在Web服务器之间传输超文本数据,如网页、图片、视频等。
FTP文件传输协议,用于在计算机之间传输文件。
SMTP、POP3、IMAP用于电子邮件的发送和接收。
  • TCP/IP和端口协议需要重点关注,这里有缓存溢出等漏洞。

3. 网络设备

设备简介
路由器连接不同的网络,实现网络之间的数据转发。它根据IP 地址和路由表来确定数据的传输路径。
交换机在局域网中连接多台计算机,实现数据的快速交换。它根据 MAC 地址来转发数据帧。
网卡安装在计算机上用于连接网络。它将计算机的数据转换为网络信号进行传输,并接收网络信号转换为计算机可识别的数据。
无线接入点(AP)提供无线网络连接,使无线设备能够接入局域网或广域网。

4. 网络安全

技术简介
防火墙**分为硬件防火墙和软件防火墙,软件防火墙包括WAF(软件狗)等。**用于保护网络免受外部攻击,它可以根据预设的规则过滤网络流量。
加密技术对数据进行加密,防止数据被窃取或篡改。例如,SSL/TLS协议用于在浏览器和 Web 服务器之间进行加密通信。
身份认证确保只有授权用户能够访问网络资源,常见的身份认证方式有用户名和密码、数字证书、生物识别等。只让特定用户、IP等认证信息来访问资源。

五、硬件设备

1. 计算机硬件

硬件简介
中央处理器计算机的核心部件,负责执行指令和处理数据。它的性能决定了计算机的运行速度。
内存用于存储正在运行的程序和数据,它的容量和速度对计算机的性能有很大影响。
硬盘用于长期存储数据,包括操作系统、应用程序、文件等。硬盘的容量和读写速度也 是影响计算机性能的重要因素。
显卡用于处理图形和图像数据,它的性能决定了计算机的图形处理能力。对干游戏玩家和图形设计师来说显卡的性能非常重要。
主板是计算机的核心电路板,连接着各种硬件设备,如 CPU、内存、硬盘、显卡等。主板的质量和性能对计算机的稳定性和扩展性有很大影响。

2. 网络硬件

硬件简介
网络服务器提供网络服务,如文件存储、电子邮件、Web 服务等。网络服务器通常具有较高的性能和可靠性,以满足大量用户的需求。
网络存储设备用于存储网络中的数据,如网络附加存储(NAS)和存储区域网络(SAN)。它们提供了大容量、高可靠性的数据存储解决方案。
网络打印机可以通过网络连接被多台计算机共享,方便用户打印文件。
网络摄像头用于视频监控和远程会议等应用。它可以通过网络将视频信号传输到其他设备上。
  • 可以通过fofa等硬件搜索引擎搜索网络打印机、网络摄像头。

3. 移动设备硬件

硬件简介
智能手机集成了多种功能,如通信、拍照、娱乐、办公等。智能手机的硬件包括处理器、内存、存储、屏幕、摄像头等
平板电脑类似于智能手机,但屏幕更大,适合阅读、浏览网页、观看视频等。平板电脑的硬件也包括处理器、内存、存储、屏幕、摄像头等。
可穿戴设备如智能手表、智能手环等,可以检测用户的健康数据、运动数据等,并与智能手机等设备进行连接和交互。可穿戴设备的硬件包括传感器、处理器、内存、存储、屏幕等。

4. 硬件发展趋势

趋势简介
小型化硬件设备越来越小型化,便于携带和使用。例如,智能手机、平板电脑等移动设备的体积越来越小,性能却越来越强。
高性能随着技术的不断进步,硬件设备的性能不断提高。
智能化硬件设备越来越智能化,能够自动适应不同的环境和用户需求。
互联互通硬件设备之间的互联互通越来越紧密,形成一个庞大的物联网。

六、人工智能

1. 机器学习 python

工作流程:
数据收集:
来源:可以从各种渠道获取数据,如数据库、文件、传感器、网络等。
类型:包括结构化数据(如表格数据)、半结构化数据(如 XML、JSON 格式的数据)和非结构化数据(如文本、图像、音频等)。

数据预处理:
数据清洗:去除噪声数据、处理缺失值、纠正错误数据等。例如,对于包含缺失值的数据集,可以采用均值填充、中位数填充等方法进行处理。
数据归一化:将数据的特征值缩放到一定的范围内,以提高算法的性能和稳定性。常见的归一化方法有最小-最大归一化、Z-score 标准化等。
特征提取:从原始数据中提取出有用的特征,以便机器学习算法能够更好地处理和理解数据。例如,在图像识别中,可以提取图像的颜色、纹理、形状等特征。

模型选择与训练:
根据任务类型和数据特性选择合适的机器学习算法。例如,对于分类问题可以选择决策树、支持向量机等算法;对于回归问题可以选择线性回归、随机森林等算法。
将预处理后的数据分为训练集和测试集。训练集用于训练模型,测试集用于评估模型的性能。
使用训练集训练模型过程中,通过调整模型的参数使得训练集上的损失函数最小化。

模型评估与优化:
使用测试集对训练好的模型进行评估,常用的评估指标有准确率、精确率、召回率、F1 值、均方误差等。
根据评估结果对模型进行优化,例如,可以调整模型的参数、增加数据量等。比如,如果模型在测试集上的准确率较低,可以尝试增加训练数据的数量或调整模型的超参数。

模型应用:
将优化后的模型应用到实际问题中,进行预测、分类、聚类等任务。
对模型的应用结果进行监控和评估,不断改进模型以提高性能。

2. 深度学习

深度学习
深度学习的基本原理主要包括以下几个方面:

神经元模型
深度学习的基础是人工神经网络,其灵感来源于生物神经系统。神经网络中的基本单元是神经元,它接收多个输入信号,对这些信号进行加权求和,然后通过一个激活函数处理得到输出。
例如,典型的神经元接收来自其他神经元或输入层的数据,每个输入都有一个对应的权重。假设输入为对应的权重,则神经元的加权输入总和为,其中包括偏置项。然后,通过激活函数 得到神经元的输出。

多层神经网络
深度学习中的神经网络通常有多个层组成,包括输入层、隐藏层和输出层。
输入层接收原始数据;隐藏层对数据进行多次特征提取和变换;输出层产生最终的预测结果。
例如,在图像识别任务中,输入层接收图像的像素值,隐藏层逐步提取图像的边缘、纹理、形状等特征,最后输出层给出图像所属的类别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值