我正在一起黑客攻击一些node.js代码,这些node.js代码称为外部网络服务,结果却得到了不好的结果。我想记录原始请求和响应,以便可以检查它。
这是:我不是直接消费http库,我是通过OAuth库消费的。
我已经在OAuth库代码中添加了调试语句,但我不喜欢它。现在看来我将不得不进入HTTP库并开始搞砸吗?这是不正确的。
如果我在窗户上,我会解雇提琴手。一个朋友提到了Wireshark,但Wireshark告诉我我必须安装X11。真的吗?我不会掉下兔子洞。
然后我尝试了节点检查员,但我认为这是用于服务器代码而不是客户端代码的。它说您想在附加之前开始您的节点过程。好吧,我的节点过程是一个测试用例(誓言),不久之后结束了...所以没有运气。
我想任何堆栈都很难,但是jeez,这让我想念.net!
那么,我如何检查使用Node.js用作山脉外部Web服务的客户时的电线?
谢谢!Dan
设法在http
/https
上安装钩子,原因是出于相同的原因。
function requestLogger(httpModule){
var original = httpModule.request
httpModule.request = function(options, callback){
console.log(options.href||options.proto+"://"+options.host+options.path, options.method)
return original(options, callback)
}
}
requestLogger(require('http'))
requestLogger(require('https'))
您可以查看全局重新测试器模块,该模块使用@Uiron提到的相同技术,但还有更多详细信息。