有没有办法通过浏览器向客户端发送TCP请求?

时间:2014-12-08 05:38:02

标签: javascript sockets tcp tcp-ip fingerprint

我正在开发一个Web应用程序。我想知道客户端机器的某些参数。我已经能够找到大部分参数,但我对以下参数感到震惊。

1)TCP时间戳

2)TCP / IP FingerPrint

所以,我的问题是,有没有办法通过我的Web应用程序向客户端发送TCP请求(假设我知道客户端的IP地址)。或者有没有办法在客户端的机器上找到这些参数。任何关于如何开始的提示都将不胜感激。

1 个答案:

答案 0 :(得分:1)

  

所以,我的问题是,有没有办法通过我的Web应用程序向客户端发送TCP请求(假设我知道客户端的IP地址)。或者有没有办法在客户端的机器上找到这些参数。任何关于如何开始的提示都将不胜感激。

如果您可以使用Web应用程序中的套接字(而不是websockets),则可以尝试与客户端建立TCP连接。但这在大多数情况下可能不起作用,因为:

  • 客户端不会侦听来自外部的TCP连接,因此您最多只能获得一个RST数据包。
  • 今天,客户主要落后于某些NAT设备,如家中或移动网络内的路由器。因此,从客户端连接到服务器看到的源IP在大多数情况下不是客户端本身的IP,而是NAT路由器的IP。由于客户端没有公共IP地址,因此无法直接访问。
  

1)TCP时间戳

     

2)TCP / IP FingerPrint

这些通常不是您通过执行简单的TCP请求找到的参数,但您需要使用原始套接字。此外,这些信息的一部分可以从已建立的连接派生,但您必须能够跟踪原始级别的连接(例如使用tcpdump)。