Skip to content
Wireshark Wiki 中文翻译整理专题首页原始页面

FastCGI

FastCGI 是用于让交互式程序与 Web 服务器对接的协议。FastCGI 是早期 Common Gateway Interface (CGI) 的一种变体;FastCGI 的主要目标是减少 Web 服务器与 CGI 程序对接相关的开销,使服务器能够同时处理更多网页请求。

历史

为了解决 CGI 的可扩展性缺陷,Open Market 开发了 FastCGI,并在 1990 年代中期首次将其引入自己的 webserver 产品。Open Market 最初开发 FastCGI,在一定程度上是为了回应 Netscape 用于开发 Web 应用程序的专有进程内 API(NSAPI)的竞争。

虽然 FastCGI 最初由 Open Market 开发,但许多其他 webserver 厂商也实现了它。不过,FastCGI 方法需要与其他同样旨在加速和简化服务器与子程序通信、但不遵循 CGI 范式的技术竞争。Apache 模块(如 mod_perl 和 mod_php)大约在同一时期出现,并且似乎是 CGI 的更好替代方案,允许与核心 webserver 更紧密地集成。

协议依赖

  • TCP:通常,FastCGI 使用本地 unix domain sockets,或使用 TCP 作为传输协议的网络连接。FastCGI 流量没有知名 TCP 端口。

示例流量

SampleCaptures 文件 fcgi.pcap.gz 中 FCGI record 的截图。

Wireshark

FCGI dissector 可用,并且大多数 record 类型都会被解码。

首选项设置

FCGI dissector 有一个首选项,用于设置 FCGI 流量的端口号。

示例抓包文件

apache 向 FCGI 应用服务器发送单个 HTTP 请求并收到响应的抓包:

  • SampleCaptures/fcgi.pcap.gz

显示过滤器

FastCGI 显示过滤器字段的完整列表可在显示过滤器参考中找到。

仅显示基于 FastCGI 的流量:

 fcgi

抓包过滤器

抓包时不能直接过滤 FastCGI 协议。不过,如果你知道所使用的 TCP 端口(见上文),可以基于该端口进行过滤。

仅抓取端口 8000 上的 FastCGI 流量:

 tcp port 8000

外部链接

  • FastCGI Specification

讨论

于 2020-08-11 23:13:58 UTC 从 https://wiki.wireshark.org/FastCGI 导入

原始页面图片

wireshark-fcgi.png
wireshark-fcgi.png

相关 Wireshark Wiki 页面

网络分析技术档案