移动网络运营商(也包括电话公司,电信公司,提供商)有时会提供仅在电话上可用的低成本数据包。他们说,大约是这样。
如何区分使用Android手机上的浏览器浏览网络的用户和使用与Android手机绑定的笔记本电脑上的浏览器的用户?
2012年初,我在巴黎,当时正在使用Orange移动数据包和诺基亚E51(Symbian S60)。确实,我只能使用手机的浏览器访问Internet,而不能通过拴在手机上的笔记本电脑访问Internet。现在,我有一个Android 2.3手机,我正在考虑在西班牙(运营商MásMóvil)订购类似的数据包。
#1 楼
网络提供商通常不想谈论如何检测到某人正在捆绑设备,因为显而易见的原因是,消费者越了解这种检测方式,他们越容易找到隐藏方法。他们这样做的事实,并避免了相关的额外费用(1)。但是,如果您的服务提供商恰巧正在运行正确的工具来检查以下指标,则某些已知技术可以消除您当前正在进行网络共享的事实:您的电话询问您的网络是否允许网络共享
第一种也是最简单的方法是,某些电话会查询网络,以检查当前合同是否允许网络共享,如果没有,则完全禁用设备中的网络共享选项。通常只有在您运行由提供商自定义的OS版本(例如示例1示例2)时,这种情况才会发生。
您的电话告诉您的网络,您正在共享网络。
也有传言说某些电话有第二电话网络保存在其中的一组APN详细信息,启用网络共享后,它们会切换为使用第二个APN来处理所有网络通信,而使用普通APN来处理来自电话的通信。但是,除了人们发现奇怪的APN并想知道它们的用途外,我还没有找到任何具体的证据(请记住,以合同形式购买的未锁定手机可能已经存储了成百上千的APN,在最终所有者决定使用哪个国家的任何网络上使用)。
检查网络数据包的TTL(生存时间)
通过TCP / IP网络(例如互联网)传输的每个网络数据包,它具有内置的生存时间(TTL),因此,如果该数据包到达目的地存在问题,这将使它永远无法在网络中传播,从而永远阻塞一切。
这种工作方式是,当数据包离开发送设备(您的电话或笔记本电脑)时,数据包以设置的TTL编号(例如128)开头,然后每次该数据包通过任何类型的路由器(例如您的路由器)家用宽带路由器,或者您的ISP或电话公司的路由器),该路由器从TTL中减去一个(在此示例中将TTL减为127),它所经过的下一个路由器又将TTL减一,因此开启时,如果TTL曾经达到零,则位于它的路由器将丢弃该数据包,并且不会再次传输它。
当您的手机进行网络共享时,它就像路由器一样,因为数据包从您的网络共享笔记本电脑经过您的电话并进入电话网络,您的电话将从TTL中减去“ 1”,以表明数据包已通过其第一个路由器。电话网络知道普通设备的预期TTL是多少(例如,来自iPhone的数据包始终以64的TTL开始),因此它们可以发现比预期少(或完全不同)的TTL。
MAC地址检查
TCP / IP网络上的设备(例如Internet)都在其网络接口上设置了唯一的MAC ID。它由两半组成,一半标识接口的制造商,另一半是制造商分配的唯一标识符(如序列号)。发送的每个网络数据包都将使用原始设备的网络端口的MAC地址进行“标记”。笔记本电脑的wifi卡的MAC地址将具有与手机3G接口的MAC地址完全不同的制造商和序列号。
TCP / IP堆栈指纹
不同的计算机操作系统(例如Android,iOS,Windows,Mac OSX,Linux等)使用不同的默认值和设置(例如,初始数据包大小,初始TTL,窗口大小...)设置其TCP / IP堆栈。这些值的组合可以给出一个“指纹”,该指纹可用于识别原始设备上正在运行的操作系统。这样做的副作用可能是,如果您使用的是不常见的操作系统,或者与其他设备上的手机相似的操作系统,则可能不会发现您的网络共享。
查看目标IP / URL
通过设备定期进行通信,您可以学到很多东西。
例如,如今,许多操作系统在首次连接到wifi网络(例如wifi系绳连接)时就进行了强制门户检测。通过尝试通过Internet连接到已知的Web服务器,并检查他们是否获得了期望的响应,来实现这一点。如果未收到预期的响应,则可能是您所连接的wifi连接是“强制门户”,并且可能需要您登录或付费才能连接到它。由于Microsoft操作系统(例如Windows Vista和Windows 7)默认情况下会使用Microsoft服务器进行检查,而其他操作系统(例如Android,MacOS等)都将连接到其母公司的服务器以进行这些检查,因此可以很好地指示操作
另外,如果设备定期与Windows Update服务器联系,则很有可能该设备是Windows PC或笔记本电脑,而如果它定期与Google的Android更新服务器进行检查,则或者他们是否可以看到您正在连接到Apple App Store,但是您的SIM卡所在设备的IMEI表示它不是Apple设备,也许您是将iPad绑定到了Android手机?
更复杂的系统可以查看整个数据范围,以查看您正在与谁进行通信(例如,您是通过电话连接到Facebook应用程序的API服务器,还是通过PC连接到Facebook的网络服务器)并将这些指示器的全部负载加在一起,以创建一个指纹,以指示您可能使用的设备类型。当新设备类型和服务问世时,其中一些指纹可能会被捕获,例如,有报道称,内置3G平板电脑问世后,AT&T网络上的这些指纹的一些所有者收到邮件警告他们在没有连接时进行了绑定,因为这种新型设备的指纹看起来并不像典型的手机。
(1)显然,在尝试使用任何方法绕过绑定检测之前,请记住检查您的电话合同以及电话公司的网络共享政策。对于试图绕过限制和限制的人们,他们的合同,合理使用政策或可接受使用政策中可能包含有惩罚条款。
评论
很棒的答案!我还再次联系了MásMóvil,这次客户支持代表说,所有资费和选择权都可以用于网络共享。因此,我预订了一个很好的报价,是的,与Android 2.3手机(通过USB)进行网络共享确实可以正常工作。也许下次我在法国时,我将尝试使用TTL,以查看是否可以绕过Orange。
– feklee
13年7月3日在16:35
感谢您提供的知识渊博的见解。我只想反对MAC检查部分。如果您将电话用作路由器(如用于绑定向外的互联网连接),则根据IP路由的定义,客户端的MAC地址根本不会传输给提供商。它们被运营商期望的电话MAC所取代。
–user39754
13年8月20日在18:27
我怀疑这是我的牢房正在发生的事情。自从我“升级”到5.1与tmo的网络共享后一直无法正常工作。即使当我使用https时(这将掩盖用户代理,这也是他们过去这样做的方式)。如何确定我的手机是否与提供者通话?
–克里斯蒂安·邦吉诺(Christian Bongiorno)
15年7月24日在22:10
关于您的MAC地址点的注释:绑定只是NAT(嗯,就这么简单)。因此,内部(ip:port)<-> externa(ip:port)映射必须由NAT设备管理,但除此之外,实际的IP有效负载是唯一需要的。实际上,如果您通过连接的设备MAC以某种方式在Internet接口上标识了它永远不会路由。不知道如何/为什么/应该/应该暴露内部设备MAC。
–克里斯蒂安·邦吉诺(Christian Bongiorno)
15年7月24日在22:29
我有一个网络共享计划。将sim卡从我的iPad(具有网络共享功能)中取出并放入扎根的HTC手机中,这样就可以进行网络共享。但是,股票android表示我的计划没有限制。是否有非根本方法可以解决此问题?
–提请
2015年10月1日在21:20
#2 楼
实际上,移动网络Internet提供商主要使用带有URI指纹的深度包检查来检测网络绑定。这是用于大规模操作的唯一可行方法。他们可以使用已知的网站,例如Windows更新服务器,以检测它是正在访问的非电话设备。或对于HTTP,请读取Web浏览器用户代理以检测该浏览器是否适用于非电话平台。话虽如此,这些方法有一些明显的局限性。
从开始使用到检测可能需要几分钟的时间偏移
通过使用最终用户加密,检测可以抵消
使用所有可能的指纹技术通常会触发误报
因此,从操作员的角度来看,绑定检测是一种平衡行为。它们通常仅能实施足够多的功能,以阻止常规的非极客用户(构成绝大部分的移动用户)。部署更严格的检测以阻止精通技术的用户通常不值得付出努力,并且可能会因生成过多的假阳性事件而事与愿违。只要他们为使用过的数据付费,他们就会另辟look径。
他们宁愿将精力集中在黑客上,并阻止由于网络攻击而造成的收入泄漏。
#3 楼
最简单的方法是TTL检查。如果将连接路由到第二台设备(通过移动wifi热点或其他可行方式),则电话公司的路由器会在数据包通过时发现某些TTL值与其他TTL值不同。由于存在可用于许多设备(更具体地说是其操作系统)的预期初始TTL值的表,因此电话公司会立即发现问题,因为它们可以轻松计算出数据包的来源“有多远”。它不需要深入的数据包检查,因为TTL值可在任何类型的IP数据包中提供给所有人查看,并且实际上是在数据包传递到目的地时由路由器修改的(每次通过时减少1)。因此,解决方法非常简单。评论
您可以链接一些资源吗?顺便说一句,+ 1为研究答案。
–塔莫格纳·乔杜里(Tamoghna Chowdhury)
15年11月26日在13:48
评论
可以通过深度数据包检查来完成。您可以通过Stacheldraht包围的TOR,隧道和vpn进行反击。