dlz0836
这个作者很懒,什么都没留下…
展开
-
SSH 核心原理深度解析
理解这些原理后,再结合源码中的。等模块,可快速定位功能实现。原创 2025-03-29 16:21:55 · 31 阅读 · 0 评论 -
SSH 协议的核心原理和对应 OpenSSH 源码模块的对照说明
以下是 SSH 协议的核心原理和对应 OpenSSH 源码模块的对照说明。理解这些概念后,阅读代码时会更容易定位关键逻辑。原创 2025-03-29 16:17:59 · 21 阅读 · 0 评论 -
文件内容参考(适配 OpenSSH 9.0p1):OpenSSH 9.0p1 完全卸载与编译安装保姆级指南
ExecStart=xxx/xxx/xxx/xxx #特别注意:自定义路径需匹配。直接 sudo vim /usr/lib/systemd/system/sshd.service。:Ubuntu/Debian 系统,需 root 权限或 sudo 权限。#保存退出的时候不行 会报这个错。在用户可写入的临时路径生成。出现这个标准配置ok。发现有多处 选那个?原创 2025-03-29 15:07:49 · 54 阅读 · 0 评论 -
代码移植 libssh2,通常步骤:
代码中的一个 SSH 代理示例,展示了如何建立 SSH 连接、认证等流程。编译并测试,确保 SSH 连接、认证、命令执行功能正常。编写 SSH 客户端,处理认证、命令执行等逻辑。如果你的移植目标是一个嵌入式系统,可能需要调整。目录包含头文件,确保你的代码能正确包含。的 socket 处理方式,如。的核心源代码,必须移植。的逻辑,修改代码,使用。目录中的测试代码,比如。相关代码也被正确编译。进行 SSH 登录。原创 2025-03-27 10:17:02 · 21 阅读 · 0 评论 -
深入解析 YANG 中 container 和 list 的作用和区别
是最常用的结构化数据建模工具,它们用于组织数据层次,使得 YANG 数据模型更清晰、易于管理,并且可以通过 NETCONF 进行有效的数据交互。里面的元素可以重复出现,每个元素都是一个结构化的数据块)。,比如端口列表、设备接口列表、用户列表等。是一个列表,每个端口的流量统计是一个。只是一个数据容器,不会有多个实例。,所以可以有多个端口的统计数据。不是列表,不需要唯一标识)。是一个列表,里面的每个用户。只会出现一次,不会重复。在 YANG 语言中,,可以有多个用户实例。,使数据结构更清晰。原创 2025-03-19 20:20:12 · 24 阅读 · 0 评论 -
semTake 函数详解(VxWorks API)
如果该信号量可用,则立即获得;配合使用,确保正确管理信号量的状态。,如果不可用,可以等待或超时返回。来代替 VxWorks 的。原创 2025-03-17 10:57:11 · 39 阅读 · 0 评论 -
Linux 环境下,类似VxWorks 的互斥信号量机制
环境下,很多 VxWorks 迁移过来的代码仍然会使用类似的互斥信号量机制。不过,Linux 本身不直接提供。VxWorks 互斥信号量 (,在 Linux 中可以用。提供的 API,但在。),虽然它不完全等同于。原创 2025-03-17 10:46:44 · 27 阅读 · 0 评论 -
semMCreate() 函数原型详解
是 VxWorks 实时操作系统 (RTOS) 提供的。选项,防止低优先级任务持有锁而高优先级任务被阻塞的问题。:持有信号量的任务不能在持有状态下再次。,否则会导致其他任务永久阻塞。,用于任务间同步和资源保护。原创 2025-03-17 10:41:33 · 30 阅读 · 0 评论 -
vfprintf 函数详解
是 C 语言标准库中的一个格式化输出函数,属于。这个函数在日志系统中非常有用,像。、调试日志都可能会用到它!以格式化的方式输出数据。原创 2025-03-13 10:23:34 · 27 阅读 · 0 评论 -
详解pthread_rwlock_t
而有所不同,以下是 GNU Libc(glibc)的一种实现方式(摘自。的实现,其他操作系统(如 FreeBSD、macOS)可能有所不同。,确保 Telemetry 数据的一致性。如果在超时时间内无法获取锁,则返回。,当前线程会被阻塞,直到锁可用。是 POSIX 线程库(,如果锁不可用,立即返回。会阻塞,直到写锁释放。原创 2025-03-13 10:18:30 · 40 阅读 · 0 评论 -
Dropbear 是什么?
适用于嵌入式系统和低资源环境。它与 OpenSSH 兼容,支持公钥认证、端口转发、SCP 传输等功能,但体积更小、运行效率更高,在 OpenWRT、树莓派等设备上广泛使用。,但占用更少的内存和 CPU 资源,因此常用于路由器、物联网设备(IoT)、单片机开发板、嵌入式 Linux 设备等。,适用于嵌入式系统和资源受限的环境。Dropbear 是一个。原创 2025-03-13 10:14:31 · 56 阅读 · 0 评论 -
开发WireShark插件(一)—— 编译WireShark源码
参考:网速够快。原创 2025-01-03 17:20:28 · 73 阅读 · 0 评论 -
SNMP-MIB-II
MIB-II 是网络设备管理的核心标准,提供了丰富的管理对象和信息,帮助网络管理员监控和配置设备。通过 SNMP 协议,MIB-II 提供了设备的健康状态、性能统计、网络流量、错误计数等信息,广泛应用于网络管理系统中。原创 2024-12-30 16:17:11 · 101 阅读 · 0 评论 -
工作笔记-select在工作中的实际应用
select函数在多路复用中非常有用,尤其是在处理多个连接、同时监视多个 I/O 操作时。它适用于 TCP 服务器、多文件监视、异步操作等场景。虽然它在高并发情况下可能效率不高(因为要遍历整个文件描述符集合),但对于中小规模应用,它提供了一种简单且有效的并发处理方式。原创 2024-12-03 11:28:09 · 865 阅读 · 0 评论 -
工作笔记-函数setsockopt
setsockopt是一个强大的函数,能够让你通过设置各种 socket 选项来控制 socket 的行为。调整缓冲区大小。设置超时参数。启用或禁用 TCP 特性(如 Nagle 算法)。控制 socket 是否允许广播或重用地址。原创 2024-12-01 21:52:30 · 399 阅读 · 0 评论 -
详解 ioctl
ioctl是一个功能强大的系统调用,它允许程序与设备驱动程序进行低级别的交互。它在网络编程、终端设备控制和硬件设备控制中广泛应用。虽然ioctl非常强大,但由于其接口不够直观和规范,因此需要小心使用。原创 2024-11-30 11:14:23 · 941 阅读 · 0 评论 -
笔记-实现一个简单的 ARP功能
ARP 协议用于将 IPv4 地址映射到物理地址(MAC 地址)。当一台设备需要发送数据到另一个设备时,它会通过 ARP 协议来解析目标设备的 MAC 地址。原创 2024-12-02 22:57:50 · 290 阅读 · 0 评论 -
商用arp代理代码实现
ARP 代理:ARP 代理会监听来自一个子网的 ARP 请求,且如果目标 IP 地址位于另一个子网,ARP 代理会伪造一个响应,告知请求方目标设备的 MAC 地址。ARP 缓存:代理设备需要维护一个 ARP 缓存,存储IP -> MAC映射关系,并且能够根据目标 IP 查询并返回对应的 MAC 地址。多线程与异步:ARP 代理需要高效处理多个 ARP 请求,使用多线程或异步 I/O方式提高性能。原创 2024-12-02 23:30:42 · 41 阅读 · 0 评论 -
小项目-添加命令控制开关 开启和关闭ARP代理功能
ARP 请求的监听与 ARP 响应的发送功能。支持通过命令行参数来启用或禁用 ARP 代理功能。使用Makefile进行项目构建,确保项目易于编译与管理。您可以根据需求进一步扩展功能,例如增加对多网段的支持、负载均衡、日志记录。原创 2024-12-02 23:57:32 · 82 阅读 · 0 评论 -
工作笔记-实现snmp的升级功能
1、设计并实现MIB文件。原创 2024-12-12 23:00:14 · 50 阅读 · 0 评论 -
商用的 ARP 实现
实现一个商用级的 ARP 项目不仅仅是基础的 ARP 请求和响应功能,还需要包括缓存管理、ARP 欺骗防护、ARP 代理、性能优化、安全性、日志记录等功能。商用 ARP 项目通常需要具备高性能的并发处理能力和一定的安全性保障,确保在复杂的网络环境中可靠地运行。原创 2024-12-02 23:27:35 · 55 阅读 · 0 评论 -
工作随笔-避免程序短时间内重复执行同一个任务
需求: 一个函数接口具有记录日志的功能,日志记录登录失败者的ip地址,但是这个接口在短时间内会多次被调用,会重复记录地址同一个地址,为了避免短时间内重复记录日志怎么解决?原创 2024-12-02 16:36:16 · 564 阅读 · 0 评论 -
实现一个基于 ARP 协议的客户端/服务器模型
要实现一个基于协议的模型,并使用为了实现,我们可以使用 pthread库来创建多个线程来并发处理多个任务,尤其是在服务器端,它可以同时处理多个客户端请求。客户端则会发送请求并异步接收响应。下面是基于语言实现的客户端/服务器示例,使用了和 pthread实现异步处理。ARP 服务器端的主要功能是接收 ARP 请求并响应 ARP 请求。我们将创建一个多线程服务器,允许它并发地接收多个客户端的 ARP 请求。原创 2024-12-02 23:16:03 · 34 阅读 · 0 评论 -
arp代理功能
ARP(Address Resolution Protocol,地址解析协议)是网络中用于将IP 地址映射为MAC 地址的协议。每当一个设备想要通过 Ethernet 网络与另一个设备通信时,它会使用 ARP 请求来查找目标设备的 MAC 地址。然而,在某些网络架构中,可能会出现一个设备充当 "代理" 的角色,用于响应 ARP 请求,以便为其他设备提供 IP 到 MAC 的映射。这就是ARP 代理的作用。ARP 代理。原创 2024-11-30 15:46:42 · 782 阅读 · 0 评论 -
深入理解NDP(三)
假设主机A已经向主机B发送了数据,如果一段时间内主机A没有收到主机B的确认,主机A就会发送一个新的。由于主机A已经知道了主机B的MAC地址,它可以通过链路层直接将数据包发送到。此外,如果主机A在一个新的IPv6网络中,或者它没有默认网关的配置,它会首先发送一个。,它们在同一个IPv6子网内,主机A想要知道主机B的MAC地址,以便进行数据通信。当主机A需要发送数据到主机B时,它首先需要知道主机B的。,广播到所有设备,所有设备都会看到这个消息,但只有。主机A收到主机B的NA响应后,它将更新自己的。原创 2024-12-02 14:37:51 · 700 阅读 · 0 评论 -
深入理解NDP(二)
NDP和ARP将独立工作,IPv6的NDP协议负责IPv6地址的解析和邻居发现,IPv4则继续使用ARP协议。这种方式使得IPv6的部署不会中断现有的IPv4网络,确保过渡期间的平稳运行。例如,当IPv4和IPv6共存时,NDP协议可以与IPv4的ARP协议共同工作,允许同时处理两种协议的地址解析任务。NUD的一个常见用途是,在设备失去连接后,能够及时检测到设备不再可达,并自动更新网络状态,减少不必要的通信。:NDP的多播机制使得网络中的所有设备只需要响应自己的IPv6地址相关的请求,避免了不必要的广播。原创 2024-12-02 14:30:52 · 711 阅读 · 0 评论 -
深入理解NDP(四)
当主机A加入网络时,它会向网络发送Router Solicitation报文,询问网络中的路由器是否存在以及相关配置。原创 2024-12-02 15:12:36 · 559 阅读 · 0 评论 -
深入理解NDP(一)
在IPv4中,ARP用于解析目标设备的MAC地址,而在IPv6中,NDP完成了相同的工作,并提供了更多的功能。是IPv6中一种替代ARP的协议,提供了设备发现、地址解析、路由器发现等多项功能。NDP协议提供了ARP协议在IPv4中的所有功能,同时扩展了其能力。的替代方案,它解决了许多在IPv4中ARP协议存在的问题。协议,它使用ICMPv6消息进行通信,提供了更多的功能和更好的安全性。消息,NDP为IPv6网络提供了高效且安全的邻居发现和地址解析机制。中用于设备发现、地址解析和邻居发现的协议,作为。原创 2024-12-02 14:27:45 · 716 阅读 · 0 评论 -
DNS (Domain Name System) - 域名系统
DNS(域名系统)是互联网中的一个关键系统,负责将人类易于记忆的域名(如DNS使得我们不需要记住一长串数字的IP地址,而只需使用简洁的域名即可访问网站或网络服务。原创 2024-11-30 10:53:39 · 1054 阅读 · 0 评论 -
HTTP 和 HTTPS 协议
(HyperText Transfer Protocol,超文本传输协议)是。原创 2024-11-30 10:48:04 · 30 阅读 · 0 评论 -
TCP协议
提供了可靠的、面向连接的数据传输服务,确保数据的顺序、完整性和正确传输,广泛应用于各种需要数据可靠传输的场景,如Web浏览、文件传输和电子邮件。原创 2024-11-30 10:41:19 · 26 阅读 · 0 评论 -
FTP (File Transfer Protocol) - 文件传输协议
FTP(文件传输协议)是一种用于在计算机网络中传输文件的协议。它基于客户端-服务器模型,允许用户在两台计算机之间交换文件。FTP通常用于在服务器和客户端之间传输大文件或批量文件,尤其在没有其他方式(如Web)直接传输文件时。FTP协议工作在应用层,基于TCP协议,它通常使用以下两个端口:FTP是一个 无状态的协议,即每个命令都是独立的,服务器不会保存客户端的状态信息,每次请求都需要客户端提供相应的命令。FTP有两种工作模式:主动模式(Active Mode)和被动模式(Passive Mode)。在主动模式原创 2024-11-30 10:50:20 · 106 阅读 · 0 评论 -
逐层分析七层OSI模型和四层TCP/IP模型的详细功能、协议及其工作原理。
TCP/IP模型与OSI模型有所不同,层次结构更简化,它专注于互联网的实际通信协议。以下是四层TCP/IP模型的详细解析。原创 2024-11-30 10:25:21 · 760 阅读 · 0 评论 -
UDP协议
是一种。原创 2024-11-30 10:35:53 · 151 阅读 · 0 评论 -
TCP/IP协议族
(互联网协议)。原创 2024-11-30 10:31:26 · 124 阅读 · 0 评论 -
深入理解ARP(三)
因此,计算机A发送到计算机B(另一个子网)的数据时,计算机会向路由器的IP地址发送数据包,但此时计算机A需要通过ARP获取路由器的MAC地址。ARP也会在多播网络中使用,尤其是在设备进行多播地址通信时,设备需要通过ARP协议来确定多播MAC地址与其对应的IP地址之间的映射。:ARP只工作在同一个局域网内,对于不同子网的设备,计算机A不能直接通过ARP获取远程设备的MAC地址。:在大型网络中,如果ARP缓存超时频繁或设备频繁更换IP地址,可能导致ARP请求和响应的频繁广播,进而导致网络拥堵和性能下降。原创 2024-11-30 14:32:49 · 935 阅读 · 0 评论 -
深入理解ARP(一)
ARP(地址解析协议)是一个简单却至关重要的协议,它使得设备能够通过IP地址找到目标设备的MAC地址,从而完成局域网内的通信。攻击者向网络中的设备发送虚假的ARP响应,将自己伪装成另一个设备,从而拦截、篡改或者伪装目标设备的流量。简单来说,ARP的作用就是帮助设备找到目标计算机在局域网中的物理地址(MAC地址),这样它才能发送数据包到正确的设备。例如,攻击者可以伪装成路由器的MAC地址,将自己的MAC地址替换成路由器的IP地址,使得局域网中的设备将数据错误地发送给攻击者,而不是路由器。原创 2024-11-30 14:27:02 · 518 阅读 · 0 评论 -
深入理解ARP(二)
ARP缓存并不是永远有效的,它会随着时间的推移而过期。操作系统会定期检查ARP缓存中的条目,并在超时后将其删除。具体的缓存时间取决于操作系统和配置,但通常缓存时间为几分钟到几小时不等。缓存过期后,如果设备再次需要访问该IP地址,它就需要重新进行ARP查询。ARP不仅用于设备之间的通信,还广泛应用于路由器和设备之间的通信。:设备在发送数据到其他子网时,会通过默认网关(通常是路由器)转发数据。设备需要使用ARP来获取默认网关的MAC地址。例如,假设设备A想向IP地址为10.0.0.2的主机发送数据,但。原创 2024-11-30 14:25:24 · 804 阅读 · 0 评论 -
SNMPv3 项目实例
通过上述方式,项目实现了SNMPv3 安全性复杂的 MIB 结构以及增强的日志和错误处理功能。这些增强功能使得 SNMP 系统能够更适应复杂的实际需求,保证数据安全性,并扩展了代理端的功能。可以根据具体需求继续扩展此框架,例如支持更多的认证协议或数据类型、改进日志系统等。原创 2024-11-28 10:36:34 · 801 阅读 · 0 评论 -
SNMPv2 项目示例
为了接收来自代理端的 Trap 消息,你需要在客户端或专用程序中设置 Trap 监听。Net-SNMP 提供了一个简单的 Trap 监听器。这个项目是一个基础的 SNMP 实现,可以根据需求进一步扩展,支持更多的 SNMP 功能,例如安全性、复杂的 MIB 结构等。客户端通过 SNMP 协议向代理发送请求并获取值。在 Windows 上,可以从。首先,确保你已经安装了。下载并安装相应的版本。原创 2024-11-28 10:30:02 · 951 阅读 · 0 评论