Android private IP leak
来源:互联网 发布:群ping软件 编辑:程序博客网 时间:2024/06/10 10:52
Android 手机作为热点时,客户端请求上网的过程中出现私有IP(192.168.x.x)泄露到公有网络的问题,就是在抓到的数据包中,有一段时间作为热点的手机用私有IP去请求网络数据。查找问题原因,做以下记录。
NAT(Network Address Translation,网络地址转换)是将IP 数据包头中的IP 地址转换为另一个IP 地址的过程。在实际应用中,NAT 主要用于实现私有网络访问公共网络的功能。这种通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用IP地址空间的枯竭。
NAT的功能就是指将使用私有地址的网络与公用网络INTERNET相连,使用私有地址的内部网络通过NAT路由器发送数据时,私有地址将被转化为合法注册的IP地址从而可以与INTERNET上的其他主机进行通讯。NAT路由器被置于内部网和INTERNET的边界上并且在把数据包发送到外部网络前将数据包的源地址转换为合法的IP地址。当多个内部主机共享一个合法IP地址时,地址转换是通过端口多路复用即改变外出数据包的源端口并进行端口映射完成。
说明:
私有 IP 地址是指内部网络或主机的IP 地址,公有IP 地址是指在因特网上全球唯一的IP 地址。
RFC 1918 为私有网络预留出了三个IP 地址块,如下:
A 类:10.0.0.0~10.255.255.255
B 类:172.16.0.0~172.31.255.255
C 类:192.168.0.0~192.168.255.255
上述三个范围内的地址不会在因特网上被分配,因此可以不必向ISP 或注册中心申请而在公司或企业内部自由使用。
Android 4.1中,有客户端连接到热点分配IP之前,先做了disableNatBySubnet,再enableNatBySubnet。
D( 459: 560) disableNatBySubnet : nat disable wlan0 rmnet0 2 fe80::/64 192.168.43.0/24V( 459: 560) disableNatBySubnet() cmd:nat disable wlan0 rmnet0 2 fe80::/64 192.168.43.0/24 response is Nat operation succeededD( 459: 560) enableNatBySubnet : nat enable wlan0 rmnet0 2 fe80::/64 192.168.43.0/24V( 459: 560) enableNatBySubnet() cmd:nat enable wlan0 rmnet0 2 fe80::/64 192.168.43.0/24 response is Nat operation succeededI( 2146: 2146) DHCPDISCOVER(wlan0) c4:6a:b7:2d:0f:f7 I( 2146: 2146) DHCPOFFER(wlan0) 192.168.43.178 c4:6a:b7:2d:0f:f7 I( 2146: 2146) DHCPREQUEST(wlan0) 192.168.43.178 c4:6a:b7:2d:0f:f7 I( 2146: 2146) DHCPACK(wlan0) 192.168.43.178 c4:6a:b7:2d:0f:f7 android-8881a377cd2d2cdc
调用disableNatBySubnet,enableNatBySubnet方法时存在问题导致私有IP泄露。
- Android private IP leak
- 【RAC】修改private ip
- Android memory leak detection
- Android Handler leak
- Android Handler Memory Leak
- Android memory leak analysis
- Android memory leak
- Android memory leak detect
- Oracle10g RAC Private IP修改
- Android memory leak using MAT
- Android OOM与 leak window
- android 窗体泄露 window leak
- android webview memory leak 线索
- android memory leak analysis tools
- Android Memory/Resource Leak总结
- Android Memory/Resource Leak总结
- memory leak checking for android
- Android native memory leak debug
- CVPR 2013 Read List
- ANT简明教程
- Qt隐藏功能和技巧
- Powerpoint 插件制作日记-1
- extjs--grid
- Android private IP leak
- 有关对象指针的使用
- static的理解
- java性能优化设计之--异步处理
- unix网络编程第一卷学习之套接字地址结构
- javascript:Function笔记1
- 水仙花数算法
- 关于在代码里面使用同一个Session创建的同一个DATAQUERY
- 海明码