代理跑着跑着突然连不上,是线路被掐了,还是这台机器先用尽了端口?先量本机这一侧:每条出站连接都要占一个临时端口,Windows 默认只有 16384 个(49152–65535),Linux 默认 28232 个(32768–60999),而连接关闭后还要以 TIME_WAIT 状态压住端口约 60 秒。
跑量、多开、采集这类高频短连接,最先见顶的往往不是平台额度,而是本机端口和句柄。站内 24 家平台横向比价页显示,国内起步价最低 2.24 元/月(核实于 2026-09-13)——在换线路之前,先花十分钟把这台机器数清楚。
🔗 快速入口:一站式注册入口 | 价格中心(24 家横向对照) | 代理工具中心
| Windows 出站临时端口(默认) | 49152–65535,共 16384 个 |
| Linux 出站临时端口(默认) | 32768–60999,共 28232 个 |
| 单个连接的端口占用时长 | 关闭后 TIME_WAIT 约 60 秒 |
| 站内比价页起步价(24 家) | 国内最低 2.24 元/月(核实于 2026-09-13) |
先分清三种「连不上」,别一上来就换线路
同样一句「连不上」,背后的病因至少分三层,处理方向完全不同。把它们混在一起,就会出现「换了三家平台还是不行」这种白折腾。
判断顺序建议固定下来:先看是不是只有你这台机器不行。同一个账号密码、同样的参数,换台电脑或用手机热点跑一次——如果换了机器就正常,问题基本在本机;如果所有机器在同一时间段一起挂,才轮到线路和平台。
| 层面 | 典型症状 | 一句话判据 | 先做什么 |
|---|---|---|---|
| 本机资源 | 跑到一定量后成片失败,重启程序又能撑一会儿 | 换台机器用同样参数正常 | 数端口、TIME_WAIT、句柄(本文重点) |
| 平台额度 | 并发数一上去就报错,或提示超出限制 | 降并发就恢复正常 | 核对账号的并发条数、提取频率、白名单 |
| 线路质量 | 时通时断、延迟忽高忽低,个别节点全废 | 同一平台换个出口节点就消失 | 用检测中心测丢包与延迟,再找客服换线 |
还有一个反直觉的地方:本机资源耗尽的表现,有时和「线路被限速」几乎一样——都是跑到一半开始成片超时。好在区分它们的成本很低,这也是本文先讲本机层的原因。
本机到底有多少个出站端口?两台系统的答案不一样
向外发起一条 TCP 连接时,内核会从一段叫「临时端口」(ephemeral port)的范围里挑一个空闲的,和你请求的目标 IP、目标端口组成一个四元组。这段范围有边界,边界就是这台机器能同时维持的、指向同一个目标地址的连接上限。
| 系统 | 默认范围 | 总个数 | 查看命令 |
|---|---|---|---|
| Windows | 49152–65535 | 16384 | netsh int ipv4 show dynamicport tcp |
| Linux | 32768–60999 | 28232 | sysctl net.ipv4.ip_local_port_range |
把这两个数字换算成时间尺度会更直观:如果每次请求都新建连接、且都指向同一个目标,那么连接关闭后要等约 60 秒端口才会释放。按 Linux 默认的 28232 个算,单一目标下大约每秒能扛 470 条新连接;Windows 默认 16384 个,大约每秒 273 条。超过这个速度,报错只是时间问题。
需要说清的是,这个换算成立的前提是「同一个目标」。四元组里的目标 IP 或目标端口只要换一个,端口就能重新用——所以把请求分散到多个出口或多个目标端口,是成本最低的缓解手段之一。
TIME_WAIT 会把端口按住不放,短连接越密堆得越快
TCP 连接正常关闭时,主动发起关闭的一方会进入 TIME_WAIT 状态,停留时长通常取 2 倍报文最大生存时间。Linux 上这个值是固定的 60 秒(内核常量,不能直接改);Windows 上由注册表 TcpTimedWaitDelay 控制,可调范围为 30–300 秒。
这段时间里,这个四元组不能被新连接复用。于是「高频短连接 + 固定目标」就成了最危险的组合:每秒 500 条、每条都短命,60 秒内就积压约 3 万个待释放的端口——直接超过 Linux 的默认上限。
代理场景会把这件事放大。用短效 IP 的话,每次换线路都要重建连接;一些客户端在切节点时会把旧连接全部断掉重连,等于把端口重新排队占用一遍。跑量越大、换线越勤,TIME_WAIT 堆得越快。
想亲眼看一眼,两个命令就够:Linux 用 ss -s 看汇总,或 ss -tan state time-wait | wc -l 数具体条数;Windows 用 netstat -ano | find /c "TIME_WAIT"。看到几千条不必慌,这是正常水位;真正要警惕的是它持续单调上涨,同时开始出现下节要讲的报错。
第二道闸:连接数和句柄,往往先于端口见顶
端口不是唯一会被耗尽的资源,另外两道闸经常更早见顶,而且报错信息完全不一样。
| 资源 | 典型上限 | 怎么查看 | 谁在占用 |
|---|---|---|---|
| 临时端口 | Windows 16384 个 / Linux 28232 个 | netsh 或 sysctl 命令 |
每条出站 TCP 连接 |
| 文件描述符 | Linux 常见软限 1024 | ulimit -n |
每个 socket 占 1 个 |
| 进程句柄(Windows) | 上限很高,通常不是瓶颈 | 任务管理器 → 详细信息 → 句柄数 | socket、文件、线程等 |
| 客户端自身连接数 | 浏览器常见每目标 6–8 个 | 客户端设置或配置文件 | 代理客户端、浏览器、下载器 |
Linux 上最容易踩的是文件描述符:很多发行版默认软限只有 1024,跑并发连接的程序稍微上量就会先在这里撞墙,报错通常写作「too many open files」,和端口耗尽的报错完全是两回事。如果程序由 systemd 托管,还要单独在 unit 文件里加 LimitNOFILE=,只在 shell 里改 ulimit -n 对该服务是不生效的。
Windows 侧的瓶颈一般不在进程句柄,而在客户端本身:浏览器对单个目标有连接数上限,不少代理客户端也内置了连接池大小。这类限制通常能在设置里调,但默认值往往偏低。
五种改法,从最省力、零风险的那一种开始
下面按「风险从低到高」排序。前两条不需要重启系统、不涉及注册表,可以先做完再看效果。
| 改法 | 怎么做 | 风险 | 适用信号 |
|---|---|---|---|
| 复用连接 | 开启 keep-alive 或连接池,把「每请求一条连接」改成复用 | 低 | 所有端口耗尽场景的首选 |
| 扩大临时端口范围 | Windows 用 netsh int ipv4 set dynamicport tcp;Linux 改 ip_local_port_range |
低 | 复用已开但计数仍在涨 |
| 缩短 TIME_WAIT | Windows 改 TcpTimedWaitDelay;Linux 开 tcp_tw_reuse |
中 | TIME_WAIT 数持续高企 |
| 提高句柄上限 | Linux 改 ulimit -n 或 systemd 的 LimitNOFILE= |
低 | 报 too many open files |
| 分散目标或多机分担 | 把请求分到多个出口、多个目标端口,或拆到多台机器 | 中 | 单机上限已经到顶 |
前两条各补一句。复用连接的效果通常最明显,因为它是从根上减少新建次数,而不是把上限撑大——如果程序或库本身就支持长连接,改一个参数就够了。调整临时端口范围时要注意别和系统已占用端口冲突:Windows 上把起始值调到 10000 左右、总数设大一些是常见做法;Linux 改完 sysctl 要写进 /etc/sysctl.d/ 才能在重启后保留。
至于 Linux 的 tcp_tw_recycle,不要再开了:这个参数在新内核里已被移除,而且在 NAT 环境下会让一部分客户端连不上。真要缩短 TIME_WAIT,用 tcp_tw_reuse,它只对本机作为客户端发起的出站连接生效。
照报错对号:四种信号,指向四种不同的病
不用猜,报错信息本身就写明了病因。整理成一张对照表,下次直接查表。
| 报错 | 指向 | 先做什么 |
|---|---|---|
| Cannot assign requested address | 本机临时端口已耗尽(Linux 常见) | 降并发加开连接复用,再看是否需要扩范围 |
| WSAEADDRINUSE(10048) | 地址或端口被占用(Windows 常见) | 同上,并检查是否有残留进程占着连接 |
| Connection refused / 端口不通 | 目标端口没开或线路不通 | 用 telnet 或在线端口检测确认,再找平台 |
| 407 / 认证失败 / 白名单报错 | 账号、密码或白名单没配对 | 核对认证方式与白名单里的当前出口 IP |
拿不准的话,还有一个五分钟能做完的辨别动作:把并发数砍到原来的十分之一再跑一次。降下来就正常,说明是资源见顶;降下来照旧失败,问题多半在认证或线路这一层。
这些情况别改本机,先去看平台侧
本机优化能解决的,只有「资源被自己用完」这一类。下面几种现象都指向别的方向,继续在本机折腾只会浪费时间。
多台机器在同一时间一起失败、并且刚刚换过线路——这是平台或线路侧的信号。提示里出现并发超限、超出调用频率、白名单不匹配这类字样——这是账号额度问题,本机把端口开到最大也没用,需要按平台口径核对并发条数、提取频率与白名单设置。还有一种容易被误判成线路故障的情况:只有个别目标站点失败、其他都正常,那通常是目标侧的风控策略在起作用,降低请求频率或换出口比换平台更有效。
把这三类先排掉,剩下的才值得动本机的参数。这也是本文把排查顺序放在改法之前的原因。
先测后买:用免费测试额度把压测跑完
端口和并发这类资源问题,只有在真实压测里才会暴露。与其买完再来回折腾,不如用各平台的免费测试额度先跑一遍。下表三家属于国内起步价最低的一档,价格表、教程、注册入口放在同一行,方便直接对照。
| 平台 | 价格表 | 使用教程 | 官方注册入口 |
|---|---|---|---|
| 光梭IP(¥2.24/月起) | 光梭IP 价格表 | 光梭IP 购买使用教程 | 官方注册入口(邀请码 adminA8) |
| 奔富IP(¥2.6/月起) | 奔富IP 价格表 | 奔富IP 使用教程 | 官方注册入口(邀请码 adminA1) |
| 沧海IP(¥4/月起) | 沧海IP 价格表 | 沧海IP Socks5/L2TP 教程 | 官方注册入口(邀请码 YAXI) |
压测时盯三个数就够了:本机 TIME_WAIT 有没有失控、报错是不是认证类、平台的并发条数有没有被顶到。三项都过,再谈买哪一档。
官方入口与相关页面
文中的端口范围、起步价与免费测试额度,都取自下列页面,需要核对原始数字可以直接点开对照。
| 页面 | 用途 |
|---|---|
| 跨平台比价表(24 家) | 起步价、协议、免费测试、切换次数横向对齐 |
| 价格中心 | 各平台官方价与折后价入口 |
| 代理IP知识库 | 口径、术语与常见问题的集中入口 |
| 代理工具中心 | 各客户端、软路由与工具教程合集 |
| IP综合检测中心 | IP 质量、线路可用性、测速、业务模拟免费测 |
| 免费测试汇总 | 各平台试用额度一览 |
常见问题
Q:报「Cannot assign requested address」,是不是代理线路坏了?
A:大概率不是。这条报错是操作系统在说「本机没有可用的出站端口了」,属于本机资源层。先降并发、开连接复用,再确认有没有残留进程占着端口。真正的线路故障通常表现为超时或连接被重置,措辞完全不同。
Q:TIME_WAIT 有几万条,正常吗?
A:要看趋势。稳定在一个水平线上、业务也正常,属于健康水位;如果它持续上涨并伴随新建连接失败,就是端口池在被耗尽,这时开连接复用或调整 TIME_WAIT 时长才有意义。
Q:把临时端口范围调大,是不是一劳永逸?
A:只是把上限抬高,并不改变消耗速度。如果连接数还在涨,迟早会再次撞顶,而且范围调得过大还可能和系统预留端口冲突。先做连接复用,再考虑扩范围。
Q:tcp_tw_recycle 能开吗?
A:不建议。它在较新的 Linux 内核里已经被移除,而且在 NAT 环境下会让一部分客户端连不上。要缩短 TIME_WAIT 就开 tcp_tw_reuse,它只影响本机主动发起的出站连接。
Q:用长连接会不会被平台判定成异常?
A:正常使用不会。平台关心的是并发条数与提取频率有没有超出你买的档位,长连接只是减少建连次数,属于客户端侧的正常优化。真正要避免的是短时间内的连接数暴增。
Q:API 提取 IP 和连接数是一回事吗?
A:不是。提取频率管的是「多久能换一批 IP」,是从平台拿名单的次数;连接数是「同一时刻能开多少条通路」。两个额度互相独立,报错指向的层也不同,排查时别混。
📚 相关阅读
📄 代理IP并发数是什么意思?连接数、线程与提取频率一次讲清
📄 代理IP经常掉线不稳定?网络层四步排查(DNS/路由/端口/防火墙)
更多帮助
如需获取更多帮助,请访问官网:socks5ip.com.cn
🛠️ IP综合检测中心:IP质量/线路/测速/业务模拟免费测
💬 微信:17720135827 — 7×24h在线
全网低价IP|聚合24家代理IP平台,全部免费测试,先测后买零风险






