0


安全见闻(一)

安全见闻(一)
姓名:flydream飞花似梦
日期:2024年10月24日

安全见闻概述

内容涵盖:各种网络安全、网络技术。
学习态度:明白自己的渺小,知识的广博,保持平等心。很多分类组合有互相包含也属于正常情况,不是所有知识都能全部讲到,完整列出,但大家只要明白以下这些,以后遇到问题就能够举一反三。希望大家明白。

课程介绍

  • 课程名称:安全见闻
  • 目的:扩大见识面、知识面,让大家了解网络安全、网络技术领域的各种知识。
  • 重要性:不做井底之蛙,理解学习内容的本质,具备举一反三的能力。

编程语言

通用编程语言

  • C 语言:一种通用的、面向过程的编程语言,广泛应用于系统软件和嵌入式开发。
  • **C++**:在 C 语言基础上发展而来,支持面向对象编程,常用于游戏开发、高性能计算等领域。
  • Java:一种广泛使用的面向对象编程语言,具有跨平台性,应用于企业级应用开发等。
  • Python:简洁易学,拥有丰富的库,适用于数据分析、人工智能、Web 开发等。
  • JavaScript:主要用于网页前端开发,也可用于服务器端开发 (Node.js)。
  • **C#**:由微软开发,主要用于 Windows 平台上的应用开发。
  • Ruby:一种简洁而富有表现力的编程语言,常用于 Web 开发。
  • PHP:主要用于 Web 开发,尤其适合服务器端脚本编程。
  • Go:一种高效、简洁的编程语言,适用于网络编程和云计算等领域。
  • Swift:苹果公司开发的编程语言,用于 iOS 和 macOS 应用开发。
  • Kotlin:可与 Java 互操作,主要用于 Android 开发。

函数式编程语言

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

数据科学和机器学习领域

  • R:在统计分析和数据可视化方面应用广泛。
  • Julia:设计用于高性能科学计算和数据分析。

Web 全栈开发

  • TypeScript:是 JavaScript 的超集,增加了静态类型检查等特性,提高了大型项目的开发效率。

移动开发

  • Objective-C:曾经是 iOS 开发的主要语言,现在逐渐被 Swift 取代。

嵌入式系统开发

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

其他

  • Pascal:曾经在教学和早期软件开发中有广泛应用。
  • Delphi(基于 Object Pascal):用于快速应用开发。
  • Scala:融合了面向对象编程和函数式编程的特点。
  • Elixir:基于 Erlang VM,适用于构建分布式并行应用程序。

编程语言的选择

选择依据:个人需求、项目需求。
示例

  • 渗透测试:推荐 Python,因为它简单易学,适合编写 POC、ESAB 等工具。
  • 前端开发:推荐 JavaScript,用于前端与后端的交互,检测 XSS 漏洞。
  • 白盒审计:推荐 PHP 和 Java,尤其是 PHP 更适合白盒审计。
  • 逆向分析:推荐 C/C++,适合系统底层逻辑分析。

软件程序

Web 程序:网站开发。
二进制程序:逆向分析。
驱动程序:操作系统与硬件交互,Windows 中以 .sys 文件形式存在。
上位机:暂不讨论,后续讲解。
脚本程序:Lua、PHP、Java 等。
操作系统:如 Windows、macOS、iOS、Linux,是大型软件,但本质上也是软件程序。不要觉得操作系统就很厉害很神秘,它确实技术含量高,但也只是个软件。
裸板程序:直接在硬件上编写代码,没有操作系统概念。例如,在 STM32 上写一段代码,或者在单片机上写一个代码,这就是裸板程序。裸板程序没有操作系统的概念,也没有进程这种概念,所以有些东西需要我们自己去模拟才行。有操作系统就特别方便,裸板程序也是软件程序的一种,它就是一个代码组成的。

机器学习

常用语言:Python、Go 等。
基本原理:人工神经网络,多层结构,输入层、隐藏层、输出层。

  • 神经元:接收多个输入信号,进行加权求和,通过激活函数处理输出。典型的神经元接收来自其他神经元或输入层的数据,每个输入都有一个对应的权重。假设输入为 ( x_1, x_2, \ldots, x_n ),对应的权重为 ( w_1, w_2, \ldots, w_n ),则神经元的加权输入总和为 ( \Sigma(w_i \cdot x_i) ),其中 ( \Sigma ) 表示求和符号。然后,通过激活函数 ( f(\Sigma(w_i \cdot x_i)) ) 得到神经元的输出。
  • 深度神经网络:深度学习中的神经网络通常由多个层次组成,包括输入层、隐藏层和输出层。输入层接收原始数据,隐藏层对数据进行多层次的特征提取和变换,输出层产生最终的预测结果。在图像识别任务中,输入层接收图像的像素值,隐藏层逐步提取图像的边缘、纹理、形状等特征,最后输出层给出图像所属的类别。

网络通讯

网络类型

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

网络协议

  • TCP/IP 协议:是互联网的基础协议,包括传输控制协议(TCP)和网际协议(IP)。TCP 负责数据的可靠传输,IP 负责数据的路由和寻址。
  • HTTP 协议:超文本传输协议,用于在 Web 浏览器和 Web 服务器之间传输超文本数据,如网页、图片、视频等。
  • FTP 协议:文件传输协议,用于在计算机之间传输文件。
  • SMTP/POP3/IMAP 协议:用于电子邮件的发送和接收。

网络设备

  • 中央处理器(CPU):计算机的核心部件,负责执行指令和处理数据。它的性能决定了计算机的运行速度。
  • 内存:用于存储正在运行的程序和数据,它的容量和速度对计算机的性能有很大影响。
  • 硬盘:用于长期存储数据,包括操作系统、应用程序、文件等。硬盘的容量和读写速度也是影响计算机性能的重要因素。
  • 显卡:用于处理图形和图像数据,它的性能决定了计算机的图形处理能力。对于游戏玩家和图形设计师来说,显卡的性能非常重要。
  • 主板:是计算机的核心电路板,连接着各种硬件设备,如 CPU、内存、硬盘、显卡等。主板的质量和性能对计算机的稳定性和扩展性有很大的影响。
  • 网络服务服务器:提供网络服务,如文件存储、电子邮件、Web 服务等。网络服务器通常具有较高的性能和可靠性,以满足大量用户的需求。
  • 网络存储设备:用于存储网络中的数据,如网络附加存储(NAS)和存储区域网络(SAN)。它们提供了大容量、高可靠性的数据存储解决方案。
  • 网络打印机:可以通过网络连接被多台计算机共享,方便用户打印文件。
  • 网络摄像头:可以通过网络将视频信号传输到其他设备上。
  • 移动设备摄像头:用于视频监控和远程会议等应用。它可以将视频信号通过网络传输到其他设备上。
  • 智能手机:集成了多种功能,如通信、拍照、娱乐、办公等。智能手机的硬件包括处理器、内存、存储、屏幕、摄像头等。
  • 平板电脑:类似于智能手机,但屏幕更大,适合阅读、浏览网页、观看视频等。平板电脑的硬件也包括处理器、内存、存储、屏幕、摄像头等。
  • 可穿戴设备:如智能手表、智能手环等,它们可以监测用户的健康数据、运动数据等,并与智能手机等设备进行连接和交互。可穿戴设备的硬件包括传感器、处理器、内存、存储、屏幕等。

硬件发展趋势

  • 小型化:硬件设备越来越小型化,便于携带和使用。例如,智能手机、平板电脑等移动设备的体积越来越小,性能却越来越强。
  • 高性能:随着技术的不断进步,硬件设备的性能不断提高。例如,CPU 的处理速度越来越快,内存和存储的容量越来越大,显卡的图形处理能力也越来越强。
  • 智能化:硬件设备越来越智能化,能够自动适应不同的环境和用户需求。例如,智能手机可以根据用户的使用习惯自动调整屏幕亮度、音量等设置。
  • 互联化:硬件设备之间的互联互通越来越紧密,形成了一个庞大的物联网。例如,智能家居设备可以通过网络连接实现自动化控制,智能汽车可以与其他车辆和交通设施进行通信。

网络安全

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

深度学习

  • 神经网络基础

    • 神经元:接收多个输入信号,进行加权求和,通过激活函数处理输出。- 输入层:接收原始数据。- 隐藏层:提取特征。- 输出层:产生最终预测结果。
  • 深度神经网络:多层结构,逐步提取特征,最终给出预测结果。

总结

  • 学习态度:保持平等心,持续学习,理解知识的本质。
  • 知识面:了解各种编程语言和软件程序,理解它们的应用场景和局限性。
  • 实践应用:通过实际项目和案例,加深对知识的理解和应用能力。

本文转载自: https://blog.csdn.net/Yimuzhizi/article/details/143221774
版权归原作者 Yimuzhizi 所有, 如有侵权,请联系我们删除。

“安全见闻(一)”的评论:

还没有评论