越狱环境:iPhone 5s iOS9.3.1vim
yueyu:~ root# uname -a安全
Darwin yueyu 15.4.0 Darwin Kernel Version 15.4.0: Fri Feb 19 13:54:53 PST 2016; root:xnu-3248.41.4~28/RELEASE_ARM64_S5L8960X iPhone6,2 arm64 N53AP Darwin网络
一、 Drawin体系ssh
Darwin是一种相似unix的操做系统,他的核心XNU,XNU是一种混合式内核,结合了mach与BSD两种内核。socket
主流的类unix:tcp
a、Linux 由Linus Torvalds研发的,表明发行版本CenOS,Redhat,Ubuntu,Debian,openWRT等工具
b、Mac OS X的Intel部分操作系统
c、freeBSD 由加州大学伯克利分校基于UNIX研发的(UNIX变种,当时若是不是与贝尔实验室打官司,可能就不会有如今的Linux什么事)命令行
d、Solaris 由Sun(现为Oracel)开发的UNIX商业版本线程
BSD 实如今Mach的上层,这一层提供的API 支持了POSIX标准模型。在XNU中主要实现了一些高级的API与模块
a、UNIX 进程模型
== e.g fork,vfork,wait,waitpid,exec等 ==
b、POSIX 线程模型即pthread,以及相关的同步功能
== e.g pthread_create,pthread_mutex(线程互斥锁)==
c、UNIX的用户与组管理
==e.g root用户,mobile用户,chmod等==
d、网络协议栈(BSD Socket API),符合POSIX 模型
== e.g socket();bind(); listen();accept();connect(); gethostbyname(); gethostbyaddr()等伯克利套接字API==
e、文件系统/设备系统
== e.g Filesystem Hierarchy Standard(文件系统层次化标准)==
iOS,OSI,ISO的含义
a、iOS 苹果公司开发的移动操做系统
b、OSI 是Open System Interconnection的缩写,意为开放式系统互联。OSI模型把网络通讯的工做分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
c、IOS是国际标准化组织。上面的OSI模型由该组织制定。通常类UNIX系统都基本符合POSIX标准和IOS C标准
d、POSIX表示可移植操做系统接口(Portable Operating System Interface)
e、IOS C标准,C语言标准库接口
二、 为何须要越狱
突破iOS沙盒机制的限制(sandbox)
沙盒是一种安全机制,为运行中的程序提供隔离环境。沙盒在启动的时候能够设置运行的程序是否能够访问网络、文件、目录等
三、 Cydia - 越狱iOS的软件管理平台以及相关命令行
首先须要安装OpenSSH
在Cydia中搜索OpenSSH并安装,这样iOS上面就能够开启SSH服务。SSH服务默认绑定端口号22。
ssh root@xx.xx.xx.xx //iOS链接wifi,设置中能够看到ip地址,也能够改为静态IP地址,其中xx.xx.xx.xx为手机的ip地址,须要注意的是,此时手机与mac该处于同一网络下。
> 在终端操做的时候,须要root权限,mac中得到root权限的命令: > > su root > > sudo 所需命令行
使用scp命令能够传输文件
scp filename root@xx.xx.xx.xx:/tmp //拷贝本地文件到远端
scp root@xx.xx.xx.xx:/tmp/filename /tmp/ //从远端拷贝文件到本地
修改默认密码
passwd root
或者 passwd mobile
安装软件包管理工具apt-get
在Cydia中搜索 APT 0.6 Transitional并安装
命令介绍
apt-get update 【更新全部的源】 apt-get upgrade 【更新全部经过apt-get安装的程序】 apt-get install packagename 【安装软件包】 apt-get remove packagename 【删除软件包,不删除依赖包,不删除配置文件】 apt-get remove --purge packagename 【删除该软件包,不删除依赖包,删除配置文件】 apt-get autoremove packagename [删除该软件包,删除依赖包,不删除配置文件] apt-get autoremove --purge packagname 【能够删除全部依赖包+配置文件】 apt-cache search string 【搜索含有该string字段的软件包】 apt-cache show packagename 【详细显示该软件包的信息】 apt-get clean 【清除apt-get安装的软件包备份,能够释放储存空间,不影响软件正常使用】
使用apt-get 安装软件包
e.g 安装traceroute
apt-get install traceroute //发现找不到软件包 //若是不知道软件包名称,也能够用关键字搜索 apt-cache search traceroute apt-get install network-cmds
安装必要工具
apt-get install ping //发送icmp报文,检查网络情况 apt-get install ps //查看进程信息 apt-get install find //查找文件 apt-get install tcpdump //抓包工具 apt-get install top //查看实施的进程信息 apt-get install vim //文本编辑工具 apt-get install network-cmds //-arp, ifconfig, netstat, route, traceroute
工具的使用
ping www.baidu.com -c 4 -s 600 ps aux ps -e find / -name ping //在根目录开始查找文件名为ping的文件 grep -r 'hello*' /tmp //在/tmp目录中查找包含'hello'字符的文件,-r表示包含子目录 top top -l 1 | head -n 10 | grep PhysMem //显示系统内存使用状况 tcpdump -i en0