
网络编程
文章平均质量分 82
网络编程
Dontla
这个作者很懒,什么都没留下…
展开
-
Modbus RTU ---> Modbus TCP透传技术实现(Modbus透传、RS485透传、RTU透传)分站代码实现、协议转换器
透传技术是将Modbus RTU数据封装到Modbus TCP报文中进行传输的桥梁技术,使传统的串行设备能够接入以太网环境,实现远距离通信和更灵活的网络拓扑。统一标识符法ERR_CRC_FAILED, // CRC校验失败ERR_FRAME_TIMEOUT, // 帧接收超时ERR_BUFFER_OVERFLOW, // 缓冲区溢出ERR_TCP_DISCONNECTED, // TCP连接断开ERR_INVALID_RESPONSE, // 无效响应。原创 2025-03-25 16:03:04 · 1129 阅读 · 0 评论 -
有时序协议与无时序协议区别(以RTU协议和TCP协议为例)RTU协议规定了严格时序要求:两个数据帧之间间隔时间必须在特定的范围内
在理解RTU(Remote Terminal Unit)通信和TCP(Transmission Control Protocol)之间的时序要求时,我们需要考虑它们的应用场景和设计目的。总结来说,RTU通信的时序要求是为了满足工业控制的实时性和准确性,而TCP则关注数据的可靠传输和顺序性,而不强调时序。原创 2025-03-25 15:48:13 · 873 阅读 · 0 评论 -
HTTP非流式请求 vs HTTP流式请求
【代码】HTTP非流式请求 vs HTTP流式请求。原创 2025-02-26 14:23:15 · 741 阅读 · 0 评论 -
Apifox中的Endpoint(端点)和Request(请求)有什么区别?(一个是资源路径,一个是对资源路径的操作方法)
通过这种结构,可以清晰管理同一资源的多种操作。在Apifox中,**Request(请求)原创 2025-02-26 14:02:12 · 707 阅读 · 0 评论 -
Bearer:一种认证机制,用于传递访问令牌;http接口请求报错:Authentication Fails (auth header format should be Bearer sk-...)
通过标准化方式传递访问令牌,简化了身份验证流程,并广泛应用于现代Web服务中。原创 2025-02-26 13:24:01 · 856 阅读 · 0 评论 -
RSS介绍与技术原理、Really Simple Syndication(简易信息聚合)、Rich Site Summary(富网站摘要)(一种基于 XML 格式的互联网内容订阅协议)
RSS 是(简易信息聚合)或(富网站摘要)的简称,是一种基于 XML 格式的互联网内容订阅协议。用户可通过 RSS 订阅网站更新的标题、摘要或全文,聚合到统一阅读器中查看,而无需逐个访问原网站。原创 2025-02-26 11:09:08 · 893 阅读 · 0 评论 -
为什么大多数家庭或小型办公室路由器默认只支持一个子网?(单一子网配置)
公司的路由器准备将动态ip自动分配范围划分到192.168.1.200-250,固定ip范围为1-199,有点奇怪,为什么不各划分一个网段,是路由器不支持吗?可能是大多数家庭用路由器默认只支持一个子网。原创 2024-12-26 08:00:00 · 822 阅读 · 0 评论 -
socket通信和rs485通信区别(网络通信和串口通信区别)(消息边界和终止符:如何判断接收完成)
try:break# 假设我们期待以"\n"作为消息的结束符# 处理消息breakfinally:# 设置服务器Socket。原创 2024-09-25 16:35:12 · 1376 阅读 · 0 评论 -
rs485自定义协议解释(RS485 是一个多点通信网络,支持多个设备在同一总线上。任何发送的消息都会被总线上所有设备接收,前提是这些设备都处于监听状态)(接收所有消息)
如果你正在使用自定义协议,且在协议设计中没有包括设备地址的概念,那么确实,主设备发送的任何消息在物理层面上可以被所有连接在同一 RS485 总线上的从设备接收到。从设备能否并如何处理这些消息完全取决于你的协议设计和从设备的固件逻辑。原创 2024-09-04 14:21:28 · 1096 阅读 · 0 评论 -
http返回体自定义错误码(返回json body中的自定义code、message、details字段,注意与http状态码区分)(谷歌http标准、谷歌api错误响应结构)状态码与错误码
在HTTP返回的JSON中自定义错误码是一种常见的做法,这可以让你更精确地处理特定类型的错误。通常,这样的JSON对象会包含一些字段来描述错误,例如codemessage,和details。这里的code字段表示错误码,message字段提供了一个简单的错误描述,而details字段则给出了更详细的信息。大公司的处理方式各有不同,但都有一些共同的模式。"error": {],在上述例子中,code字段表示HTTP状态码,而message字段则包含了关于错误的总体描述。在errors。原创 2024-07-22 15:47:14 · 806 阅读 · 0 评论 -
CRC校验(循环冗余校验 Cyclic Redundancy Check)(以Modbus通信为例)(注意:CRC16先发低位再发高位)
循环冗余校验(Cyclic Redundancy Check,CRC)是一种在数据通讯领域广泛使用的技术,用于检测数据传输或存储过程中的错误。在工业通信协议中,特别是Modbus协议中,CRC校验起到了非常关键的作用,它保证了数据从一个设备传输到另一个设备时的完整性和准确性。原创 2024-05-27 11:17:48 · 2924 阅读 · 0 评论 -
Modbus TCP协议介绍(ModbusTCP)(弃用!)
(串行线路).Modbus最初由Modicon在1979年开发,是一种为工业设备设计的通过串行线进行通信的通信协议。With the advent(出现) of Ethernet and TCP/IP, the protocol was extended to operate over these networks as Modbus TCP, making it more relevant(相关的) in the context of modern industrial systems.原创 2024-03-25 17:25:48 · 3664 阅读 · 0 评论 -
服务器多网卡固定ip不能设置同网段(除非做高级配置绑定bonding、聚合teaming)(动态ip的情况也类似,不同网口之间网络不能有重叠)(NICs多网卡服务器网络冲突、网络重叠、ip冲突)
服务器不同网口不能设置同网段ip吗?在一台服务器上,不同的网络接口通常应该设置为不同的网段。原因如下:路由冲突:如果两个接口位于同一网段,系统可能会混淆要通过哪个接口发送数据包。这可以导致不可预测的行为和性能问题。逻辑清晰:每个接口在不同的网段中,可以使网络配置更加清晰,易于管理和理解。安全性:将不同的接口放在不同的网段可以增加安全性。例如,你可能希望将公共流量(例如Web服务器流量)和私有流量(例如数据库服务器流量)分隔到不同的网络中。原创 2024-03-12 18:08:31 · 2681 阅读 · 1 评论 -
VoIP(Voice over Internet Protocol 基于IP的语音传输)介绍(网络电话、ip电话)
VoIP是一种革命性的技术,它改变了我们的通信方式,并为个人和企业带来了诸多好处。尽管存在一些挑战,但随着技术的发展,我们有理由相信,VoIP将会越来越普及,并在未来继续发挥重要作用。原创 2024-02-23 22:02:38 · 4612 阅读 · 4 评论 -
Windows防火墙:“Windows允许应用或功能通过Windows Defender防火墙”与“入站规则、出站规则”优先级(注意:“出站规则”限制对象是“目标端口”而非“源端口”)明确拒绝优先原则
入站规则控制外部源向您的计算机发送的数据包。它们决定了哪些服务或应用可以接收来自网络的连接请求。原创 2024-02-17 01:09:53 · 5240 阅读 · 0 评论 -
C/C++ Socket套接字设置接收超时方法(设置非阻塞、超时时间)(fcntl、select、setsockopt)
setsockopt函数用于设置指定的Socket选项。sockfd是要设置的Socket的文件描述符;level指定选项所在的协议层;optname是需要设置的选项的名称;optval指向包含新选项值的缓冲区;optlen是optval缓冲区的大小。使用setsockopt函数设置选项是一种直接且有效的方法来设置Socket接收超时。这种方法的优点是简单直观,只需要一行代码就可以完成设置。然而,它的缺点是灵活性较差,因为它只能设置一个固定的超时时间,而不能动态地根据网络状况调整超时时间。原创 2024-01-18 09:00:00 · 4981 阅读 · 0 评论 -
黑马程序员 计算机网络(笔记)
交换机还可以减小碰撞域。:交换机拥有一个MAC地址表,这个表记录了每个接入交换机的设备的MAC地址与交换机端口之间的对应关系。由于每个端口都相当于是独立的,并且数据处理是并行进行的,所以交换机可以同时为多对设备提供独享的通信路径。:交换机具有存储转发功能,它会接收到数据帧后先进行缓存,然后查看数据帧的目的MAC地址,并通过内部的MAC地址表确定应该将数据帧发送到哪个端口。正是由于以上的特性,交换机能够有效地管理网络流量,确保数据准确无误地传送到正确的目的地,同时为每对通信的设备提供了独享的电信号通路。原创 2023-11-19 23:56:55 · 1922 阅读 · 2 评论 -
Linux traceroute命令原理及使用方法(显示数据包在到达指定目的地的过程中所经过的路径和每一跳的延迟)(跟踪路由跟踪)windows tracert命令(功能类似)
有时候,即使traceroute完成了,最后一跳也可能不显示目标主机。这可能是因为目标主机的防火墙设置阻止了 ICMP 或 UDP 响应。原创 2023-11-19 18:11:24 · 8372 阅读 · 0 评论 -
Modbus RTU 使用教程(modbus教程、modbus协议)(寄存器类型、功能码)
Modbus RTU是一种基于串行通信的协议,用于连接电子设备。最初由Modicon公司在1979年为其PLC(可编程逻辑控制器)开发,现已成为工业领域的一个事实标准。这些功能码是实现Modbus RTU或TCP协议数据交换的基础,了解每个功能码的具体作用对于理解和使用Modbus协议至关重要。在应用程序或设备固件中实现Modbus时,通常会根据实际需要选择支持哪些功能码。通过遵循这些指导原则,可以有效地分配和管理Modbus RTU网络中的设备地址,确保通信的可靠性和系统的稳定性。原创 2023-11-17 16:29:38 · 28413 阅读 · 1 评论 -
为什么串行通信中停止位(停止bit、stop bit)通常使用高电平?串行通信中通常先发低位(LSB first)还是先发高位(MSB first)?
在任何形式的数据通信中,都需要一个可靠的方法来标识信息的开始和结束。这种标识使得接收设备可以正确地同步和解析接收到的数据流1。在串行通信中,一个完整的数据单元包括起始位、数据位、可选的奇偶校验位和停止位。停止位在数据帧的最后,它的主要功能是为了给接收端提供恢复时间,以便它可以准备好处理下一个字节2。图1. 串行通信帧结构3总的来说,选择高电平作为停止位的原因主要是基于硬件的限制和对系统稳定性的考虑。这个设计选择展示了工程师如何权衡各种因素,以提高系统的性能和可靠性。原创 2023-11-15 13:40:09 · 2982 阅读 · 0 评论 -
时分复用(Time Division Multiplexing, TDM)介绍(同步时分复用、异步时分复用(统计时分复用))
时分复用 (Time Division Multiplexing, TDM) 是一种将多个数据流在同一个通信介质上同时进行传输的方法,其基本原理是通过时间轴的切割,使得每个数据流在一定时间内占据所有的传输资源。参考文章:时分多路复用原理动画时分复用是在时间轴上将输入信号序列分配给输出信号的一种技术。这种技术将时间分为若干小段,每个时间段分配给一个输入信号。输入信号在其分配的时间段内有权使用全部的带宽资源。以上就是关于时分复用技术的一些基本原理和应用。原创 2023-11-15 11:24:42 · 22287 阅读 · 0 评论 -
ubuntu /etc/resolv.conf(定义域名解析服务:指定系统使用的DNS服务器地址和搜索域)(Temporary failure in name resolution)
在深入探讨文件之前,首先需要了解DNS的基本概念。DNS是一种分布式数据库,负责将用户友好的域名转换为机器可读的IP地址。例如,当输入时,DNS服务器会将其解析为对应的IP地址,如。文件负责指定系统使用的DNS服务器地址和搜索域。它包含了DNS解析过程中的第一站——指向负责解析域名的服务器。文件是Linux网络配置中的重要组成部分,对于系统管理员来说,了解其内容和管理方法至关重要。随着技术的发展,虽然很多现代系统采取了动态管理DNS配置的方法,但理解传统的文件配置仍然有助于排除网络问题,保障系统稳定运行。原创 2023-11-14 18:01:49 · 4512 阅读 · 0 评论 -
windows网络共享网络(Internet连接共享)(ICS:Internet Connection Sharing)让某台主机共享笔记本网络(或笔记本手机热点)实现上网(网线直连笔记本)ics共享
通过以上步骤,可以使用Windows系统的网络共享功能,轻松地将笔记本电脑变成一个临时的网络接入点,让其他设备通过有线或无线的方式共享笔记本的网络连接。尽管网络共享是一个非常实用的功能,但它也可能带来安全风险,所以请确保在使用时采取适当的安全措施。原创 2023-11-14 17:39:59 · 42418 阅读 · 9 评论 -
CentOS7、CentOS8 如何修改ip信息(修改网络信息)(无图形界面)(亲测可用)
在 CentOS 系统中,如果你没有图形界面,那么你将需要使用命令行来修改 IP 地址。(Network Manager Command Line Interface)或者直接编辑网络配置文件的方式来修改 IP 地址。操作方法与 CentOS 7 类似,只是配置文件路径可能略有不同。等占位符为你实际的网络接口名称和你希望设置的网络参数。(这里的 ens33 取决于你的网络接口名称)。更新配置文件内容,与 CentOS 7 类似。找到你的网络接口配置文件,通常位于。找到你的网络配置文件,通常位于。原创 2023-11-12 22:40:42 · 7282 阅读 · 0 评论 -
Linux gpg命令(gpg指令、gpg加密工具)(GNU Privacy Guard、GnuPG)文件压缩加密、文件加密、文件解密、文件压缩密码、解压密码、GPG密钥、数字签名、非对称加密
也会弹出消息提示输入passphrase,然后有两种解决办法,一种是把密码写在文件里,执行命令时去读,另一种是使用管道,用echo命令将密码传给gpg命令,我们使用第二种方法。同样的,虽然这种方法可以实现在命令行中直接输入密码,但请注意这并不安全,特别是在多用户的环境中,因为其他用户可能可以查看到正在运行的进程和它们的命令行参数。综合来看,这个命令的执行流程是:首先输出密码,然后通过管道将该密码作为GPG命令的输入,GPG命令根据提供的参数进行对称加密,最终生成加密后的文件。原创 2023-11-10 16:23:51 · 8769 阅读 · 3 评论 -
公钥指纹原理与应用(公钥加密)(SSH连接 信任第一次接触 Trust On First Use,TOFU)(HTTPS证书)碰撞攻击、预映像攻击、SHA-256
公钥指纹是网络安全的重要组成部分,它可以有效地验证公钥的完整性和身份。然而,也需要注意防止碰撞攻击和预映像攻击,以提高其安全性。原创 2023-11-08 17:25:26 · 1210 阅读 · 0 评论 -
数字摘要的概念和应用(文件完整性检查、密码存储、消息认证码)(哈希函数、哈希算法)(将任意长度的消息变成固定长度的短消息)
数字摘要是信息安全领域中的一种关键技术。它是通过哈希算法对输入数据进行处理,生成一个较短的固定长度的输出,这个输出就被称为“数字摘要”。在数字摘要的计算过程中,通常会使用一种称为哈希函数的特殊算法。哈希函数可以接受任意长度的输入,并返回一个固定长度的输出。下面是一个简单的例子:假设有一个哈希函数H,当我们向H提供一个输入m(例如,一个文件或者消息),H会返回一个输出H(m),这个输出就是m的数字摘要。在许多情况下,文件的数字摘要由文件的原始创建者或分发者提供。原创 2023-11-08 16:28:09 · 886 阅读 · 0 评论 -
对称加密(symmetric encryption)和非对称加密(Asymmetric Encryption)(密钥、公钥加密、私钥解密)AES、RSA
对称加密是一种早期的加密技术,其特点是在加密和解密过程中使用同一密钥(密码)。这就意味着,任何知道这个密钥的人都能解密被加密的信息。对称加密因其高效性和易于实施而受到广泛的欢迎。非对称加密,也被称为公钥加密,它使用一对密钥进行加密和解密操作。这两个密钥通常被称为公钥和私钥。其中,公钥可以公开给任何人,而私钥必须保持秘密。原创 2023-11-08 14:06:21 · 5801 阅读 · 0 评论 -
盐值处理:解析与应用(Salt Hashing、Salting)密码哈希(彩虹表)看了还是懵逼!
"盐值"是一个术语,通常在密码哈希中使用。当存储或传输密码时,系统不会(或不应)直接存储或传输用户的明文密码。相反,会通过哈希函数将密码转换成哈希值。问题在于,如果两个用户选择了相同的密码,那么他们的哈希值也将是相同的。这就是盐值发挥作用的地方。为了避免这种情况,系统会为每个用户的密码添加一个唯一的随机值(即盐值),然后再进行哈希处理1。盐值处理是一种强大的工具,用于增加破解哈希密码的难度。通过添加一个随机的、唯一的盐值到密码上,可以确保每个用户的密码哈希都是唯一的,从而大大提高安全性。原创 2023-11-06 18:10:57 · 1025 阅读 · 0 评论 -
python 子网掩码点分十进制表示法与斜杠表示法(CIDR表示法)的相互转换、(路由汇总 Route Summarization(路由聚合)、超网 Supernetting)
路由汇总(Route Summarization):也被称为路由聚合,是一种方法,可以将多个连续的IP地址段用一个CIDR表示法来表示,以减少路由表中的条目数量。例如,你有四个/24网络,192.168.0.0/24、192.168.1.0/24、192.168.2.0/24 和 192.168.3.0/24,它们可以被汇总为一个192.168.0.0/22 的网络。其实超网和路由汇总在很大程度上是相同的,都是将多个小的网络合并为一个大的网络。但超网通常指的是地址分配,而路由汇总通常指的是路由表的优化。原创 2023-10-15 14:34:35 · 956 阅读 · 0 评论 -
python获取网口列表(获取网络接口列表、网口表)socket.if_nameindex()
【代码】python获取网口列表(获取网络接口列表、网口表)socket.if_nameindex()原创 2023-10-13 17:57:42 · 708 阅读 · 0 评论 -
python flask接口字段存在性校验函数(http接口字段校验)(返回提示缺少的字段信息)validate_fields()
该函数可方便地对字段的存在性统一校验,如果某个字段不存在,立马返回,并在返回信息中提示缺少的字段名。原创 2023-10-12 14:05:10 · 1713 阅读 · 0 评论 -
netplan apply报错:Error: Conflicting default route declarations for IPv4(默认路由声明冲突,通常一台机器只能有一个默认网关)网关冲突
然而,请注意,即使在这种情况下,某些操作系统和网络服务可能仍然期望存在一个默认网关,并且在没有默认网关的情况下可能会给出错误或警告。如果不在,你的计算机就会把请求发送到默认网关,由默认网关将请求转发到适当的位置。但是,如果目标只是让这两个接口都可以连接到网络,而无需通过两个接口访问外部网络,可以选择只在一个接口上设置默认网关。如果设备只需要在局域网(LAN)内进行通信,且不需要访问互联网或其他网络,则一般情况下不需要设置默认网关。在这个例子中,只在eth0上设置了默认网关,留下了eth1。原创 2023-10-10 21:15:04 · 3673 阅读 · 0 评论 -
Modbus RTU(Remote Terminal Unit)与RS-485协议(rs485)介绍(主站设备(Master)、从站设备(Slave))Modbus TCP、Modbus ASCII
参考文章:ModBus协议参考文章:一篇文章了解 RS485 和 MODBUS 的区别,它们有什么不同?Modbus RTU(Remote Terminal Unit)协议是Modbus协议的一种,主要应用于工业自动化系统中。它以二进制形式传输数据,并采用CRC校验方式确保数据的正确性1。RS-485 是一种差分信号传输方式,其主要优点在于具有较高的抗电磁干扰能力和传输距离5。原创 2023-09-18 23:45:31 · 14345 阅读 · 0 评论 -
双网卡主机内网外网网关冲突问题探索(策略路由、网络命名空间)(内外网双网卡时,通常不需要在内网网卡上设置默认网关)
我们有一台windows server 2012服务器,配置了双网卡,一个网卡配置外网,一个网卡配置内网,当我们将外网网络配置外网网关,内网网络配置内网网关时,奇怪的事情发生了,系统重启后,远程连接工具todesk无法正常与外网通信,配置了自动启动的vmware虚拟机无法正常与内网通信,手动登录系统后,一切才变得正常(这个不知为啥);这是因为默认网关是用来路由不属于任何子网的流量的,也就是说,它处理的是目标IP地址不在任何已知局域网内的数据包。而内网网卡的默认网关保留为空,让其专注于处理局域网内的流量。原创 2023-09-15 18:23:24 · 3054 阅读 · 0 评论 -
直接通信与间接通信:网络通信的两大模式(直接传送与间接传送)(无法跨网络通信原因、跨网段通信)255.255.255.0与255.255.0.0
直接通信涉及到源设备直接将信息发送到目标设备,没有中间的转发或路由设备。在这种情况下,源设备和目标设备必须位于同一网络或子网内1。如果源设备和目标设备不在同一网络或子网上,那么他们之间的通信就需要通过路由器或其他网络设备进行转发,这就是间接通信2。回到我们的问题,为什么我把我电脑的子网掩码设置成255.255.0.0或者设置成255.255.255.0,它们都能让我访问到192.168.6.87?它们有什么区别,我应该设置成哪个?两个子网掩码的主要区别在于可用的IP地址数量。原创 2023-08-28 17:00:51 · 1921 阅读 · 0 评论 -
私有IP地址定义、私有IP地址范围(10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)内网ip地址范围、局域网ip范围、外网ip、互联网ip、公网ip范围
根据RFC 191810.0.0.0172.16.0.0任何在此范围内的IP地址都可以被任何组织或个人在其内部网络中自由使用,而无需向全球互联网注册机构申请。每个私有IP地址可以在任何数量的网络中重复使用,因为这些网络从不直接相互通信(指的是网络与网络之间不直接相互通信,但通过网络地址转换(NAT),可以用于互联网通信)。原创 2023-08-22 23:59:06 · 44241 阅读 · 4 评论 -
无类别域间路由(Classless Inter-Domain Routing, CIDR):理解IP网络和子网划分(传统的IP地址类ABCDE:分类网络)子网掩码
互联网协议地址(Internet Protocol address,IP地址)是指分配给每个连接到互联网的设备的数字标签。在最常见的IPv4中,一个IP地址通常表示为四个十进制数,每个数位介于0和255之间,以点(.)分隔,例如192.0.2.0。原创 2023-08-22 23:39:15 · 9480 阅读 · 7 评论 -
360浏览器打开优快云多个写文章窗口(文章编辑窗口、文章编辑标签)时,文章内容消失问题解决办法(取消勾选“阻止不同源页面共享Cookie”)
在本文中,我们详细探讨了如何解决360浏览器打开多个优快云文章编辑窗口时文章内容消失的问题。我们了解到,Cookie在这种情况下起着关键作用,而通过调整浏览器设置,特别是取消勾选“阻止不同源页面共享Cookie”,可以有效地解决这个问题。原创 2023-08-18 15:45:41 · 327 阅读 · 0 评论 -
windows ipv4 多ip地址设置,默认网关跃点和自动跃点是什么意思?(跃点数)
IP协议是Internet的基础,被用于在网络中传送数据。它存在两个版本:IPv4和IPv6。IPv4是最常用的版本,但由于其地址空间有限,新的IPv6已经开始逐步取代。然而,IPv4仍广泛使用,因此我们将专注于它。原创 2023-08-18 11:49:48 · 10284 阅读 · 0 评论