You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何识别企业网络中发往github.com的代码提交/推送相关流量?

GitHub代码推送的网络请求分析与流量筛选

关于PUSH请求的推测

你的推测部分正确,需结合Git的两种主流传输协议区分:

  • 若使用HTTPS方式推送代码,设备会向GitHub的HTTPS端点(格式如https://github.com/<用户名>/<仓库名>.git)发送HTTP POST请求——这不是标准REST API的PUSH方法,而是Git基于HTTP自定义的交互流程,底层用POST传输推送数据。
  • 若使用SSH方式推送,不会走HTTP/HTTPS的URL或API,而是直接通过SSH协议(默认22端口)与GitHub的SSH服务器通信,不存在传统意义上的HTTP PUSH请求。

能否导出并筛选GitHub推送相关流量?

可以,但需针对不同传输协议分别处理:

1. 筛选HTTPS协议下的推送流量

  • 先导出全量网络请求的目标地址,再通过以下特征筛选:
    • 目标域名包含github.com
    • 请求路径匹配Git仓库端点格式:/<用户名>/<仓库名>.git
    • 请求方法为POST(Git over HTTPS的核心推送动作依赖POST请求)
  • 以Wireshark为例,可使用过滤规则:
    http.host contains "github.com" and http.request.method == "POST" and http.request.uri matches "^/[^/]+/[^/]+\.git"
    

2. 筛选SSH协议下的推送流量

  • SSH方式无HTTP URL,需通过以下特征筛选:
    • 目标IP属于GitHub的SSH服务器IP段(可通过DNS解析工具或官方公布的IP范围获取)
    • 目标端口为22
    • SSH会话负载包含git-receive-pack关键字(Git推送时的核心交互命令)
  • 以Wireshark为例,可使用过滤规则:
    tcp.port == 22 and ip.dst in <GitHub SSH IP段> and tcp.payload contains "git-receive-pack"
    

注意事项

  • GitHub的IP范围会动态更新,需确保使用最新的官方IP段。
  • 私有仓库与公开仓库的推送流量传输机制完全一致,无法仅通过网络流量区分,需结合用户身份或仓库权限信息进一步判断。

内容的提问来源于stack exchange,提问作者IMTheNachoMan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 20:02:41