一、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/n/371504.html