首页/网络/常用端口速查/50000 Jenkins 代理 / DB2 撞车端口

50000 Jenkins 代理 / DB2 撞车端口

著名"撞车口":Jenkins 的 JNLP 构建代理默认 50000,IBM DB2 数据库服务器默认也是 50000——混用时排查与策略都要先分清是哪一类。

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

50000 是什么

50000 是著名的撞车端口:Jenkins 的 JNLP 构建代理默认使用它,IBM DB2 数据库服务器的默认服务端口也是它。两者都在企业内网高频出现,因此看到 50000 时,第一件事是分清它属于哪一类——是把 CI 代理口暴露出来,还是数据库在正常提供服务,处置方式完全不同。

基本信息

常见归属Jenkins JNLP Agent / IBM DB2
端口/协议TCP,50000
Jenkins 侧旧式 TCP agent 口,新版可改随机或 WebSocket
DB2 侧数据服务器默认服务名与端口
安全等级各自仅内网;Jenkins 侧尤需限源

典型使用场景

  • CI 排障:构建节点无法注册到控制器时确认代理通道
  • 数据库巡检:确认 DB2 实例监听端口与服务名配置
  • 防火墙评审:看到 50000 时判断该放行还是该收敛
  • 安全核查:确认 Jenkins 代理口未对不受控网段开放
  • 现代化改造:把 TCP 代理改为 WebSocket,取消 50000 入站放行

两侧核查命令

两侧核查命令
ss -lntp | grep 50000                       # 先确认谁在本机监听
ps -ef | grep -Ei 'jenkins|java|db2' | grep -v grep | head -10   # 按进程判断归属
db2 get dbm cfg 2>/dev/null | grep -i svcename   # DB2 侧的服务名与端口
curl -s http://jenkins:8080/manage | head -3     # Jenkins 侧页面可达性(需凭据)
journalctl -u jenkins -n 20 2>/dev/null          # 控制器日志中看 agent 注册记录

撞车分辨

身份典型表现定位方法
Jenkins 代理构建机主动连控制器事件日志中出现 agent 注册与断开记录
DB2 服务数据库客户端连接与管理工具可达db2 get dbm cfg 查看服务名
来源不明进程归属不清或无业务认领用 ss/lsof 拿到 PID 后追溯启动方式与负责人
现代化路径:新版 Jenkins 支持 WebSocket 方式的入站代理,复用控制器的 8080 反向通道,调整后就可以顺势取消 50000 的入站放行,把这个易混淆的端口彻底腾出来。
Jenkins 代理通道一旦可达,攻击者可以借它获得构建环境中的凭据与产物访问能力。安全评估时不要把它当成「普通高位端口」,它与源码、凭据和发布流水线直接相连。
DB2 侧变更服务名或端口要同步更新客户端目录配置,否则会出现「实例正常但客户端连不上」的情形,排查时注意区分服务端监听与客户端连接配置两处。

易错点

  • 把 CI 代理口当普通高位端口整段放行:拿到代理连接能力约等于拿到构建产物与凭据
  • 看到 50000 就按数据库端口处理:身份判断错误导致策略收敛方向完全相反
  • 改端口只改服务端未更新客户端配置:实例正常但业务连不上,排查耗时
  • 遗留的旧式 TCP 代理长期保留:既多一条入站通道,也让端口归属长期模糊

数据来源与参考

  • Jenkins 文档(JNLP agent 默认 50000);IBM DB2 文档(数据服务器默认 50000)

相关工具

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