1. 当前位置: 网站首页 >  路由器百科 >  端口号是什么意思?3389、5005、8080这些数字是谁定的,端口映射和端口冲突一次搞明白

端口号是什么意思?3389、5005、8080这些数字是谁定的,端口映射和端口冲突一次搞明白

端口号是什么意思图解:IP找到楼端口找到房间,65535个号分三档,netstat三步排查端口冲突

上个月帮表弟配远程桌面,端口映射那张表里外部端口我让他填13389,内部端口填3389。他问了我一句:这俩为啥不填一样的数,还害我多记四位?我张嘴就说「为了安全」,他追问安全在哪,我卡壳了。回家打开电脑敲了行 netstat,看着满屏的数字把这事从头捋了一遍——端口号这套东西,我用了这么多年,其实一直是半懂。这篇就把这层窗户纸捅破。

先说清楚:IP找到楼,端口找到房间

一条数据要在网上送到地方,地址是分两段写的。前一段是IP地址,负责找到机器;后一段是端口号,负责找到这台机器上的具体程序。用小区打比方:IP是楼栋号,端口是房间号。快递单只写「3栋」是送不到人手里的,后面必须跟个房号。

为什么需要这么一层?你手机连着WiFi,微信、B站、游戏同时在线,三条线的数据都涌向同一个IP。要是没有端口,数据到了手机门口,谁也不知道这包是该给微信还是给游戏。所以每个联网的程序开工前都会向系统领一个或几个端口号,相当于在这栋楼里挂了个信箱。数据包头上写着「发到31.10的5005号信箱」,系统照着分拣,谁的信谁收,互不串门。

端口号是16个比特的数字,所以范围是0到65535,总共六万五千多个号,一台机器够用了。你在家用电脑上敲 netstat -ano,本地地址那一列里冒号后面的数字就是端口,能看到几十条目同时在干活。一条连接的完整身份是「源IP+源端口+目的IP+目的端口+协议」这五样,我在写TCP和UDP区别那篇提过一嘴,这篇专门把端口这一格讲透。

65535个号,是分三六九等的

这六万多个号不是随便抓的,国际上有个组织统一管着登记簿,分了三档,各有各的规矩:

档位号段谁在用例子
知名端口0 - 1023写进标准的老前辈,系统服务专用网页80、加密网页443、SSH 22、DNS 53
注册端口1024 - 49151软件厂商登记过的,给自家软件留的门牌远程桌面3389、群晖5000、MySQL 3306
动态端口49152 - 65535系统随手抓给你当回信地址的你刷视频时手机临时领的号

前两档是「守着门等人来」的服务端端口,号码固定,别人按号找上门。第三档是「主动出门」的客户端端口,你点开一个视频,系统从这档里随手抓一个号当回信信箱,用完就还,下次再来换一个。所以你在路由器设备列表里看到手机的连接,本地端口五位数一直变,那是正常现象,不是被黑了。

自己在家搭服务挑端口有条土规矩:避开前1024,也别撞大软件登记过的号,从一万号往上挑。我第一次给家里NAS配WebDAV,随手填了个8080,结果和另一个工具打架,后面讲冲突排查时细说。

家里常打交道的号,我整理成一张表贴弱电箱里

干这行折腾几年,散落在各篇文章里的端口号不少,我把家用场景里真会撞上的那些归到一张表里,打印出来贴在弱电箱盖内侧,配映射的时候不用再翻文章:

端口号干嘛的协议啥时候会碰上
80 / 443网页 / 加密网页TCP家宽基本封了这俩,别指望它俩对外开门
22SSH远程登录TCPNAS开SSH默认就是它,也是最被扫的号
53DNS域名解析UDP为主改DNS填223.5.5.5走的就是这条路
3389Windows远程桌面TCP出差别连家里电脑,映射的就是它
5000 / 5005群晖后台 / WebDAVTCPNAS开WebDAV时5005明文5006加密,别记串
554摄像头RTSP取流TCP/UDPNAS添加摄像头手填的地址尾巴就是它
9网络唤醒魔术包UDP远程开机转发这个号,手机App默认端口还得多改一步
1900 / 5353投屏发现 / 局域网设备发现UDP手机能搜到电视,靠的是这俩组播口
8080备用网页口TCP各种管理页爱用,也是冲突重灾区

这张表里有个细节值得多说一句:1900和5353是靠组播干活的,手机搜电视、搜打印机时满屋子广播的就是它们,我写组播那篇时抓包看它们跑了好几兆。这也是为什么开了AP隔离或者划了VLAN之后投屏就搜不到——发现这一步被拦在门外了,后面流程全断。

8080被占用了?三步把真凶揪出来

端口冲突是我踩过的最憋屈的坑。有回我起个本地小工具,日志里就一句「端口被占用,程序退出」,没了。到底谁占的?它不说。这种时候三步就能破案:

第一步,命令行敲 netstat -ano | findstr :8080,把8080换成你冲突的那个号。输出里最后一列是PID,进程编号。第二步,打开任务管理器,切到「详细信息」那栏,找到PID列点一下按编号排序,对上号就知道是哪个进程了。第三步,要么右键结束它,要么把自己的工具改个端口。我那次查出来是前一天没退干净的一个下载工具占着8080,进程名挂在那儿我还纳闷了半天——原来它后台常驻。

改端口通常比杀进程省事,尤其对方是系统离不开的服务。挑号就按前面说的土规矩,一万往上。另外提一句,同样的命令在Linux上是 ss -tlnp,NAS上排查Docker容器端口冲突时用得上,我在Docker那篇里提过容器内外端口是两套路径,冲突时先想这一层。

TCP的443和UDP的443,是两扇不同的门

这是最反直觉的一点:TCP和UDP各管各的端口表。TCP的443号门和UDP的443号门,是同一栋楼里两个不同房间,互相不通。你在端口转发或者水星、腾达后台里配映射时,那个「协议」下拉选TCP、选UDP还是选ALL,本质上就是在决定开哪扇门。选ALL不是含糊处理,是TCP一条加UDP一条,两条规则合一。

配完连不上,除了查公网IP这些大路毛病,先回头核协议。游戏机是最典型的:PS5联机官方给的表分TCP和UDP两列,TCP的1935和UDP的3074是两个条目,你只转了TCP那扇,UDP的门照样关着,游戏里该黄灯还是黄灯。我家NAS的下载工具也一样,BT的追踪和节点互通大头在UDP,只开TCP等于瘸了半条腿。

再说回表弟那个问题的完整答案:外部端口为啥要填13389这种高位数。网上爬虫扫门是有字典的,22、3389、8080这些常见号排在第一梯队挨个敲门。你把外部端口挪到一万三往上,字典撞不中,敲门声直接少一大截。我在NAS上转发过22号,半个月日志里几千条爆破记录,后来改了高位端口世界清净多了。挪端口不是保险柜,密码该16位还是16位,两道锁一起上才算数。

端口全关着才安全?家用别焦虑,盯三个地方就够

看到这可能有人开始慌:我家里这么多门开着,是不是很危险?恰恰相反。家里路由器的NAT天生是个只进不出挡人的门卫,你没主动做过映射,外面谁也敲不进你家的任何一扇门。真正要盯的是三个会开门的地方:

开门的地方怎么看我的做法
自己配的端口转发后台转发规则列表外部端口一律高位,密码16位起步
UPnP自动开的映射路由器UPnP映射列表定期翻一眼,不认识的条目就删
DMZ主机后台DMZ设置页家用基本不碰,碰过记得关

给设备做映射之前还有个前置动作别省:先给设备绑好静态IP。门牌是按IP+端口开的,设备重启后IP一漂,映射就开到了别人家头上,这是我第一趟白配的病根。水星和腾达两家后台的映射入口我分别写过水星版和腾达版,字段就四个,对着填就行。

收尾给个顺序:先记住家里常用那几个号(贴弱电箱那张表),冲突了用netstat按PID揪人,自己搭服务挑一万往上的高位,配映射先核协议再核内外端口,收尾每季度翻一眼UPnP列表。表弟听完这套,把外部端口改成了他生日后四位再加一万——行吧,反正字典也撞不中,勉强算毕业。

展开全文


版权说明 手机扫码阅读
版权所有:《数巢笔记》 => 《端口号是什么意思?3389、5005、8080这些数字是谁定的,端口映射和端口冲突一次搞明白》
本文地址:https://www.shunot.com/lybk/1083.html
除非注明,文章均为 《SHUNOT》 原创,欢迎转载!转载请注明本文地址,谢谢。

发表评论

联系我们

在线咨询:点击这里给我发消息

微信号:master_135

工作日:9:00-23:00,节假日休息

扫码关注