【问题标题】:Identify computer via NAT in php在php中通过NAT识别计算机
【发布时间】:2012-09-12 17:49:05
【问题描述】:

是否可以通过读取IP-Package的NAT-Header来识别php中的发送机器。

我的目标是确定我的用户在多少台计算机上登录到我的页面。

最好的问候

【问题讨论】:

  • 假设这一切都在本地网络上(因为我们正在谈论 NAT),使用 cookie 来识别它们有什么问题?还是其他一些面向浏览器的技术?

标签: php package nat


【解决方案1】:

这是不可能的 - 你和最终用户之间有很多路由器。

NAT 是使用存储在路由器内存中的 NAT 表组织的,因此网络包中没有敏感信息。所以这是不可能的根据定义

【讨论】:

  • 是的,你是对的。但是每台机器都会在每个包中放入一些信息,以便所有众多路由器都知道我的传出包专用于哪台机器。
  • @JanP。内核负责这一点,而不是网络服务器。网络服务器只获取数据包中的数据,而不是帧头
  • @Jan P.:我确信路由器会在内存中保存所有必要的信息,并且不会将包浪费在合理的东西上
  • @Jan P:zerkms 的回答是绝对正确的——除非数据包发起者故意将一些信息放入有效负载中,否则无法确定通过单个 NAT 边界的 IP 数据报的来源。客户端的操作系统没有添加任何额外的信息,而是添加了最近经过 NAT 的源 IP 地址。
【解决方案2】:

简短回答:不!

服务器只获取请求的最后一个公共 ip,在 NAT 的情况下,是路由器的 ip。

【讨论】:

  • “读取请求的原始MAC地址”——从哪里来?
  • @zerkms 来自以太网帧数据包
  • 为什么会有“原始 MAC”?只有最新路由器的MAC地址
  • @zerkms 你是对的,我的错。我会编辑我的答案。我一直认为每个数据包在通过每个网络节点时都包含原始 MAC 地址。我猜是 NAT 剥离了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
相关资源
最近更新 更多