2014-12-08 288 views
0

我正在開發一個web應用程序。我想知道客戶機器的某些參數。我已經能夠找出大部分參數,但是我在以下參數中遇到了問題。有沒有辦法通過瀏覽器向客戶端發送TCP請求?

1)TCP時間戳

2)TCP/IP指紋

所以,我的問題是,有沒有一種方式,通過我的web應用程序發送TCP請求的客戶端(假設我知道客戶端的IP地址)。或者有什麼方法可以找到客戶機器上的這些參數。任何提示如何開始將不勝感激。

+0

您可以ping一個http可到達的IP,但很難確切地告訴您要做什麼。 – dandavis 2014-12-08 05:45:15

+0

的事情是,我正在設備指紋識別。我想從客戶端機器收集儘可能多的參數,而不使用客戶端機器上運行的小程序或代碼。我想借助Javascript來提取這些參數。所以我只是想知道是否有一種方法通過javascript找到tcp請求時間? – user3213851 2014-12-08 05:49:05

+0

你可以花時間和Ajax請求等,你可以從webRTC支持的瀏覽器獲得當前的客戶端IP。使用performance.now()獲取手動觀測的高分辨率時間戳。 performance.getEntries()也有連接細節,這可以讓你免去手動時間,並且它報告重定向,這些簡單的圖像不會... – dandavis 2014-12-08 05:51:18

回答

1

所以,我的問題是,有沒有辦法通過我的web應用程序發送TCP請求到客戶端(假設我知道客戶端的IP地址)。或者有什麼方法可以找到客戶機器上的這些參數。任何提示如何開始將不勝感激。

如果您可以使用來自Web應用程序的套接字(而不是websockets),那麼您可以嘗試與客戶端建立TCP連接。但這在大多數情況下可能不起作用,因爲:

  • 客戶端將不會偵聽來自外部的TCP連接,所以您最多隻能獲得一個RST數據包。
  • 今天,客戶端主要位於一些NAT設備之後,如家中的路由器或移動網絡中的路由器。因此,從客戶端連接到您的服務器的源IP在大多數情況下不是客戶端本身的IP,而是NAT路由器的IP。由於客戶端沒有公共IP地址,因此無法直接聯繫。

1)TCP時間戳

2)TCP/IP指紋

這些通常是不參數,您做一個簡單的TCP請求找出來,但你需要與原工作插座。此外,這些信息的一部分可以從已建立的連接派生,但您必須能夠跟蹤原始級別的連接(如使用tcpdump)。

相關問題