Android http安全之网络编程和证书

最近面试上市大公司遇到的问题,网络安全底层与fiddler证书,我只想吐槽果然不缺人,上篇劫持的第二篇研究总结。如果通常网络我们使用常用的开源框架,然后设置通用的异步同步通信等格式,但是底层呢?这个我们常说只有面试的时候会用到,那如果想要黑客一下,拦截一下网络反向开发如果不知道原理,怎么突破?

1

 

网络分层模型:

    osi:开放式系统互联。国际标准化组织(iso)指定的理论模型;

    Tcp/IP 五层模型: osi和tcp/ip的综合,业界为了方便可以把下两层称为网络接口层,产生出来的非官方协议模型,实际应用还是tcp/ip的四层 结构。

   Tcp/Ip四层模型:基于osi建立的实际实现的模型。

TCP三次握手与四次挥手

截取网络显示如下:一次http请求,三次tcp握手

 

 

 

 

 

 

 

四次挥手:

举个栗子:

http:建立在tcp协议之上的“超文本传输协议”

代码实栗(https请求连接--(可以互相切换)---socket请求):

第一步:从https://xxxx.xxxx.xxx中提取需要的东西工具类

第二部:StringBuffer拼接请求的键值对

总体结构图为:

专题 证书

百度普通访问:

个人搭建服务器,https证书有风险提示

 

 

这个就像身份证似的,这个证书由国家颁发,然后浏览器和手机都有一个证书信任管理,所有证书只要信任,网站就是正常访问,如果手机上手动不信任这个

手机---安全--信任的凭据

在socket代码中添加信任证书(格式为:X.509,后缀:cer),即可访问https连接;

响应行为:http/1.1 200 ok

上面讲的是通过底层socket来实现http请求,以及https的证书请求和返回,不过http/https的访问对于数据格式已经提供好代码格式,所以我们普通开发并不一定知道所有的请求数据和返回数据格式。而在okhttp中还封装好了固定的格式来进行ssl协议

 

中间人攻击:

  mitm攻击,通过拦截正常的网络通信数据,并进行数据篡改和嗅探,而通信的双方却毫不知情。

当数据离开一个端点时,传输的期间便是对数据失去控制的时候。当一个攻击者将自己置于两个端点并试图截获,阻碍数据传输时,便称为中间人攻击。(窃听)

抓包软件就是使用了中间人攻击机制。

 

框架总结:

我们常用的http网络访问请求框架,这些框架对网络请求数据进行了格式化,并且提供了接口让我们可以方便的调用,或者针对的去使用格式,但是它们所做的处理都是基于底层的联网数据进行的封装。

okhttp更是利用的线程池对于多线程的大量访问进行了优化,所以在大量访问的网络请求异常高效,而Retrofit的框架使用往往需要okhttp,实质上Retrofit是基于okhttp的封装,而其核心是动态代理,更是以注解的方式来实现url的编写,这个也是原本忘了现在顺便写了。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值