一、Gopher協議名詞解釋
Gopher協議是一種簡單的文件傳輸協議,由Mark P. McCahill和他在明尼蘇達大學的同事發明於1991年。
Gopher是一種基於文本的協議,用於從互聯網檢索文檔,類似於HTTP。但是,與HTTP不同,Gopher協議是一個「封閉」系統——它不允許鏈接到其他協議。
Gopher協議是一個客戶端-服務器協議,它允許客戶端從遠程服務器檢索和顯示文檔(通常是文件列表),並提供一些本地命令來支持應用程序內部的導航。 其中包括返回到上一級響應、向下導航到子菜單、查看文本文件或執行其他靜態操作等。
二、Gopher協議漏洞
雖然Gopher協議並不像HTTP協議那樣常見,但它也曾存在漏洞。2007年,一個名為跨站Gopher(XSG)的漏洞被發現,利用該漏洞,攻擊者可以通過惡意菜單項將用戶重定向到惡意站點。
gopher://example.com/5/hacked<script> window.location="http://evil.example.com/" </script>
該漏洞在2008年被修復,並且因其罕見性和影響限制而未被廣泛利用。
三、Gopher協議CTF
在CTF活動中,Gopher協議也經常用於題目的構建。一些基於Gopher協議的CTF題目包括隱藏文本內容、解構文本文件、利用文件名等。
以下是一些基於Gopher協議的CTF挑戰:
gopher://example.com:9000 gopher://example.com/1/_flag gopher://example.com/7/textfile.txt
四、Gopher協議端口號
Gopher協議使用TCP端口號70。雖然該協議已經過時,但在一些非常規的情況下,例如在沒有瀏覽器支持的舊系統上,該協議仍然在使用。
五、Gopher協議是什麼協議
Gopher協議是一種簡單的客戶端-服務器協議,它允許客戶端從服務器檢索和顯示文檔。
該協議非常適合被應用在低帶寬環境中,因為其文本格式並不依賴圖片、音頻或視頻等文件。然而,HTTP的普及和NTTP等新協議的出現使得Gopher協議逐漸過時。
六、Gopher協議的中文名稱
Gopher協議的中文名稱是鼴鼠協議。
該協議的中文名來源於其對網絡爬蟲和文檔爬取的相似性,就像鼴鼠在地下「爬行」一樣,從互聯網中檢索文檔。
七、Gopher什麼意思
Gopher的字面含義是「鼴鼠」。Mark P. McCahill 告訴過人們,他喜歡在大學校園裡看到這種小動物,「他們會快速地鑽進地洞里做自己的事,然後就消失了。」這啟發了他創建一個既快速又隱藏的協議。
八、Gopher服務
Gopher協議允許服務器提供對菜單和文件的訪問,並將其傳輸到Internet上的客戶端。
以下是一個示例Gopher服務器:
import socket HOST = '' PORT = 70 def main(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) sock.bind((HOST, PORT)) sock.listen(5) while True: client, address = sock.accept() data = client.recv(1024) if data: response = b"Hello World!\r\n" client.send(response) client.close() if __name__ == "__main__": main()
九、Gopher端口號
Gopher協議使用TCP端口號70。
十、Gopher是什麼服務器
Gopher服務器是指運行Gopher協議的服務器程序。
Gopher服務器用於存儲和分發文檔,類似於Web服務器,但更加簡單。以Linux為例,可以使用Gophernicus或pygopherd等Gopher服務器軟件。
原創文章,作者:HFTFP,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/371504.html