草庐IT

network_security_config

全部标签

networking - 通过 TCP 处理消息

我正在尝试使用开始前附加的每条消息的大小通过TCP发送和接收消息。比如说,前三个字节是长度,后面是消息:举个小例子:005Hello003Hey002Hi我将使用此方法来处理大消息,但因为缓冲区大小将是一个常量整数,比如200字节。因此,有可能无法收到完整的消息,例如而不是005Hello我得到005He也可能收到完整的长度,例如我在消息中得到2个字节的长度。因此,为了解决这个问题,我需要等待下一条消息并将其附加到不完整的消息等。我的问题是:我是唯一一个在将消息相互附加、附加长度等方面遇到这些困难的人吗?以使其完整,或者这真的是通常我们需要如何处理TCP上的各个消息?或者,有没有更好的

security - 是否应该始终依赖错误检测机制?

我知道在网络中,数据链路层、网络层、tcp甚至更高层都强制执行错误检测(或有时纠正)机制。但是例如每4KB的数据,考虑到所有层的错误检测,总共使用了多达200字节的错误检查字节。因此,即使具有良好的校验和功能,理论上也可能发生冲突。那么人们为什么要使用这些错误检测机制呢?异常不太可能发生吗? 最佳答案 如果你想要简短的回答而不是不,他们不能总是依赖,如果你有真正关键的数据,你应该自己封装数据或使用单独的channel传输一些好的散列,如f.e.SHA-256以确认数据传输无误。以太网CRC将捕获大多数错误,例如单位错误或任何奇数个单

networking - 通过 TCP/IP 获得最佳吞吐量的理想消息大小

如您所知,有几个变量可能会影响网络吞吐量,例如窗口大小、数据包大小、突发数......我想通过TCP/IP发送我自己设计的消息。我知道,没有严格的规则来检测最佳吞吐量的最佳消息大小。但是,请给我一些注释,帮助我优化有关消息大小的吞吐量。 最佳答案 TCP没有“消息”,它是一个流协议(protocol)。只需将数据写入尽可能大的block中,让网络堆栈完成其余的工作。如果确保尽快处理单个write()调用很重要,请使用TCP_NODELAY套接字选项禁用Naglealgorithm(否则会将多个小写入合并到一个更大的数据包中)。

CS144(2023 Spring)Lab 0:networking warmup(环境搭建 & webget & bytestream)

文章目录前言其他笔记相关链接1.SetupGNU/Linuxonyourcomputer2.Networkingbyhand3.WritinganetworkprogramusinganOSstreamsocket3.1Linux配置3.2C++规范3.3Writingwebget3.3.1实现3.3.2测试4.Anin-memoryreliablebytestream4.1思路分析4.2代码展示4.3代码测试前言最近心情非常郁闷,搓一个CS144玩玩吧,正好2023spring出新版了。。。CS144的头4个Lab(加上0是5个),一步步实现了一个TCP。在开始之前,我想贴一下Lab中的这句

networking - 禁用 TCP SYN 重传

我正在开发一个通过TCP连接到服务器的客户端。服务器被配置为如果一个服务器关闭,则与另一台服务器建立连接。我的要求是如果2s内没有和第一台服务器建立TCP连接,客户端需要和第二台服务器建立连接。以下是我基于测试的观察-TCPSYN消息由客户端发送到第一个服务器以建立连接。由于第一台服务器宕机,1s后,TCPSYN重传发送给第一台服务器。2秒后(由于处理和网络延迟),客户端将TCPSYN消息发送到第二个服务器。因此,将SYN消息发送到第二台服务器需要3秒(1秒+2秒),这不是我想要的。我希望TCPSYN消息在2秒内发送到第二台服务器。为了在2秒内将TCPSYN消息发送到第二个服务器,我想

networking - 为什么 UDP 和 TCP 使用端口号而不是 PID 来定位目标?

如上。也许端口号更可靠,因为进程可以终止?谢谢 最佳答案 进程不是网络概念。不清楚通信方是否有进程的概念。此外,一个进程可以有多个连接。 关于networking-为什么UDP和TCP使用端口号而不是PID来定位目标?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/37642576/

networking - 有没有办法将 ping (icmp) 数据包转换为 TCP 数据包?

我想让PING包走代理程序,但是这个程序只支持从TCP层转发数据包,不支持转发ICMP数据包。有什么解决办法吗? 最佳答案 如果您需要工具,可以使用像psping这样的软件。,paping和tcping.他们测试与ICMPPing类似但基于TCP的时间响应。如果需要手工实现,可以使用SYN包及其响应(SYNACK)来衡量。对于C#,this线程正在讨论实现。 关于networking-有没有办法将ping(icmp)数据包转换为TCP数据包?,我们在StackOverflow上找到一个类

security - 利用 "backwards"进入出站 tcp 连接的风险

我正在构建一个服务器应用程序,它将通过防火墙启动TCP连接来维持与其他应用程序的连接,该防火墙只对应用程序将连接到的相关IP端口的出站流量开放。如果有人接管了我们连接的机器,从而能够通过我们建立的出站连接向后利用我们的应用程序,这有什么风险。连接使用的协议(protocol)不难理解,但它基于周期性心跳(间隔30秒)。如果错过了两个连续的心跳,发起者(我们)将终止连接并重新连接。我们应用程序的源代码或二进制文件对我们连接的组织不可用。 最佳答案 如果攻击者可以访问您要连接的机器或网络,那么他们很容易嗅探到您服务器的网络流量。这可能允

security - 允许端口 80/TCP 上的传出流量的服务器防火墙是否也允许端口 80/UDP 上的流量?

当我们使用UDP协议(protocol)时,在端口80/TCP上接受传出流量的Windows防火墙是否也允许传出流量。防火墙在大多数情况下是只控制端口号还是也控制使用的协议(protocol)? 最佳答案 TCP和UDP端口完全不同。所以,TCP/80和UDP/80没有任何关系,除了数量。从防火墙的角度来看,它们是完全独立的事物,具有不同的规则。 关于security-允许端口80/TCP上的传出流量的服务器防火墙是否也允许端口80/UDP上的流量?,我们在StackOverflow上找

Securing Microservices Integrity with Hashicorp

作者:禅与计算机程序设计艺术1.简介2020年是微服务领域一个重要的分水岭,随着云计算、容器化技术的普及,大量微服务应用开始向云平台迁移,同时也带来了新的安全风险。微服务的架构模式使得系统被切割成多个独立服务,它们之间需要进行密集通信,这就给攻击者提供了一个便利的攻击点。传统的单体架构已经无法满足微服务架构的需求了。安全防护面临着重构的困境,而HashiCorpVault则可以帮助我们解决这个问题。本文将讨论微服务环境下的服务间认证机制——基于HashicorpVault实现服务间密钥共享和数据一致性保障。文章中使用的技术包括docker,Vault,Consul,Golang等。2.基本概念