【发布时间】:2016-02-09 20:32:18
【问题描述】:
所以,我最近一直在使用套接字,我想知道有没有办法通过套接字检索 HTTP 数据(正在从我的系统发送和接收)?
我查看了 TCPServer 等,试图让它在端口 80 上侦听(不确定我是否会关闭),我已经尝试过 Google,但我似乎可以在之后找到答案...
那么,有什么想法吗?
【问题讨论】:
标签: ruby sockets networking tcpsocket
所以,我最近一直在使用套接字,我想知道有没有办法通过套接字检索 HTTP 数据(正在从我的系统发送和接收)?
我查看了 TCPServer 等,试图让它在端口 80 上侦听(不确定我是否会关闭),我已经尝试过 Google,但我似乎可以在之后找到答案...
那么,有什么想法吗?
【问题讨论】:
标签: ruby sockets networking tcpsocket
可以使用套接字创建代理服务器,但它不是侦听计算机上所有流量的“嗅探器”。
套接字服务器监听与该套接字建立的连接,就像 Web 服务器一样,它也是一种套接字服务器。它侦听连接,发送标头,然后侦听 Web 浏览器的请求,并通过套接字将数据返回给浏览器。
要监控本地网络流量,您需要一个网络监控器,也称为“嗅探器”,例如 Wireshark。
【讨论】:
您可以使用 WEBrick 之类的 ruby 代理,并将其设置为整个计算机的代理。
例如:
require 'webrick'
proxy = WEBrick::HTTPProxyServer.new(:Port => 8080, :ProxyContentHandler => proc do |request, response|
if request.port == 80
# Play with the data
print "Available methods for request\n"
print request.methods.join("\n") + "\n"
print "\nAvailable methods for response\n"
print response.methods.join("\n") + "\n"
end
end
proxy.start
【讨论】: