【发布时间】:2021-04-19 19:38:40
【问题描述】:
我正在编写一个拦截代理工具,如Burpsuite 用于安全测试。其中一个重要部分是发送格式错误的 HTTP 请求,在这种情况下,我们必须让用户完全控制请求!
所以,我在使用库时无法完全控制!我需要能够向目标主机发送原始 HTTP 请求,例如,
GET / HTTP/1.1
Host: google.com
我的尝试:-
我尝试使用节点 JS net module,我能够连接到端口 80 (HTTP) 上的主机,同时连接到端口 443 (HTTPS ),建立连接但返回空响应!
在一些研究中,我发现这与 SSL 有关,因为我尝试了 telnet,但 HTTPS 连接也失败了,并查看了一些 stackoverflow 答案!
是否有任何选项可以让我直接从我的节点应用程序直接发送原始 HTTP/HTTPS 请求?
谢谢!
【问题讨论】:
-
尝试对 HTTPS 请求使用
tls模块。 -
嘿,很抱歉延迟响应,但我有一个部分工作的代码,我无法使用 TLS 模块发出 HTTP 请求,但能够发出 HTTPs 请求!
-
没错,实际上——
net模块是未加密的 TCP,tls模块是加密的 TCP(即 TLS)。您必须使用这两个模块来发出 HTTP/HTTPS 请求:net用于 HTTP,tls用于 HTTPS。 -
感谢您的信息! :)
标签: node.js sockets http ssl https