调整本机可发起的TCP连接和可接受的TCP连接的方法

TCP协议详解(TCP建立连接与断开连接) TCP是面向连接的、可靠的进程到进程通信的协议。它提供的是全双工(双向可传输)的服务,每个TCP都有发送缓存和接受缓存,用来临时存储数据。 1、TCP报文段: TCP把若干个字节构成一个分组,称为报文段(segment)。TCP报文段封装在IP数据报中,TCP报文段的首部格式如下图所示: 首部长度为20~60个字节,一下是各个字段的含义: ①:源端口号:它是16位字段,为发送发进程对应的端口号; ... 阅读详情
 
(刚翻译的,不准确的地方请勿见怪,并请指出)
调整本机可发起的 TCP 连接和可接受的 TCP 连接的方法:

适用的操作系统:
Microsoft Windows NT Workstation versions 3.5, 3.51, 4.0
Microsoft Windows NT Server versions 3.5, 3.51, 4.0
Microsoft Windows 2000 Professional
Microsoft Windows 2000 Server
Microsoft Windows 2000 Advanced Server
方法:
修改 ( 添加 ) 注册表,并重新启动系统:

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services
下面:

TcpNumConnections
Key: Tcpip/Parameters
取值类型: REG_DWORD - Number
取值范围: 0 - 0xfffffe
缺省值: 0xfffffe
描述:本参数限制可以同时打开的 TCP 连接的数量

MaxUserPort
key: Tcpip/Parameters
取值类型: REG_DWORD - Number
取值范围: 5000-65534 ( 十进制 )
缺省值: 0x1388 (5000 十进制 )
描述:控制一个应用程序可以打开的最多端口数量。通常,短命的端口在 1024-5000 之间分配。
当试图发起 5000 以上端口的连接,系统将出现 WSAENOBUFS(10055) 错误:因为队列满或者系统
缺乏足够的缓冲空间。
下面是我的 IOCP TCP 服务器单机测试结果:

15:201 | | | | | | TIOCPServerCore.Dump Begin==================================>
15:201 | | | | | | Socket
线程数量 =2
15:201 | | | | | |
缓冲区尺寸 =4096
15:211 | | | | | |
空闲缓冲区数量 =3
15:211 | | | | | |
使用缓冲区数量 =16275
15:211 | | | | | |
最大空闲缓冲区数量 =500
15:221 | | | | | |
空闲 Socket 数量 =0
15:231 | | | | | |
使用 Socket 数量 =16274
15:231 | | | | | |
最大空闲 Socket 数量 =500
15:241 | | | | | |
业务处理线程数量 =1
15:241 | | | | | |
最大空闲业务处理线程数量 =2

CPU
占用率很低,内存占用 10M 左右
本机发起和接受的 TCP 连接数是 16274 ,好像是最大的可发起连接数了,如果有
别的机器可能可以更多, Microsoft 资料说可以接收 200000 个连接
服务器反应迅速
 
 
 
Windows 2000 Server 的 TCP/IP 利用与对策
更新日期: 2004 年 03 月 01 日
本页内容
目标
使用本模块可以实现:
•
确定 Microsoft® Windows® 2000 操作系统 TCP/IP 堆栈的可能利用。
•
配置注册表是解决 Windows 2000 TCP/IP 堆栈利用的对策。
•
确定 Windows 2000 TCP/IP 堆栈利用的潜在影响和对策。
适用范围
本模块适用于下列产品和技术:
•
Windows 2000
•
Windows 2000 TCP/IP 堆栈
•
Windows 2000 注册表
如何使用本模块
您应通过本模块确保 Windows 2000 TCP/IP 堆栈的安全。还可以使用本模块确定 TCP/IP 堆栈利用的影响和对策。
概要
本模块着重讲述了 Windows 2000 TCP/IP 堆栈的可能利用,并详细描述了可通过配置 HKLM/System/CurrentControlSet/Services/Tcpip/Parameters/ 注册表项来应用的对策。此外,模块还讲述了该配置的潜在影响。
Windows 2000 TCP/IP 堆栈潜在威胁和对策的影响
表 1 显示了 TCP/IP 堆栈的潜在利用。该表还显示了可能的对策,以及利用与对策的潜在影响。
表 1 : TCP/IP 堆栈的潜在利用
注册表值项
对策潜在影响
潜在利用
EnableICMPRedirect
如果将路由和远程访问服务 (RRAS) 配置为自治系统边界路由器 (ASBR) ,它将无法正确导入连接接口子网路由。相反,该路由器将主机路由插入开放式最短路径优先 (OSPF) 路由中。由于 OSPF 路由器不能用作 ASBR 路由器,导入连接接口子网路由至 OSPF 将导致路由表与陌生的路由路径相互混淆。
Internet 控制消息协议 (ICMP) 重定向将导致堆栈探测主机路由。这些路由将覆盖 OSPF 生成的路由。
这一结果本身是预料中的行为。但问题是,由于 ICMP 重定向探测路由的超时时间是 10 分钟,这便在相关网络中形成黑洞。
SynAttackProtect
该注册表值允许 TCP 调整 SYN-ACK 的重新传输。配置了该值后,一旦发生 SYN 攻击,连接响应的超时时间更短。该值在连接指示中增加了额外的延迟,在发生 SYN 攻击时, TCP 连接请求的超时时间很短。如果配置了该设置,每个适配器(包括初始往返时间 (RTT) 和窗口大小)套接字选项所配置的可伸缩窗口和 TCP 参数将不再起作用。
在 SYN Flood 攻击中,攻击者向服务器持续发送 SYN 数据包流,服务器使处于半打开状态的连接一直保持打开状态,直至被淹没在庞大的数据流中而无法响应合法的请求。
EnableDeadGWDetect
启用间隔网关检测后,如果有很多连接都存在问题, TCP 可能要求 IP 切换到备份网关,如果该设置的值是 0 , Windows 不再检测间隔网关,并自动切换到替换网关。
攻击者可强制服务器切换网关,并极有可能切换到毫无准备的网关。
EnablePMTUDiscovery
如果 EnablePMTUDiscovery 的设置是 1 , TCP 将尝试发现远程主机路径中的最大传输单位 (MTU) 或最大数据包大小。 TCP 可通过发现路径的 MTU 并将 TCP 段限制在该值之内来在 MTU 不同的网络连接路径中消除路由器中的碎片。
碎片对 TCP 吞吐量有负面影响。如果值设置是 0 ,所有非本地子网主机的连接都将使用 576 字节的 MTU 。
如果值非 0 ,攻击者可强制 MTU 为非常小的值,然后强制服务器分割大量的数据包,进而使堆栈超负荷工作。
KeepAliveTime
该值控制了 TCP 尝试通过发送 KeepAlive 数据包确认空闲连接是否依然毫无变化的频率。如果远程计算机仍可访问,说明数据包保持有效 (KeepAlive) 。
在默认情况下,系统不发送 KeepAlive 数据包。您可通过程序在连接中配置该值。如果减少至 5 分钟(默认值是 2 小时),表示非活动会话将很快断开。
能连接网络应用程序的攻击者可以通过建立大量的连接造成 DoS 。
DisableIPSourceRouting
IP 源路由这种机制允许发送者确定数据报通过网络的 IP 路由。将该值设置为 2 将导致所有传入的源路由数据包丢失。
攻击者使用源路由数据包隐蔽他们的身份和位置。源路由允许计算机发送数据包来指定自己使用的路由。
TCPMaxConnectResponseRetransmissions
该参数控制了在未明确 SYN 的情况下, SYN-ACK 因响应连接请求而重新传输的次数。
如果值大于或等于 2 ,表示堆栈在内部使用 SYN-ATTACK 保护。如果值小于 2 ,表示堆栈的 SYN-ATTACK 保护根本不读取注册表值。该参数缩短了清理 TCP 连接所需的默认时间。遭受强烈攻击的站点可降低该值至 1 。设置为 0 也有效。但是,如果该参数的设置是 0 , SYN-ACK 根本不会重新传输,并在 3 秒钟后超时。如果值非常低,远端客户端的合法连接尝试也将失败。
在 SYN Flood 攻击中,攻击者向服务器持续发送 SYN 数据包流,服务器使处于半打开状态的连接一直保持打开状态,直至被淹没在庞大的数据流中而无法响应合法的请求。
TCPMaxDataRetransmissions
在每个传出段向下传至 IP 后, TCP 将启动重新传输计时器。如果在计时器到期前未收到数据确认,该段最多可再重新传输三次。
在 SYN Flood 攻击中,攻击者向服务器持续发送 SYN 数据包流,服务器使处于半打开状态的连接一直保持打开状态,直至被淹没在庞大的数据流中而无法响应合法的请求。
PerformRouterDiscovery
设置该值可阻止 Windows 2000 (支持 Internet 路由器发现协议 (IRDP) )自动检测并配置计算机中的默认网关地址。
有同一网段系统控制权的攻击者可配置网络中的计算机来模拟路由器。
之后,其他启用了 IRDP 的计算机将使自己的数据流通过该受损系统。
TCPMaxPortsExhausted
该参数控制了 SYN-ATTACK 保护的起始运行点。如果系统因连接的有效待办事项是 0 而拒绝了 TCPMaxPortsExhausted 连接请求, SYN-ATTACK 保护便开始运行。这对尝试合法连接的服务器和系统的影响微乎其微。
在 SYN Flood 攻击中,攻击者向服务器持续发送 SYN 数据包流,服务器使处于半打开状态的连接一直保持打开状态,直至被淹没在庞大的数据流中而无法响应合法的请求。
AFD 设置:
DynamicBacklogGrowthDelta
EnableDynamicBacklog
MinimumDynamicBacklog
MaximumDynamicBacklog
Windows Sockets 应用程序(如 FTP 服务器和 Web 服务器)由 Afd.sys 处理连接尝试。 Afd.sys 已经过修改并支持大量的半打开连接,而且不会拒绝合法客户端的访问。
允许管理员配置动态待办事项可实现这一目标。
DynamicBacklogGrowthDelta
控制了必需其他连接时要创建的自由连接数。设置该值一定要非常小心。如果值过大,将导致自由连接分配剧增。
在 SYN Flood 攻击中,攻击者向服务器持续发送 SYN 数据包流,服务器使处于半打开状态的连接一直保持打开状态,直至被淹没在庞大的数据流中而无法响应合法的请求。

 
Linux的TCP连接数到达2万,其中tcp_tw、tcp_alloc、tcp_inuse都很高,可能出现什么问题 当 TCP 连接数达到 2 万且关键指标高位运行时,需重点关注端口资源内存压力队列溢出和应用性能。通过调整内核参数、优化应用设计、使用长连接和监控工具,可以有效缓解问题。对于超大规模场景,可能需要结合负载均衡或内核旁路技术进一步优化。 阅读详情

相关推荐

TCP半连接队列和全连接队列

基本介绍 半连接队列(syn queue) 作用:TCP 三次握手中存储处于SYN_RECV状态的连接; 最大长度:max(64, /proc/sys/net/ipv4/tcp_max_syn_backlog),syncookies = 0 时起效,syncookies = 1时将被忽略; 全连接队列(accept queue) 作用:TCP 三次握手中存储处于ESTABLISHED状态的...

04stone37 4226

快速查看本机TCP/IP信息

查看本机TCP/IP信息:在cmd终端界面输入“ipconfig /all”指令(可快速查看IP地址和MAC地址);

kennedy1963的专栏 1569

Nginx: TCP建立连接的优化和启用Fast Open功能

因为 /proc 下都是临时文件,改了临时文件会立即生效,但是重启后就变回去了。以上都是默认值,看起来值比较小,如果要更改,不能直接更改上述配置文件。现在,我们可以去修改 nginx 的 backlog 队列。1.3 2011年 Google 提出的TFO的优化。1.1 最初RFC中实现 TCP 协议的状态如下。1 ) TCP 的 Fast Open。2 )实际环境开启 Fast Open。通过这个命令,查看系统内核参数 $1.2 RFC 优化的过程。我们现在可以修改 $检查配置是否生效,$

Wang的专栏 2714

4.15和4.16、TCP通信实现(本机)

【代码】4.15和4.16、TCP通信实现(本机)

z2812470857的博客 260

TCP全连接和半连接的问题探讨

个人博客: https://rebootcat.com/2020/11/14/tcp_accept/ 从何说起 说起 tcp 的连接过程,想必 “3次握手4次挥手”是大家广为熟知的知识,那么关于更细节更底层的连接过程也许就很少人能讲清楚了。 所以本文会先简单回顾一下 tcp 的 3次握手过程,然后重点聊一下 tcp accept 的过程,涉及到 tcp 半连接队列、全连接队列等的内容。 回顾一下 3 次握手 要了解 3 次握手的过程,可能需要先熟悉一下 tcp 协议的格式: tcp segment .

人至贱则无敌 2082

TCP通信——本机发送接收

里面两个unity工程,分别打开运行即可完成通信,先运行服务端,再运行客户端

TCP/UDP本机通信--进程线程

weixin_51648475的博客 562

博图HMI多语言文本列表一键生成攻略:从Excel模板到TIA Portal的完整流程

本文详细介绍了如何利用Excel模板和TIA Portal API实现博图HMI多语言文本列表的一键生成。通过标准化Excel模板设计、解析TIA Portal的XML结构,并结合C#代码实现自动化导入,大幅提升多语言项目的开发效率。特别适用于需要支持多语言版本的自动化设备HMI界面开发。

weixin_26934905的博客 218

关于两台电脑间的tcp通信

3.客户端使用服务器的IP,127.0.0.1是本机回环地址。1.连接同一个网络,但不能是校园网。4.服务器和客户端的端口号要一致。

m0_73803507的博客 888

手把手教你用STM32+LAN8720搭建以太网通信模块(含原理图)

本文详细介绍了如何使用STM32微控制器与LAN8720物理层芯片搭建以太网通信模块,涵盖硬件设计、软件配置及常见问题排查。重点讲解了LAN8720的低功耗设计、RMII接口简化布线等特性,以及STM32CubeMX配置和LwIP协议栈移植技巧,助力开发者快速实现稳定可靠的嵌入式网络通信。

CAT789的专栏 412

Cursor AI对话历史丢失?开源工具一键恢复项目聊天记录

在软件开发中,数据持久化与工作区管理是保障开发效率与上下文连续性的基础技术。其核心原理在于通过文件系统路径、数据库存储等机制,将应用状态与用户数据持久化关联。对于依赖AI辅助编程的开发者而言,对话历史是宝贵的项目上下文资产,记录了关键的算法思路、API使用范例和问题解决方案。然而,当开发工具(如基于VS Code的Cursor)采用基于项目绝对路径的工作区隔离机制时,项目路径的变更会导致历史对话看似“丢失”,实则是被隔离在了旧路径对应的数据沙箱中。这直接影响了开发体验与知识沉淀的效率。cursor-chat

weixin_26775679的博客 828

TCP的连接

一、套接字 1、每一条TCP连接有两个端点,TCP连接的端点叫做套接字(socket)或插口。 2、套接字(socket)=(IP地址:端口) 例如:套接字 (socket)=(192.168.170.1:80)。 二、TCP连接 1、建立连接时的三次“握手”,如下图所示: (1)客户端的应用程序发送TCP连接请求报文,把自己的状态告诉对方,这个报文的TCP 首部SYN标记位是1,ACK标记位为0,序号(scq) 为x,这个x被称为客户端的初始序列号, 其值通常为0。发送出连接请求报文后,

kxbdys的博客 1万+

AI视频生成技术研究报告:现状、挑战与展望

AI 视频生成技术概述:介绍 AI 视频生成技术的基本概念,回顾其发展历程,从早期依赖图像拼接的简单生成方式,到如今融合多种先进技术的复杂模型应用,梳理技术演进的关键节点和重要突破。同时,分析该技术在当前阶段的特点,包括生成视频的质量、速度、灵活性等方面,以及与传统视频制作方式的差异,阐述 AI 视频生成技术如何改变视频创作的流程和模式。技术实现路径分析。

daqsdfas的博客 4574

Linux查询那些IP连接本机、查看TCP连接、统计指定端口连接数量以及TCP连接的各种状态和回收时长...

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33877885的博客 1万+

【Bluetooth蓝牙开发】一、开篇词 | 打造全网最详细的Bluetooth开发教程

1、开篇词 2、蓝牙开发入门 3、蓝牙协议栈总览 4、蓝牙协议栈——物理层 5、蓝牙协议栈——链路层 6、蓝牙协议栈——传输层 7、蓝牙协议栈——L2CAP协议 8、蓝牙协议栈——ATT协议 9、蓝牙协议栈——GATT协议 10、蓝牙通信流程分析 11、蓝牙协议栈——Bluez交叉编译 12、蓝牙调试工具汇总

Donge's Blog 1万+

基于matlab的图像HOG特征提取算法仿真

方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。需要提醒的是,HOG+SVM进行行人检测的方法是法国研究人员Dalal在2005的CVPR上提出的,而如今虽然有很多行人检测算法不断提出,但基本都是以HOG+SVM的思路为主。

平时工作较为繁忙,私信消息一般晚上回复,谢谢大家~~ 730

TCP连接个数限制及调整方法

        在TCP应用程序中,双方的通信是面向连接的,在同一台计算机上的多个连接需要能相互区别。TCP协议里面是用[源IP+源Port+目的IP+目的 Port]来区别两个不同连接的。也就是说,只要这四个参数中有一个以上不同,这两个连接就不同。在BBS上面看到很多人简单地认为可使用的端口个数是可建立的连接的限制因素,其实这个不对的。服务端和客户端软件的连接限制因素是不同的,下面我们分别来

呆若木鸡的专栏 1万+

LLaMA-Factory微调教程5:多模态VLM模型对话

视觉-语言模型(VLM)概述与应用 视觉-语言模型(VLM)是一类结合视觉和语言信息的人工智能模型,旨在实现跨模态的理解与交互。其核心目标包括跨模态理解和生成能力,关键技术涉及模态表示与映射、多模态预训练以及跨模态交互机制。 典型VLM模型包括: CLIP:通过对比学习实现图像和文本的向量空间对齐 BLIP:结合自监督和弱监督学习提升语义对齐 ALBEF:基于BERT结构扩展跨模态注意力 DALL-E系列:基于文本生成图像的生成式模型 CLIP4Clip:扩展CLIP到视频领域 VLM在图像/视频检索、视觉

Cachel Wood的博客 1114

Tcp连接出现大量ESTABLISHED连接解决方法

TCP状态转移要点TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不 会被释放。网络服务器程序要同时管理大量连接,所以很有必要保证无用连接完全断开,否则大量僵死的连接会浪费许多服务器资源。在众多TCP状态中,最值得 注意的状态有两个:CL...

qianghong000的博客 8877

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

TCP 半连接队列和全连接队列

在 TCP 三次握手的时候,Linux 内核会维护两个队列,分别是:半连接队列,全连接队列。

weixin_44479862的博客 2415

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Libevent参考手册第八章:连接侦听器: 接受 TCP 连接

Libevent参考手册第八章:连接侦听器: 接受 TCP 连接    Nick Mathewson  著老衣           翻译Evconnlistener 机制为您提供了侦听和接受传入的 TCP 连接的方法。这一节中的所有函数与类型都是在event2/listener.h中声明。他们首次出现在 Libevent 2.0.2-alpha,除非另有说明。创建或释放 e

老衣的专栏 8872

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

查看linux中的TCP连接数

查看linux中的TCP连接数

eighters的博客 1万+
上一篇: Windows 2000系统下修改注册表加强安全
下一篇: 多播与广播
Devillyd
博客等级 码龄23年 58粉丝 101原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值