Android 4.2系统的手机使用LEAP企业Wifi网络 ( by quqi99 )

作者:张华  发表于:2013-12-05
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明

( http://blog.csdn.net/quqi99 )

大家知道,企业里的wifi很多是采用Cisco公司的LEAP加密的,苹果手机买了LEAP的专利是可以直接用的,但安卓手机不行。试了一些工具,如LBE授权管理,如LEAP Wifi Free均在Android 4.2系统上不大好使,下面就来个更直接有效的方法。
1, 手机在设置->关于手机菜单中找到Android版本,连点五六下就会出现开发者模式,将里面的“充许USB调试打开"
2, 手机通过USB方式连接电脑,在电脑中安装刷机大师的ROOT大师对安卓系统进行root权限破解,http://www.mgyun.com/vroot
3, 安装android RE管理器,这个工具可以让你访问根分区下的内容,并可把它重新挂载为可读/写模式,闪存卡位于/mnt/sdcard/目录
4, 使用RE管理器修改文件:/data/misc/wifi/wpa_supplicant.conf
...
network={
ssid="yourssid"
key_mgmt=WPA-EAP IEEE8021X
group=CCMP TKIP
eap=LEAP
identity="[email protected]"
password="yourpassword"
}

 

OK, 上述方法对于Android 4.2以下的系统是好使的,但对于android 4.2的系统是不行的,因为存在一个bug (见:https://android-review.googlesource.com/#/c/50663/),最终我通过将手机里的/system/bin/wpa_supplicant文件从4.2版本的换回4.1版本的就可以了。具体的实施步骤如下:
1, 手机端打开USB调试开关。在设置->关于手机菜单中找到Android版本,连点五六下就会出现开发者模式,将里面的“充许USB调试打开"
2, 手机端打开root,手机通过USB方式连接电脑,在电脑中安装刷机大师的ROOT大师对安卓系统进行root权限破解,http://www.mgyun.com/vroot
3, 电脑端安装ADB,即下载platform-tools-linux即可,
   http://esausilva.com/wp-content/plugins/cimy-counter/cc_redirect.php?cc=platform-tools-linux&fn=http://esausilva.com/misc/android/platform-tools-linux.tar.gz
   tar -xf platform-tools-linux.tar.gz
   vi ~/.bashrc
   export ANDROID_HOME=/bak/java/android/adt-bundle-linux-x86_64-20131030/sdk
   export PATH=$ANDROID_HOME/platform-tools:$PATH
   source ~/.bashrc
  如果你想安装包含ADT插件的完整的eclipse开发环境及Android SDK的话,可以下载安装ADT Bundle, http://developer.android.com/sdk/index.html
4, 将手机和电脑通过USB相连后,在shell中执行adb devices命令就可以看到android手机设备啦,也需安装libstdc++
  如果adb devices命令看不到android手机设备的话,可以尝试以下方法:
   电脑端将android创建为udev设备,编辑文件/etc/udev/rules.d/51-android.rules,添加如下内容后再给它权限,sudo chmod a+r /etc/udev/rules.d/51-android.rules
  SUBSYSTEM=="usb", ATTR{idVendor}=="2717", MODE="0666", SYMLINK+="android_adb"
   其中2717可用lsusb命令查看
   $ lsusb
   Bus 001 Device 009: ID 2717:0368
  
   再创建adb_usb.ini文件
   $ cat ~/.android/adb_usb.ini
   0x2717

   重启相关服务:
   sudo udevadm control --reload-rules && sudo udevadm trigger
   adb kill-server && adb start-server

   $ adb devices
   List of devices attached
   a08f16ae    device
5, 在手机上安装ssh server, 这样可以从电脑直接通过ssh来访问手机,采用dropbear软件包,先下载它到电脑上(http://dl.dbank.com/c0u841gt85)
  $ adb shell  (如果不是用usb相连,而是走wifi网络相连的话要先执行如:adb connect 192.168.0.16:5555)
   shell@android:/ $ su
   shell@android:/ # mount -o rw,remount /
 shell@android:/ # mount -o rw,remount /system
   shell@android:/ # mkdir /data/dropbear
   shell@android:/ # mkdir /bin
   在电脑中开另一个shell执行下列命令:
   $ unzip dropbear.zip
   $ adb push scp /bin
   $ adb push dropbearkey /system/xbin
   $ adb push dropbear /system/xbin

   shell@android:/ # chmod 755/system/xbin/dropbear*
   shell@android:/ # dropbearkey -t rsa -f /data/dropbear/dropbear_rsa_host_key
   shell@android:/ # dropbearkey -t dss -f /data/dropbear/dropbear_dss_host_key
   shell@android:/ # cd /data/dropbear
   shell@android:/ # cat >> .profile <<"EOF"
   PATH="/sbin:/system/bin:/system/xbin"
   EOF
   一切就绪,执行dropbear -v, 但是这个我没有做成功,报错“/system/xbin/dropbear Permission denied”, 有知道这个问题的童鞋可以告诉我。
6, 应用修复LEAP的patch, 参考:http://code.google.com/p/android/issues/detail?id=40023,源代码为:https://android-review.googlesource.com/#/c/50663/,
   对应的二进制patch为http://android.googlecode.com/issues/attachment?aid=400230104000&name=wpa_supplicant.grouper.4.2.1.patched&token=f_WO_7BvXZzcta_-25AnHze46ug%3A1386211715883
   1) 先务必通过打开飞行模式先禁用Wifi功能
   2) 下载二进制patch到电脑上然后再通过adb上传到手机,adb push wpa_supplicant.grouper.4.2.1.patched /storage/sdcard0/Download/
   3)
    shell@android:/ # /system/bin/wpa_supplicant -v                     
    wpa_supplicant v2.0-devel-4.2.1
    Copyright (c) 2003-2012, Jouni Malinen and contributors

    shell@android:/ # cp /storage/sdcarcd0/Download/wpa_supplicant.grouper.4.2.1.patched /system/bin/wpa_supplicant.4.2.1.patched
    shell@android:/ # chown root:shell /system/bin/wpa_supplicant.4.2.1.patched
    shell@android:/ # chmod 755 /system/bin/wpa_supplicant.4.2.1.patched
    shell@android:/ # mv /system/bin/wpa_supplicant /system/bin/wpa_supplicant_bak
    shell@android:/ # ln -s /system/bin/wpa_supplicant.4.2.1.patched /system/bin/wpa_supplicant
    shell@android:/ # /system/bin/wpa_supplicant -v
    wpa_supplicant v2.0-devel-4.2.1
    Copyright (c) 2003-2012, Jouni Malinen and contributors

    最后,修改/data/misc/wifi/wpa_supplicant.conf文件成下列内容,注意,有的公司的LEAP网络也需要使用配置eapol_flags=2
  network={
    ssid=""
    scan_ssid=1
    key_mgmt=WPA-EAP IEEE8021X
    auth_alg=LEAP
    eap=LEAP
    identity=""
    password=""
    priority=5
  }
7,重启机器后OK。

 

 

附录1,如何通过wifi使用adb.

在手机上安装Better Terminal工具,进入后执行命令:
su
setprop service.adb.tcp.port 5555
stop adbd
start adbd
在电脑后就可以通过adb connect命令连接手机了
$ adb connect 9.181.89.114:5555
connected to 9.181.89.114:5555
连接之后,就可以继续使用adb了。

 

附录2, 安装busybox

Android系统里没有vi命令,可以直接通过豌豆荚工具安装一个busybox,它会安装在手机的/system/xbin目录下。当然,你想手工安装也行,可参见:http://www.rrzhai.com/p/19590

 

附录3,安装ssh server
1) 下载dropbear并通过adb将它上传到手机之中, http://dl.dbank.com/c0u841gt85
   $ adb push dropbear.zip /mnt/sdcard/tools/
2) 如上,因为直接使用adb push命令从电脑将dropbear上传到手机的/system/xbin目录时报错“/system/xbin/dropbear Permission denied”,搜了很多资料解决不了,所以我们曲线救国,在手机里拷贝。
  shell@android:/ # cd /mnt/sdcard/tools/
  shell@android:/mnt/sdcard/tools # unzip dropbear.zip
  shell@android:/mnt/sdcard/tools # cp dropbear /system/xbin/
  shell@android:/mnt/sdcard/tools # cp dropbearkey /system/xbin/                 
  shell@android:/mnt/sdcard/tools # mount -o rw,remount /
  shell@android:/mnt/sdcard/tools # mkdir /bin                                   
  shell@android:/mnt/sdcard/tools # cp scp /bin/
  shell@android:/system/xbin # chmod 755 dropbear*
  shell@android:/ # dropbearkey -t rsa -f /data/dropbear/dropbear_rsa_host_key
  shell@android:/ # dropbearkey -t dss -f /data/dropbear/dropbear_dss_host_key
  shell@android:/system/xbin # dropbear  -v   (可将它放在/system/etc/init.goldfish.sh文件末尾实现开机自动启动,这里也有个服务脚本http://siso.sourceforge.net/ap-etc-initd-dropbear.html)
  shell@android:/system/xbin # ps | grep dropbear
  这时就可以在电脑上通过ssh [email protected]命令登录手机,密码为空,进去之后的home目录为/data/dropbear, 所以我们添加环境变量/data/dropbear/.profile
  shell@android:/ # cat >> /data/dropbear/.profile <<"EOF"
PATH="/sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin"
EOF
3) ssh登录
$ ssh [email protected]
[email protected]'s password:
TRACE: entering fake-getpwnam
TRACE: leaving fake-getpwnam
[17733] Dec 05 19:22:04 lastlog_perform_login: Couldn't stat /var/log/lastlog: No such file or directory
[17733] Dec 05 19:22:04 lastlog_openseek: /var/log/lastlog is not a file or directory!
[17733] Dec 05 19:22:04 wtmp_write: problem writing /var/log/wtmp: No such file or directory
TRACE: enter sign_key_free
TRACE: enter dsa_key_free
TRACE: leave dsa_key_free
TRACE: enter rsa_key_free
TRACE: leave rsa_key_free
TRACE: leave sign_key_free
root@android:/data/dropbear # ls
dropbear.pid
dropbear_dss_host_key
dropbear_rsa_host_key
root@android:/data/dropbear # 

 

 

2014-03-11添加:

老婆今年被偷两个手机了, 所以找朋友弄来F码又整了个699元的便宜红米,但我发现红米用我上述的方法连leap网络不好使, 可能是因为上述的"wpa_supplicant.4.2.1.patched"本来就是一个针对通用arm芯片的编译后的二进制文件, 红米和米3的cpu类型不同, 所以我猜可能是那个文件需要重新用源码编译才行. 但那样太麻烦了, 于是, 研究了一下公司内部的证书方式 (所以公司内部申请证书的流程步骤只对ibm内部有效, 但证书这种方式的步骤却是放之四海而皆准的), 操作如下:

1, 申请证书,https://w3-03.ibm.com/tools/certificate/index.html
2, 申请后会收到一封邮件,打开邮件中的一个链接继续填写一个表格,填完之后照提示下载p12文件,https://ibm-enroll.verisign.com/client/userEnrollEncUTF8.htm
3, 用adb拷贝p12文件到手机sd卡(我用adb的目的因为无法用leap上网,平时用linux当usb连手机时也没有驱动)
4, 手机上设置证书, 设置 -> 安全和隐私 -> 从sd卡安装
5, 添加wifi,
EAP方法      TLS
阶段2身份验证  无
CA 证书      空
用户证书      证书名称
身份         [ibm邮箱]
匿名身份      空
密码         空

 

2014-12-16, 让iOS8符合android手使用习惯

1, 越狱,使用盘古越狱,越狱前调成飞行模式,越狱后会自动安装Cydia,并在Cydia中添加威锋源:apt.weiphone.com
2, 使用cydia搜索安装openssh, pp助手,ifile, afc2dd, apple file conduit 2, cidia也可以卸载软件
3, 录音软件,audio recorder破解版http://bbs.feng.com/read-htm-tid-8560444-page-1.html, 这是一个deb包
4, 安装deb包,使用iTools(需安装afc2dd及apple file conduit 2并重插USB且重启才能看得到越狱目录)将deb放到/var/root/Media/Cydia/AutoInstall目录后重启即可
5, 设置控制中心通知栏, ccsetting
6, 输入法,默认的输入法感觉反应迟顿,换成搜狗输入法打单个字时有点卡,最后换成百度输入法解决。另外总感觉iphone6 plus的触摸屏没有米3的灵敏
7, 和google日历同步,设置gmail帐户即可同步,但默认的同步只是主帐户的日历,从这里修改:https://www.google.com/calendar/syncselect
8, 苹果的系统没有后退和切换应用程序的按钮用起来会非常别扭,这方面安卓比苹果做得要人性化得多,最后用下列方法进行了优化:
   a, HOME,使用Activator设置“按三指松开”,另外也用了Tage(10块钱,clezz.com)设置了从右边往上滑一下回到HOME,再滑一次激活多任务中心
   b, 多任务中心,使用Actviator设置“任意位置->按一下指纹识别传感器”
   c, 关闭程序,到了多任务中心往上移每一个程序能一个个关,另外也用slide2kill8 lite设置了往下移眼前的主程序就全部关闭
   d, 切换程序,使用Tage设置“在下四分之三处从左向右滑,或从右向左滑”
   e, 锁屏,使用Tage设置"从顶部边缘向右或向右滑动"
   f, 拨号键盘,使用Activator设置"任意位置->摇晃设备"

9, iphone 6目前用起来基本上是小毛病不断,苹果这是要开始走下陡路的节奏了,总结如下:

   a, 触摸屏不灵敏,至少比之前用的米3要差多了,用百度输入法卡的要好一点但有时也卡

   b, 指纹不灵敏,有时候解锁的时候不生效,需使用密码解锁

   c, wifi网络有时候会忽然用不了了,在还原里还原网络可以避免重启,很多人和我一样遇到这个坑了,见:http://tieba.baidu.com/p/3315538190

苹果6的主要问题是屏幕不灵敏打字比较卡, 好的地方在于放歌的声音, 相机,通话质量都比较不错。打字卡是硬伤,并且屏幕比较昏暗。

另外,如果wifi上网网速很慢时,可以将无线路由器的无线模式设置成为11n only, 这样网速能从50k左右提升到1.2M左右。华为p8也有类似问题,使用openwrt路由器时可以这样配置:

# g = 802.11g(2.4G), n = 802.11n(2.4G/5G), ac = 802.11ac(5G), https://wiki.openwrt.org/doc/uci/wireless
cat /etc/config/wireless
uci set wireless.radio0.require_mode=n
uci commit                                  #commits settings
wifi

uci get wireless.radio0.require_mode

 

2018-08-25更新

andorid手机使用谷歌的查找设备应用时报找不着设备, 解决方法见: https://joyofandroid.com/problems-android-device-manager/

Within Google Settings, tap on Security and uncheck Android Device Manager. Now go to your device’s Settings menu and select Apps > All > Google Play Services > Clear Data. Go back to Google Settings Security and re-enable Android Device Manager. Reboot.

 

附录: android studio开发环境建立

https://github.com/uw-it-aca/spacescout-android/wiki/1.-Setting-Up-Android-Studio-on-Ubuntu
Setting Up Android Studio on Ubuntu
1, Install Java
2, Install android-studio-ide-171.4443003-linux.zip - https://developer.android.com/studio/install.html
   sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386
   unzip android-studio-ide-171.4443003-linux.zip && cd android-studio && ./bin/studio.sh
3, SDK Manager - "Tools -> Android -> SDK Manager" (NOTE: This menu may NOT exist, but we can see it's Icon.)
4, AVD Manager - "Tools -> Android -> AVD Manager" (NOTE: This menu may NOT extst, but we can see it's Icon.)
   /bak/java/android/adt-bundle-linux-x86_64-20131030/sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64 -netdelay none -netspeed full -avd Pixel_2_API_26

你可能感兴趣的:(Linux,Application)