标签: #网络解析

C# SSH 自动化实战:ShellStream 交互式命令执行 + Expect 提示符等待

SSH.NET 的 RunCommand 每次都会新开 exec 通道,命令之间不共享上下文。本文基于真实网元运维代码,拆解 ShellStream 交互式命令执行的完整方案:CreateShellStream 创建伪终端、Expect 模式循环读流并等待提示符、两条正则清洗退格序列与 ANSI 颜色码,以及登录 banner 排干、logout 收尾等实战细节,并给出异步化与超时细分的演进方向。

C# IP 区间建模实战:IPAddress 字节序比较 + IComparable/IComparer/IEquatable 三接口实现网段排序

IPAddress 没有实现 IComparable,直接字符串排序会掉进字典序陷阱:10.0.0.10 反而排在 10.0.0.9 前面。本文以局数据系统中的 IPInterval / PortInterval 为例,完整实现字节序比较、CIDR 掩码求广播地址,以及 IComparable / IComparer / IEquatable 三个泛型接口的职责分工与 GetHashCode 一致性,让区间对象无缝接入 Sort、Distinct 与 O(n) 重合检测。

C# Telnet ORDP 直连客户端实战:多设备并发 + 协议清洗 + 回退机制

在电信行业网络运维中,Telnet 协议直连网元是一个非常实用但容易被忽视的技术方案。本文从 SwitchData 项目出发,完整拆解一套生产级 ORDP 直连架构:SemaphoreSlim 并发限流保护网关单点、VT100+NUL+命令回显三重协议清洗、IAsyncDisposable 异步资源管理、Try-Catch 整体回退第三方平台。附带 TelnetClient.ClearPendingText、ExpectedCommandPromptCount 多阶段提示符等多个实战踩坑经验。

从零实现 C# Telnet 协议客户端:IAC 协商 + 子协商 + 终端类型握手完整实战

本文从真实项目代码出发,带你从零实现一个完整的 C# Telnet 协议客户端。我们会拆开 Telnet 协议的每一个字节——IAC 转义、DO/DONT/WILL/WONT 协商、SB/SE 子协商、终端类型(VT100)握手、窗口大小声明——然后用一个有限状态机把它们串起来,最后用 SemaphoreSlim 保证异步读写的线程安全。完整代码来自生产环境,已稳定跑了一年多。

从零实现 C# Telnet 客户端:从 Socket 到 ORDP 网关的完整协议栈

Telnet 协议看似简单,实际涉及完整的状态机、自动协商、子协商、VT100 终端控制序列、NUL 空字符、UTF-8 跨包解码等一堆细节。本文基于 SwitchData 项目中从零实现的 TelnetClient + TelnetProtocolParser + OrdpClient 四层架构,逐层拆解实现原理,并附带华为/中兴设备实战踩坑总结。

从零实现 Telnet 协议客户端:完整的 C# 网络编程实战

本文基于 SwitchData 项目源码,从零实现一个完整的 Telnet 协议客户端。涵盖协议状态机设计、IAC/DO/DONT/WILL/WONT 四命令协商、子协商机制、业务数据与协议控制分离解析、粘包/半包处理、UTF-8 多字节跨包解码、IAC 转义等核心技术要点。