Android实现pppoe拨号上网(一)概述
最近在做Android上实现pppoe拨号上网的功能。一般情况下不大可能会用到,但在大陆某些地区,可能会有AP并不支持DHCP功能,或者在某些平台上面装载Android系统的时候,可能会需要移植拓展该功能。什么是pppoe就不再介绍了,下面对于我的实验环境搭建和操作进行简述:
个人邮箱:xiaokeweng@gmail.com
(一)实验环境搭建
描述:本例是在支持wifi的Android手持设备上面,通过wifi接入到局域网LAN,pppoe-server也链接在本地局域网内,于是建立起来Client到Server的网络通路。一条可达通路是基础的必要条件。
(1)硬件设备
Client :HTC手持终端
Router :TP-LINK 无线路由器
Server :ubuntu系统PC
LAN :本地局域网(硬件设备环境)
(2)软件条件
首先Client上面要支持ppp,这个在我的终端上面路径是/system/bin/pppd,并且确定开机后注册了/dev/ppp设备,也就是设备支持ppp是大前提,而后在PC上面安装rp-pppoe(RoaringPenguin-pppoe),然后将PC作为pppoe-server,现实中配置的pppoe-server一般都是双网卡,一个网卡负责代理局域网内数据转发,一个负责将数据包丢到internet上面,而我方条件艰苦,只是为了实验而已,所以本身的LAN就可以上网,在PC上最终通过iptables将pppoe通过pppX接口发送来的数据包NAT(网络地址转换)到可以访问internet的ethX上面。而Android上面没有pppoe可执行文件,于是通过移植,将rp-pppoe编译出的可执行文件移植过来,命名为pppoe放在/system/bin下。即:
Android:pppoe,pppd
PC : rp-pppoe
数据包通路:Client -> AP(TP-LINK) -> LAN -> PC -> NAT ->LAN
(二)运行验证方法
(1)在终端中adb shell后运行命令pppoe -d这样就会令pppoe在本地局域网内发起Discovery过程广播包PADI,在PC上面抓包网卡ethX,如果受到广播PADI,说明链路已经通过。
(pppoe-service抓到PADI广播包)
(2)按照期望需求配置pppoe-server,后面会详细讲解。
(3)按照期望在Android终端中执行命令,于是会建立起来ppp链接,通过终端执行netcfg,PC执行ifconfig可以查看链接pppx接口。
(client端iface)
(server端iface ppp0)
(4)Android终端配置默认route到pppX,还有dns,这样终端的数据包就会从pppX出去,而后,配置server的iptables,加规则,NAT通过pppoe上来的数据包,到有internet访问权限的ethX,通过抓包分析,确定数据链路是否达到预期。
经过以上步骤就能够实现Android通过pppoe拨号上网了,以上只是粗略的该书,具体的细节步骤,将会在后面的博客中详细讲解。
Android实现pppoe拨号上网(一)概述相关推荐
- android pppoe 源码,android移植pppoe拨号上网的全过程
硬件环境:Tiny6410开发板 软件环境:fedora14 + Android 2.3.4 + linux-2.6.36 1.编译内核支持ppp android自带pppd,所以仅仅须要移植pppo ...
- Android实现pppoe拨号上网实例
* 平台:RK3399 * 系统:安卓7.1 >在电脑搭建服务端这里就不赘述了,可看下面的参考文章. 编译生成pppoe可执行文件. 下载rp-pppoe源吗. 在安卓源码下创建external ...
- Android 实现PPPoE拨号
关于Android实现PPPoE拨号上网的问题. 系统必须安装有ppp和rp-pppoe程序.一般ROM自带有ppp程序的.rp-pppoe就未必有了,需要交叉rp-pppoe到目标机.我的开发环境已 ...
- 利用FriendlyElec友善电子R2S软路由进行PPPoE拨号上网
By Mcuzone 关键词:FriendlyElec 友善电子 RK3328 R2S 软路由 PPPoE 拨号上网 概述:讲解利用FriendlyElec友善电子R2S软路由进行PPPo ...
- linux中的pppoe拨号上网
实例:(linux中的pppoe拨号上网) ① 安装软件:把下载的pppoe传到linux下的/root目录下,在终端对软件进行拆包: ll:查看目录,能看见软件包的名字 tar -zxvf rp-p ...
- 关于Ubuntu 使用PPPoe拨号上网,导致wifi没有错误。
因为宿舍网是拨号上网, 刚从 温都死 转向Ubuntu(LINUX桌面版)基本上陌生的操作环境,所以百度一下 Ubuntu怎么拨号上网. gedit pppoeconfig 终端输入,就可以操作配置 ...
- Ubuntu PPPoE拨号上网
安装PPPoE 有网络连接的情况下 sudo apt install pppoeconf 无网络连接的情况下 在其它电脑上依次下载以下软件包(注意选择适合自己硬件类型的版本) libc6 ifupdo ...
- 【windows10】使用宽带拨号即PPPoE拨号上网
[windows10]使用宽带拨号即PPPoE拨号上网 1.背景 2.宽带拨号 1.背景 在接入互联网实现上网时,我目前使用的是PPPoE拨号上网. PPPoE(Point-to-Point Prot ...
- Kali PPPoE 拨号上网
Kali PPPoE 拨号上网 1.下载PPPoE 2.Terminal > nm-connection-editor 3.Settings---->Network---->点击PP ...
最新文章
- ArrayList,LinkedList,Vector的异同点
- 人才管理是什么意思_cms系统是什么意思,国内常用的cms内容管理系统有哪些
- cstring和string的区别
- Qt使用导出类报错:error C2491: “ZMapWidget::staticMetaObject”: 不允许 dllimport 静态数据成员 的定义
- 文章用图的修改和排版 (一)
- 去掉“搜一搜”后,让“查看新贴”等按钮居中
- 解决:虚拟机能ping通主机,主机ping不通虚拟机
- python提高——闭包、装饰器
- FLEX4 在组件中自定义ToolTip样式
- Linux系统Zookeeper集群配置
- mysql 权限管理 记录
- ngx_lua 模块提供的指令和API等
- 【CentOS 7笔记43】,防火墙和iptables filter表#
- android6.0加内存卡,Android 6.0 TF卡 手机扩容的新选择
- RH850 MPU 实现介绍
- DICOM医学图像处理:浅析SWF、MWL、SPS、MPPS
- python 过采样算法_类不平衡数据分类准确率的提升算法smote过采样方法
- CSS改变simditor代码区间的默认显示样式和自动换行
- 什么是项目集(PgMP)?
- android listview 上拉图片闪烁,android listview使用glide异步加载图片错位,闪烁问题...