首页/网络/常用端口速查/9418 Git 原生协议

9418 Git 原生协议

git:// 协议的端口:匿名只读克隆(git daemon 或公共仓库)走 9418,不支持推送(推送走 SSH/HTTPS)。

常用端口速查网络更新于 2026-10-13

Git 原生协议与 9418 端口

9418 是 Git 原生协议 git:// 的默认端口。它对应 git daemon 提供的匿名访问:客户端只读克隆,服务端既不做加密也不做认证。协议简单、开销小,公共镜像站(发行版与内核仓库镜像)历史上大量使用;但它不支持推送与鉴权,企业内网应优先走 SSH 或 HTTPS。

基本信息

服务Git protocol(git daemon)
端口/协议TCP 9418,无加密无认证
能力范围默认仅只读克隆与抓取
启用方式git daemon 指定基础路径并导出仓库
权限要求服务端需系统账号,客户端无需凭据
安全等级仅公开数据可用,私有代码禁用

典型使用场景

  • 公共镜像分发:镜像站用 9418 提供只读克隆
  • 内网免密拉取:对确认为公开内容的代码做只读分发
  • 构建加速:为大量构建机降低拉取开销
  • 离线环境同步:镜像节点之间周期性抓取
  • 流量排查:出口出现 9418 通常说明存在匿名 Git 抓取

克隆与协议切换

克隆与协议切换
git clone git://mirror.example.com/repo.git              # 匿名只读克隆
# 服务端只读导出(谨慎使用)
# git daemon --reuseaddr --base-path=/srv/git --export-all --verbose
git remote set-url origin git@git.example.com:repo.git   # 切回受控协议
ss -lntp | grep 9418                                     # 确认监听与进程
firewall-cmd --permanent --add-port=9418/tcp             # 如确需放行再开

三种传输对照

传输端口特性
git://9418匿名只读,无加密无认证
ssh22认证加密,支持推送
https443证书与凭据,穿透性好,便于审计

运维要点

  • 只读镜像用 9418,私有仓库一律用 SSH 或 HTTPS 承载
  • 明确区分匿名抓取与受控访问,避免团队混用两套远端地址
  • 防火墙阻断前先确认内网镜像站是否依赖它,否则会拖慢构建
  • 镜像站定期核对仓库清单,避免悄悄导出了不该公开的仓库
  • 把出口的 9418 流量纳入可视化,异常增长往往意味着配置被改动
9418 上没有传输加密,仓库内容与元数据都可能被链路上的中间人观察。公开镜像无所谓,私有代码必须换协议,别为省一点带宽把源码放在明文链路上。
git daemon 若启用接收推送又未限制来源,等于开放匿名推送,攻击者可改写分支与标签。除非是完全可控的内网环境,不要打开这个选项。

易错点

  • 对私有仓库开放 9418:无认证无加密,任何能连上的客户端都能克隆源码
  • 误开接收推送且不限制来源:匿名推送可篡改分支与标签,直接威胁供应链
  • 把 9418 当作性能优化:省下的是带宽,付出的是源码泄露风险
  • 阻断 9418 前不排查依赖:内网镜像站可能依赖它,贸然封锁会拖垮构建

数据来源与参考

  • Git 官方文档(protocol 9418)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌