登录社区云,与社区用户共同成长
邀请您加入社区
本文从SSH协议原理出发,介绍了常见的安全漏洞,并提供了一个实用的SSH密码爆破脚本。通过该脚本,安全人员可以快速评估SSH服务的弱密码风险。同时,我们也强调了安全防御的重要性和合法合规的使用原则。网络安全是一场持续的攻防博弈,只有理解攻击手法,才能更好地进行防御。希望本文能帮助读者提升安全意识,共同构建更安全的网络环境。本文内容仅供技术交流,请勿用于非法用途。
包含 MAC 层、NWK 层、APS 层、ZDO 层等,封装了 ZigBee 无线通信的底层细节,向上提供统一的 API(如AF_DataRequest()数据发送、osal_start_timerEx()定时器、ZDO_STATE_CHANGE网络状态事件),让开发者无需关注底层通信,仅需开发应用层业务。控制指令掩码:节点号掩码(STO_MASK)、设备号掩码(DEV_MASK)、命令字掩码(C
在 Linux 开发中,线程是实现并发的核心工具 —— 它比进程更轻量化,能高效利用多核 CPU,还能共享进程资源减少开销。但你是否真正理解:线程和进程到底是什么关系?线程为什么能共享进程的地址空间?POSIX 线程库(pthread)的底层实现逻辑是什么?本文从底层原理到实战操作,层层拆解 Linux 线程的核心知识,既适合入门者夯实基础,也能帮开发者理清线程控制的关键细节,真正做到 “知其然且
本文深入解析了SystemV共享内存机制,作为Linux高效IPC方式之一,它允许多进程直接访问同一物理内存区域,避免了数据拷贝开销。文章从原理、API调用到实战代码演示了完整使用流程:通过ftok生成唯一key,shmget创建/获取共享内存,shmat挂载到进程地址空间,shmdt脱离映射,shmctl控制生命周期。重点指出了使用中的常见问题:内存泄漏需手动删除、多进程竞争需同步机制、key一
多设备开发是个常见场景:Windows 台式机跑深度学习训练和渲染,MacBook 写代码做设计,Linux 服务器运行数据库和后台服务。但设备一多,文件共享和服务互访就开始让人头疼。
是 Linux 内核中 PCB 的具体实现,是进程的 “完整档案”;核心作用是存储进程的 ID、状态、优先级、内存、资源等所有管理信息;Linux 内核通过链表管理所有进程,进程切换 / 调度都依赖它。
当用户通过Xshell等工具登录云服务器时,Linux系统会为用户创建一个会话(session)。每个会话会默认创建一个bash命令行解释器进程,它初始是前台进程,负责接收键盘输入、执行命令并返回结果。这个bash进程现在也就是前台进程,前台进程只能有一个,后台进程可以有很多个。
答案是不需要,因为在后面进程的使用libmyc.so这个动态库之后,它已经被加载到了内存里面,那么如果需要使用动态库的话,首先将自己的代码和数据加载到内存里面,然后将已经加载到内存里面的动态库通过页表映射到自己的地址空间里面.原因在于:动态库要在程序运行的时候,要找到动态库然后加载并运行,那么为什么会找不到动态库的路径呢,因为在编译的时候,告诉了gcc/g++编译器动态库的路径,但是并没有告诉操作
应用层的数据通过协议栈发到网络上时,每层协议都会给上层传来的数据,加上一个自己协议的报头,这个自上而下层层加报头的过程,就叫做封装。举个例子:应用层要发送一段数据,会先交给传输层,传输层加上 TCP/UDP 报头,再交给网络层,网络层加上 IP 报头,再交给数据链路层,数据链路层加上以太网帧头和帧尾,最终封装成一个完整的以太网帧,发送到物理传输介质上。
简单来说,文件系统是一种用于在存储设备(如硬盘、SSD、U盘)上组织和管理数据的“方法”或“数据结构”。它负责:将数据分割成块并记录它们的位置维护文件名、目录结构和元数据(权限、时间戳等)提供访问接口,供用户和应用程序读写文件Linux 支持数十种文件系统,从传统的 ext2/ext3/ext4 到现代化的 XFS、Btrfs、ZFS,甚至支持 Windows 的 NTFS 和网络文件系统 NFS
装 ubuntu 折腾了好几下,现在终于把系统能稳妥了。回头再来记一下,给看到想弄龙虾的同学提个醒,对应工作先做到前面,免得遇到问题解决不了,还没入门就出门了。
本文详细介绍了在OpenClaw平台接入QQBot的全过程,包括QQ开放平台账号注册、机器人创建、插件安装配置等步骤。文档提供了多场景支持、富媒体消息、定时推送等功能的说明,并针对常见安装问题给出了解决方案。同时包含配置文件管理建议、安全提示和调试技巧,最后附有常见问题解答和参考资源。适用于需要将QQBot集成到OpenClaw平台的开发者参考使用。
Linux网络负载均衡
想要学会ARP协议及ICMP协议和内网穿透?看这一篇文章就够了,万字硬核详解!
我们以一个例子来描述这个事情——网络计算器我们需要实现一个服务器版的加法器。我们需要客户端把要计算的两个加数发过去, 然后由服务器进行计算, 最后再把结果返回给客户端。约定方案一客户端发送一个形如"1+2"的字符串;这个字符串中有两个操作数, 都是整型;两个数字之间会有一个字符是运算符, 运算符只能是 +;数字和运算符之间没有空格;......约定方案二:定义结构体来表示我们需要交互的信息;
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇,只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。
--.---.---.1 代表路由器或解调器的默认网关和管理后台入口,---.---.---.255带包该网络的广播地址 ,---.---.---.0指代网络本身。粘包问题:由于TCP是一种面向字节流的、无消息边界的传输协议,应用程序下一次读取时,就可能一次性读到多个数据包的内容,造成粘包。UDP 是无连接、面向报文的广播式传输协议,它适用于实时性要求高于数据可靠性的场景,能够容忍少量的数据丢失。
前面我们已经学习了用UDP进行网络编程。接下来我们就来学习利用另一个重要网络协议——TCP,来进行网络项目编程相关代码已经上传至作者的个人gitee:楼田莉子/Linux学习喜欢请关注目录套接字地址结构体sockaddr_in 结构体in_addr 结构体TCP相关的接口socket()bind()listen()accept()connect()send()
本文介绍了在Ubuntu 22.04 LTS系统上配置环境信息系统OpenClaw的完整流程。主要内容包括:1)安装系统依赖,如Node.js LTS版本和npm淘宝镜像配置;2)通过官方脚本安装OpenClaw并完成交互式配置;3)详细说明如何在WebUI中配置CodingPlan专属API Key,提供完整的JSON配置模板;4)介绍OpenClaw的两种使用方式(WebUI和TUI)。该指南
本次实验基于 I.MX6ULL 开发板,通过自旋锁实现了 LED 设备的互斥访问,完成了并发与竞争保护机制从原子操作到自旋锁的进阶实践。
想要学会网络层?看这篇文章就够了!万字硬核解析网络层核心
ARM Linux 驱动开发篇--- Linux 并发与竞争全解析(原子操作/自旋锁/信号量/互斥体)--- Ubuntu20.04
LVS是构建高性能Linux服务器集群的强大工具。在生产环境中,DR模式因其卓越的性能而应用最广,但其配置也相对复杂,关键在于ARP抑制。NAT模式配置简单,适合小型或对性能要求不高的场景。掌握ipvsadm命令和四种模式的原理,是灵活运用LVS的基础。
本文详细介绍了基于Kubernetes的微服务项目部署实践。主要内容包括:1)微服务架构与传统单体架构的对比分析;2)RuoYi-Cloud微服务项目核心组件(Nacos注册中心、Sentinel流量控制、Skywalking链路追踪等)的部署方案;3)数据库层(MySQL、Redis)的容器化部署;4)各微服务模块(认证中心、网关、监控中心等)的镜像构建与K8s部署过程;5)前端UI框架的配置与
ARM Linux 驱动开发篇---GPIO子系统详解-- Ubuntu20.04
root@nginx ~]# echo "抱歉,你要访问的页面辞职了" > /usr/local/nginx/errorpage/errormessages。
本文深入解析HTTP协议核心内容,包括方法、状态码和Header。重点对比了GET和POST方法:GET参数在URL中,长度受限但可缓存;POST参数在Body中,适合提交大量数据。其他方法如HEAD(获取响应头)、PUT(更新资源)、DELETE(删除资源)和OPTIONS(查询支持方法)也有详细说明。文章还涉及HTTP状态码分类(如200成功、404未找到)及常见Header字段的作用。通过实
本文介绍了一个基于UDP协议的简易群聊程序实现。系统采用C++开发,服务端负责接收消息并转发给所有客户端,客户端通过双线程实现消息发送与接收。关键点包括:1) 服务端使用socket/bind/recvfrom/sendto等系统调用;2) 客户端不绑定固定端口避免冲突;3) 通过IP+端口唯一标识客户端。文章还深入分析了UDP特性,如无连接、报文传输、端口分配机制等,并对比了TCP与UDP的差异
那么下面我们就来介绍一下:什么是分片?分片简单来讲就是将原IP报文的有效载荷分为多个部分,并且这里我们就要输出第二个结论:分片不是简单的对IP报文进行分片,而是要对每一片都添加IP报头。
本文详细介绍了HTTP服务器的实现过程,从理论基础到实践落地。主要内容包括:1)Web根目录的概念与路径映射规则,强调安全性防范路径穿越攻击;2)文件读取与MIME类型判断,提供代码实现示例;3)HTTP请求解析的结构体定义。通过循序渐进的方式,从静态资源服务到动态请求处理,构建了一个完整的HTTP服务器实现方案,帮助开发者深入掌握HTTP协议核心原理与实现细节。文章包含大量代码示例和关键点说明,
在 Linux 中,进程是资源分配的基本单位,彼此独立且拥有各自的地址空间 —— 这意味着进程间无法直接访问对方的数据。但实际开发中,进程间协作无处不在:比如终端中who | wc -l的管道通信、服务器进程与客户端进程的数据交互、多进程共享配置文件等。这就需要进程间通信(IPC,Inter-Process Communication) 机制打破隔离,实现数据传输、资源共享和事件通知。
本文深入解析Linux动态库(.so)的加载与调用机制。首先介绍了进程虚拟地址空间的基础概念,说明动态库通过mmap映射到共享库区实现多进程共享。其次详细讲解了动态链接的核心技术:位置无关代码(PIC)确保库可加载到任意地址,全局偏移表(GOT)和过程链接表(PLT)实现延迟绑定函数地址。文章还提供了动态库查找路径配置方案,对比了动静态链接的优缺点及适用场景,并通过实战演示验证了相关原理。最后总结
ARM Linux 驱动开发篇----Linux驱动开发与裸机开发的区别---- Ubuntu20.04
本文深入探讨了Qt与Linux Socket的跨平台通信技术,从历史演进、设计哲学到核心实现展开对比分析。Qt网络栈通过七层抽象提供优雅的跨平台解决方案,而Linux Socket则展现底层控制力与性能优化。实战部分详细展示了Qt客户端的三重进阶实现(基础连接、数据交换、高级特性)和Linux服务端的四维优化(并发模型、零拷贝、内存池、协议加速)。最后探讨混合协议架构,为开发者提供不同场景下的技术
在 Linux 开发中,“库” 是绕不开的核心概念 —— 它是封装好的可复用代码,让开发者无需从零实现基础功能,大幅提升开发效率。但你是否好奇:静态库(.a)和动态库(.so)有何区别?动态库为什么会出现 “找不到” 的报错?可执行程序是如何加载库并运行的?ELF 文件又藏着怎样的底层秘密?
摘要:本文深入解析Linux系统中sudo命令的使用技巧,涵盖基础用法、配置文件编辑、安全机制和高级技巧。从/etc/sudoers文件配置到环境变量控制,详细介绍了如何安全高效地使用sudo执行特权命令。文章还提供了常见问题解决方案和最佳安全实践建议,帮助用户掌握最小权限原则,确保系统安全稳定运行。无论是日常管理还是复杂脚本编写,都能通过本文介绍的技巧提升工作效率。(149字)
ARM Linux 驱动开发篇----字符设备驱动开发(1)--字符设备驱动简介---- Ubuntu20.04