簡體   English   中英

我可以使用套接字使用ruby收集HTTP通信嗎?

[英]Can i collect HTTP traffic with ruby using sockets?

因此,我最近一直在使用套接字,我想知道是否有一種方法可以通過套接字檢索HTTP數據(正在從系統發送和接收的HTTP數據)?

我看了看TCPServer等,試圖使其在端口80上偵聽(不確定即時通訊是否已關閉),而我嘗試了Google,但之后似乎可以找到答案。

那么,有什么想法嗎?

可以使用套接字創建代理服務器,但它不是偵聽計算機上所有流量的“嗅探器”。

套接字服務器監聽與該套接字建立的連接,就像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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM