2017-05-19 86 views
2

我嘗試從git://git.kernel.org克隆Linux分支到本地機器:爲什麼使用git協議克隆項目沒有反應?

# git clone git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux -b perf/core 
Cloning into 'linux'... 

但沒有迴應。使用tcpdumpWireshark檢查捕獲的數據包:
enter image description here 我們可以看到TCP連接已建立。但在客戶使用git smart protocol發送請求後,沒有任何迴應。

任何人都可以提供一些線索嗎?

更新:
(1)根據@MariaInesParnisari建議,使用--verbose標誌,但它並沒有表現出更多的信息:

# git clone git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux -b perf/core --verbose 
Cloning into 'linux'... 
Looking up git.kernel.org ... done. 
Connecting to git.kernel.org (port 9418) ... 147.75.110.187 done. 

(2)更改爲https協議,它的工作:

# git clone https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux -b perf/core --verbose 
Cloning into 'linux'... 
POST git-upload-pack (gzip 25015 to 12570 bytes) 
remote: Counting objects: 5287534, done. 
remote: Compressing objects: 100% (807310/807310), done. 
+1

嘗試添加'--verbose'標誌和後輸出 –

+0

@ MariaInesParnisari更新,謝謝! –

+0

這可能是一個防止連接的公司防火牆嗎? (我看到你從git.kernel.org得到了一個同步信息,我的net-sec知識有點生疏,但我認爲FW有時會將此信息發送到主機的地方,故意嘗試導致超時,從而阻止客戶端) – visibleman

回答

0

我從來沒有設法使用git協議克隆工作:它使用特殊端口9418,它始終被阻止。

只有HTTPS工作/允許的,GIT中和ssh通常阻止(出站連接,由於SSH被允許企業內部網內的服務器)

+0

如何解釋'147.75.110.187'中的ACK?你認爲這是僞造的嗎?謝謝! –

+0

@NanXiao我認爲這是「連接到git.kernel.org」部分的一部分。但是一旦它實際上試圖通過該端口進行通信,它應該被阻止。 – VonC