我可以使用套接字使用ruby收集HTTP流量吗?

时间:2016-02-09 20:32:18

标签: ruby sockets networking tcpsocket

所以,我最近一直在使用套接字,我想知道有没有办法通过套接字检索HTTP数据(从我的系统发送和接收)?

我看着TCPServer等尝试让它在端口80上听(不确定我是否已经关闭)并且我已经尝试了谷歌但我似乎可以在...之后找到答案...

那么,有什么想法吗?

2 个答案:

答案 0 :(得分:0)

可以使用套接字创建代理服务器,但它不是一个“嗅探器”来监听计算机上的所有流量。

套接字服务器侦听与该套接字建立的连接,就像Web服务器一样,它也是一种套接字服务器。它侦听连接,发送标头然后监听Web浏览器询问的内容,并通过套接字将数据返回给浏览器。

要监控本地网络流量,您需要一个网络监视器,也称为“嗅探器”,例如Wireshark

答案 1 :(得分:0)

您可以使用像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