如何识别与推送或提交到 github.com 匹配的所有网络流量?

问题描述 投票:0回答:1

假设我在同一公司网络上有数千名用户发出数百万次网络请求/交易。

假设他们中的一些人正在将代码提交或推送到 github.com 上的某个公共或私有存储库。

然而,他们正在提交或推送代码——命令行、IDE 等——我假设计算机向某些 GitHub URL/API 发出某种类型的 PUSH 请求。是这样吗?

我可以转储所有网络请求的所有目的地,然后过滤提交/推送到 GH 吗?

git networking firewall
1个回答
0
投票

Git 有自己的有线协议,但实际上该协议包装在 HTTPS 或 SSH 请求中,以通过公共互联网发出请求。这两个协议实现了普通

git://
不支持的加密和身份验证/授权方法。除了推送之外,这两种方法还包含拉取、获取、克隆和
ls-remote
调用。 GitHub 的 API 是一个单独的东西,通常用于控制存储库(设置、更改权限、文件问题等),而不是接收提交。

如果您只对特定时间段内 GitHub 的连接数感兴趣,那么您应该能够记录您的网络和 GitHub IP 范围之间的流量(https://api.github.com/meta 有目标端口 22、80 和 443 上的最新列表)。这将包括所有请求,但不会告诉您特定请求是推送还是拉取,还是 UI 上的某些请求或其他内容,以及它也不会告诉您特定请求是否成功。

如果您想具体了解一段时间内发生了多少次推送,那么您必须通过某种检查代理来路由所有流量。 (您可能还想禁止与

github.com:22
ssh.github.com:443
的连接,因为 SSH 代理可能会变得复杂。)这种方法的设置和维护工作量很大,但它可以告诉您发生了多少次推送,以及这些是否成功。

© www.soinside.com 2019 - 2024. All rights reserved.