mac查看代理服务器端口,最直接的办法是打开系统设置里的网络面板,点击当前联网方式右边的“详细信息”,在“代理”选项卡里就能看到端口号。对绝大多数macOS用户来说,这个入口能覆盖日常需求,不需要碰命令行,不过要是你用了代理软件、公司网络或者命令行工具,情况会稍微复杂一点,下面把这几种场景拆开讲清楚。
mac系统查看代理服务器端口的三种入口
macOS的代理设置不是只存在一个地方,系统设置、网络偏好设置和特定软件里都可能藏着配置,想搞清楚端口,得先知道自己用的是哪种代理方式。
在系统设置里找代理端口
macOS Ventura及以后的版本,点左上角苹果菜单,选“系统设置”,再点“网络”,右侧会列出当前活跃的网络连接,比如Wi-Fi或者网线,点当前连接旁边的“详细信息”,弹窗顶部有几个选项卡,切换到“代理”就能看到配置。
这里有个细节,代理列表里有“网页代理(HTTP)”“安全网页代理(HTTPS)”“SOCKS代理”这几类,每一行右边如果显示“开”,下方就有对应服务器的地址和端口,端口通常写在地址冒号后面,比如168.1.10:8080,8080就是端口。
如果你是旧版macOS,路径是“系统偏好设置”->“网络”->“高级”->“代理”,界面上展示的信息基本一致,端口同样是跟在IP地址后面。
从Wi-Fi图标状态看代理信息
很多人不知道,按住Option键点菜单栏的Wi-Fi图标,会弹出当前Wi-Fi的详细信息,包括路由器IP、子网掩码等,但这里通常不直接展示代理端口,想从这条路径确认代理状态,得在Wi-Fi详情里点“详细信息”,再切到“代理”选项卡,本质上跟系统设置里的入口是同一个,只是换了个进入方式。
正在运行的代理软件里直接看
如果你用的是Clash、Surge、Shadowrocket这类代理工具,端口一般写在软件的设置或状态页面,比如Clash的“设置”->“端口”里能看到混合端口、HTTP端口和SOCKS5端口,这类软件的端口经常是动态的,可能每次都变,也可能固定,得看具体配置。
不过这里有个容易踩的坑:软件里显示的端口,和系统代理设置里填的端口,不一定一致,有些软件是随机端口,每次启动都换,但系统设置里记录的还是旧值,这时候端口就查不准了。
mac命令行查看代理端口的具体命令
图形界面能解决大部分人的问题,但有些场景下你需要精确拿到代理配置,或者压根打不开设置界面,这时候用终端是最快的。
用scutil查询当前生效的代理配置
打开终端,输入下面的命令:
scutil --proxy
回车后终端会输出一堆信息,重点看这几行:
HTTPEnable:1表示HTTP代理开启,0表示关闭HTTPPort:HTTP代理端口HTTPSEnable和HTTPSPort:HTTPS代理的开关和端口SOCKSEnable和SOCKSPort:SOCKS代理的开关和端口
注意,这个命令读的是当前网络会话生效的配置,也就是系统层面真正在用的值,比去设置面板里翻更准确。
用networksetup查看指定网卡的代理端口
macOS里每个网络接口都有独立的配置文件,比如Wi-Fi的接口名通常是Wi-Fi,有线网卡叫Ethernet,想单独看某个接口的代理端口,用这个命令:
networksetup -getwebproxy Wi-Fi
输出结果里会显示Enabled: Yes、Server: 192.168.1.1、Port: 8080,一目了然,查HTTPS代理就把getwebproxy换成getsecurewebproxy,查SOCKS就换成getsocksfirewallproxy,不确定当前用的哪个接口,先执行networksetup -listallnetworkservices看一下。
通过环境变量查代理端口
还有一种情况,代理不是配置在系统网络上,而是写在shell环境变量里,多见于开发者,在终端输入:
env | grep -i proxy
或者:
echo $http_proxy
如果返回了类似http://127.0.0.1:7890,冒号后面的数字就是端口,这类代理仅对当前终端会话生效,不影响系统软件,所以有时你系统设置里看不到代理,但终端里却查得到。
端口显示为0或空的异常情况
不少人在系统设置里打开代理选项卡,发现端口显示是0,或者干脆空白,这时候别慌,多数情况下不是系统坏了,而是下面几个原因之一。
系统代理没真正启用
行业共识认为,macOS的代理面板里,端口号只有在代理开关为“开”时才有效,如果你的代理开关状态是灰色的,或者关着的,端口显示0是正常现象,因为系统压根没在走代理,这时候先去确认代理工具是否在运行,再回来重新打开代理开关。
代理软件走的是透明代理
有一部分代理软件用的是透明代理模式,系统层面并不写入代理配置,而是通过路由表把流量劫持到本地端口,这种情况下,系统设置里当然看不到端口,你可以用lsof -i命令看下哪些进程在监听端口,比如lsof -iTCP -nP,然后对比代理软件的配置页面确认端口号。
公司网络或校园网有强制配置文件
某些办公网络会通过描述文件强制设置代理,用户端面板上的编辑选项是锁定的,端口也可能被隐藏,这时候以IT部门下发的配置文档为准,别自己乱改,防止连不上内网。
怎么验证查到的代理端口真的能用
查到了端口不等于就能用,建议花十几秒验证一下,避免代理实际没生效,业内专家给出一个简单方法:打开终端,输入以下命令测试HTTP代理连通性:
curl -x http://127.0.0.1:8080 https://www.baidu.com -I
如果返回了HTTP状态码,说明这个端口确实有代理服务在监听,换成HTTPS代理就把-x后面的协议改成https,测试SOCKS代理则用socks5://地址:端口格式。
另一个更轻量的验证法是直接看端口监听状态,用这个命令:
netstat -an | grep 8080
注意把8080换成你自己的端口,如果输出里有LISTEN字样,说明有程序在这个端口上监听,想确认是哪个程序,用lsof -i :8080。
还有一点,macOS系统设置里看到的代理端口只是配置值,不会验证端口通不通,你查完端口后顺手做个测试,能省掉后续排查网络问题的时间。
常见问题:mac查看代理服务器地址和端口时容易混淆的细节
代理地址和端口经常被混为一谈,但两者根本不是一回事,地址定位服务器,端口定位服务器上的服务,比如0.0.1:1087,0.0.1是地址,1087是端口,查端口前先确认地址是哪一种:
- 本地代理地址通常是
0.0.1或localhost - 局域网代理地址可能是
168.x.x之类 - 远程代理地址则是公网IP或域名
查询时如果你只看到一个地址,没看到端口,通常是因为端口写在另一个字段里,或者代理工具默认使用端口协议的标准端口,比如HTTP默认80,HTTPS默认443,SOCKS常见1080。
Q&A:mac查看代理服务器端口相关疑问
为什么我在系统设置里能看到代理地址,但端口显示不出来?
macOS的代理配置界面里,端口必须跟地址一起填写才会显示,如果你只填了地址没填端口,系统不会自动补全,端口位置就是空的,解决办法是检查代理软件给出的完整配置,把端口数字补进去,保存后重新打开代理选项卡刷新一下。
命令行查出的代理端口和系统设置里显示的不一样,该信哪个?
以scutil --proxy命令查出的结果为准,macOS的系统设置界面有时会缓存旧的配置文件,而命令行读取的是当前网络会话的实际值,如果两者不一致,刷新网络配置或重启代理软件后,再次执行scutil --proxy确认最新值。
用mac命令行查询代理端口会不会对系统有影响?
不会,像scutil --proxy、networksetup -getwebproxy这类命令都是只读操作,只负责从系统配置中读取信息,不修改任何设置,你可以放心执行。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/793434.html


