PPP
协议(Point-to-Point Protocol)提供了在串行点对点链路上传输数据报的方法,支持异步8位数据及位导向的同步连接(如ISDN)。它提供了一种管理两点间会话的有效方法,正在取代SLIP(Serial Line Interface Protocol)协议成为点对点
网络的标准。 嵌入式
单片机PPP协议是在单片机中嵌入PPP协议,以实现单片机与计算机之间的PPP数据传输,使它既可以作为PPP连接的客户端,也可以作为独立的PPP服务器端来使用。它在家电控制和小型数据传输系统中具有非常广阔的应用前景,并且具有成本低、传输稳定等特点,是当前单片机研究的热门话题之一。 1 PPP的工作原理 PPP采用高级数据链路控制(HDLC)协议作为在对点链路上分装数据报的基本方法。使用可扩展的链路控制协议(LCP)来建立、配置和测试数据链路。用网络控制协议簇(NCP)来建立和配置不同的网络层协议,PPP允许同时采用多种网络层协议。 为了建立点对点链路上的通信连接,发送端PPP首先发送LCP帧,以配置和测试数据链路。在LCP建立好数据链路并协调好所选设备后,发送端PPP发送NCP帧,以选择和配置一个或多个网络层协议。当所选的网络层协议配置好后,便可以将各网络层协议的数据包发送到数据链路上。配置好的链路将一直处于通信状态,直到LCP帧或NCP帧明确提示关闭链路,或有其它的外部事件发生。PPP连接状态图如图1所示。 11 连接死亡阶段 一个连接的开始和结束都要经历这个阶段。当一个外部事件指示物理层已准备好并可使用时,PPP进入建立连接阶段。此时,LCP自动机处于初始阶段。当它向链路建立阶段转换时将给LCP自动机发送一个UP事件信号。 12 连接建立阶段 LCP用于交换配置信息包、建立连接。一旦一个配置成功的信息包发送且被接收,就完成了交换,进入LCP开启状态。所有的配置选项都假定使用默认值,除非在配置交换过程中被改变。只有那些与特定的网络层协议无关的选项才会被LCP配置。收到LCP配置数据包将使链路从网络层协议阶段或者认证阶段返回到链路建立阶段。 13 认证阶段 在某些连接情况下,希望在允许网络层协议交换数据前对等实行认证。默认情况下,是不要求认证的。认证要求必须在建立连接阶段提出,然后进入认证阶段。如果认证失败,将进入连接终止阶段。在此阶段只对连接协议、认证协议、连接质量测试数据包进行处理。14 网络层协议阶段 一旦PPP完成上述阶段,便进入网络协议阶段。每一个网络层协议 (例如IP、IPX、AppleTalk等)必须有相应的网络控制协议(NCP)单独配置,每个网络控制协议都可以随时打开或关闭。此阶段,LCP协议自动状态机处于打开状态,接收到的任何不支持的协议数据包都会被返回一个协议拒绝包,而接收到的所有支持的数据包都将被丢弃。此时,链路上流通的是LCP数据包、NCP数据包以及网络协议数据包。 15 终止连接阶段 PPP连接可以随时被终止。LCP通过交换连接终止包来终止连接。当连接被终止时,PPP会通知物理层采取相应的动作。只有当物理层断开,连接才会真正被终止。此阶段,接收到的所有非LCP数据包都将被丢弃。 2 PPP数据结构 PPP数据帧的结构如表1所示,PPP协议标志如表2所示。每个PPP数据包的开始和结束都有一个0x7E的数据标志。在开始标志后,紧跟2个HDLC常量:地址常量0xFF和控制常量0x03。协议域长度通常为2字节,表示信息域里包含的是哪种协议以及它的处理信息。随后是代码(Code)、标识符(ID)和长度域(Length)。事实上它们都是信息域(Payload)的一部分。信息域长度最多为1500字节。代码部分用来指示LCP、PAP、IPCP或者CHAP协议数据包中的某种类型。通常情况下,用来表示IP自寻址信息数据包的标识是0x45。ID对于每一帧来说都是唯一的,所有协议间的商谈和响应都通过ID联系在一起。只有当PPP协议帧被压缩成IP寻址信息包时例外。这个时候ID表示的是一种服务类型。有效载荷部分是可变的,并能随着请求和响应的变化作相应的改变。在IP自寻址情况下,IP数据包的大小与PPP协议帧的大小是兼容的,有效载荷包含有关协议的商谈和数据包的保持。然后是一个长度为2字节循环冗余检验码,以检测数据帧中的错误。由于标志字符的值是0x7E,因此当该字符出现在信息字段中时, PPP需要对它进行转义。具体实现过程如下:(1)当遇到字符0x7E时,需连续传送2个字符:0x7D和0x5E,以实现标志字符的转义。 (2)当遇到转义字符0x7D时,需连续传送2个字符:0x7D和0x5D,以实现转义字符的转义。 (3)默认情况下,如果字符的值小于0x20(例如ASCII控制字符),一般都要进行转义。例如,遇到字符0x01时需连续传送0x7D和0x21两个字符(这时,第6个比特取补码后变为1,而前面两种情况均把它变为0)。这样做是防止它们出现在双方主机的串行接口驱动程序或调制解调器中,因为它们有时会把这些控制字符解释成特殊的含义。另一种可能是用链路控制协议来指定是否需要对这32个字符中的某些值进行转义。默认情况下是对所有的32个字符都进行转义。 关于PPP协议的详尽描述可以参阅RFC1661文档。 3 单片机PPP协议 单片机PPP协议是PPP协议在单片机中的应用,有其特点。单片机的存储空间只有64KB,而PPP协议包括LCP、PAP、IPCP以及NCP等协议,并且在连接建立后还要用到数据传输协议(TCP/IP、UDP等)、各种压缩协议等。要把这些协议完全嵌入单片机是不可能的,所以只能根据实际需要选择其中的一部分。 例如采用UDP协议而不是功能相对齐全但协议内容过于庞大的TCP/IP协议来传输数据,传输中基本上不使用数据压缩协议,跳过单片机作为服务器端时的密码验证过程,省略IPX、AppleTalk等网络层协议等。也就是说,本文的单片机PPP协议,事实上只包含了从PPP连接的建立到实现简单的数据传输所必需的协议,而不包括PPP协议的所有功能。这种协议的取舍是由硬件的客观限制以及实际的应用需要共同决定的。 4 单片机PPP协议PPP连接的建立 建立后的单片机PPP连接状态如图2所示。 其中,C51系统是已经植入PPP协议的51系列单片机,电话线部分也可以是某个网络的一部分,甚至是Internet。 单片机PPP协议流程图如图3所示。 PPP连接的建立主要经过三个阶段,分别是LCP协商、密码认证以及网络层协议配置。 41 LCP处理阶段 首先,第一个LCP数据包被服务器端发送后,从服务器端返回一个PPP拒绝包给除密码认证外的所有选项,接着服务器端强制认证协议进行协商(先前来自否定帧的PAP和CHAP都被发送)。随后服务器端返回一个拒绝包给CHAP,本文用PAP来代替。然后服务器端认同并返回一个新的请求,这时候需要进行PAP。接下去对PAP进行确认,系统对字符映射的丢弃进行协商。最后所有控制特性被服务器端同意丢弃。 下面是由服务器发送的一段LCP建立连接的字符串: 0000:7E FF 03 C0 21 01 71 00 2B 01 04 06 40 05 06 3A 5D 8B B4 02 06 00 0016:00 00 00 11 04 06 40 17 04 00 64 00 02 03 04 C0 23 13 09 03 08 00 002C:03 0A 2C 2C 95 7F 7E 对它进行分析如表3。 42 PAP处理阶段 首先,系统发送PAP数据包给服务器端,然后服务器端通过用户ID和密码验证。PAP密码验证协议在RFC1334中有详细定义,主要是为拨号网络中提供密码保护。这个选项是可选的。在本应用软件中,强制单片机和PC协商的选项中,PC要求密码验证,单片机端不要求。所以如果PC机作为服务器,单片机需要发送用户名和密码;如果单片机作服务器,则没有密码验证的要求。 PAP的格式如图4所示。 下面是单片机发送PAP的数据包: 7E FF 03 C0 23 01 06 00 0C 03 7A 77 6D 03 7A 77 6D… 解析如表4所示。 单片机向PC机发送PAP数据包是在PC机发送对单片机LCP选项的确认之后、PC机向单片机发送IPCP请求之前。 43 IPCP处理阶段 IPCP是用来设置PPP连接中的网络环境,包括IP地址、IP压缩协议、DNS服务器地址等都是通过IPCP来协商的。首先服务器端发送请求进行IPCP协商,然后系统返回一个拒绝包给除IP地址外的所有 *** 作。由于先前的发送被拒绝,服务器端发送一个回复,只包含IP地址。此时,系统相当于服务器端的IP地址认证,然后由请求信息和IP地址来完成三路握手协议。接着服务器端返回一个包含预先指派IP地址的拒绝包。此时连接建立并拥有一个指定的IP地址。IPCP帧的格式与LCP也是类似的:一字节的代码,然后是标志,长度,选项。当IP协议的选项配置完,就可以开始通讯了。IPCP的详细描述在RFC1332中。连接建立后,PPP将在原有协议的基础上调用网络协议UDP(User Datagram Protocol)和ICMP(Internet Control Messages Protocol)等。有关用户数据包协议UDP的详细资料可参看RFC882、RFC883文档;Internet信息控制协议ICMP的详细资料可参看文档RFC792。 参考文献 1 Erkins D Requirements for an Internet Standard Point-to-Point Protocol RFC 1547Carnegia Mellon UniversityDecember 1993. 2 Reynolds J, Postel J Assigned Numbers STD 2,RFC 1340 USC/Information Sciences Institute,July 1992. 3 Douglas E Comer Internetworking With TCP/IP Vol I: Principles Protocol and Architecture (Third Edition) 4 WSimpsonSTD 51,RFC1661Network Working GroupJuly 1994 5 Douglas E Comer, David L Stevens Internetworking With TCP/IP Vol II:Design Implementation and Internals (Second Edition)
可以下载腾讯手机管家进行流量监控。腾讯手机管家流量监控管理功能具有超额自动断网、流量提醒及锁屏流量提醒等功能,避免流量浪费及软件偷偷联网。腾讯手机管家曾首创了流量自动校正功能,只要点设置流量套餐”即可自动帮助用户查询已用流量,从而做到精准监控。具备流量浮窗功能,随时在手机屏幕前方显示上网速率和剩余流量,让手机上网更安心。
*** 作步骤:打开腾讯手机管家--健康优化--流量监控--设置--开启需要的功能--完成。无线破解分很多,其中有2中,一种是没设置密码的,一种是设置密码的,设置密码的又分很多种:“WEP/WAP/WAP2等, 设置密码目前可以支持破解的是WEP的方式, 到网上下载个BT5、BT4、BT3,等随便什么,自动就可以破解,其他的可以破解,但是费事费力费空间,一台笔记本的硬盘空间相对来说就芝麻点大。 你网上搜索下就OK了,很多教程!
有一个wifi万能钥匙,通过从云端获取网友分享已知的Wi-Fi热点信息来联网的工具,个别地方还是能用的。
还有一个畅无线,说是能破解CMCC和CMCC-edu的密码,你可以试试。
BT3破解WEP没的说,,,如果是WPA,WPA2,最好是有人在上网,截获握手包后,选择字典破解就可以,还有就是字典一定大,光数字组合,八位数的就1G左右呢,,,带英文字母就要更大了,,,EMSA是用于XP下破解握手包的,,,抓握手包的话,可以用BEINI,这个就是奶瓶了,,还有一款CDLINUX,,也是的,还有一个是XIAOPANOS的,可以利用WPS破解,大部分路由器会被外带天线的卡王PIN死,,,破解WPS PIN8位数字后,可以安装QSS,WPS连接路由器就可以了,输入密码,路由器会自动适配,你就不用管了,直到能上网就可以了。。。记住破解PIN的是REAVER,,,INFLATOR是REAVER的图形程序,,,内置天线的网卡的就不要破了,信号不好,掉线太厉害,而且信号一定要好,否则可就痛苦了,,,目前还没有一款密码不能破解的,如果条件允许,破解密码其实就是小菜,,如果是弱口令,我用安卓手机也可以破解,,如果你想学,可以加入我的团队,IT狂人,,已经破解过三个WPA2了,不支持WEP,,,,我们有时做主机之间的渗透测试,需要看网络发包的详细内容,但虚拟机内部如何抓包呢?
vmware的虚拟网络编辑器有三种模式:
╔ HostOnly(仅主机)
╠ Bridge(桥接)
╚ NAT(代理)模式
其中:
1、仅主机模式,是虚拟机仅和主机连接,我们这时可以在编辑--虚拟网络编辑器中设置一下,这样,XP虚拟机就获取到了主机的vmnet1网卡给它分配的IP地址了。有时会获取不到指定的地址,获取的是169254/16段的IP,那就重新编辑一下网络编辑器,就好了。
2、桥接方式:一般是vmnet0网卡,我们在网络适配器里是找不到的,这是相当于主机充当了网桥的功能,把虚拟机桥接到了主机当前联网的网络内,或者说:是虚拟机有条网线也插到了你联网的交换机上,它获取到了和你的主机相同的IP段的地址,会与真实主机一样,占用真实网络中的IP地址,和你的主机处于同一地位。这个模式下,你是不需要配置什么的,只需要指定你目前的网卡的名称就可以了。
3、NAT模式:NAT是Network Address Translation的缩写,即网络地址转换,即你主机上的vmnet虚拟网卡充当了一台“路由器”的角色,你的虚拟机插在它的网口上,vmnet网卡给你的虚拟机分配一个“内网”的IP地址,然后代理你的虚拟机上网。这里我们需要给它配置“路由器”的WAN口地址(下图1),再给它配置“路由器”的DHCP功能中,可分配的IP范围(下图2):
注意!上图1 一定要勾上将主机虚拟适配器连接到此网络(V),不然vmware就不将网络状况关联到系统的虚拟网卡上了,wireshare里就找不到这张虚拟网卡名称了
总结:梳理了以上虚拟机的三种网络连接方式,我们就可以判断出:哪种方式适合vmware进行抓包,没错:
第一种仅主机,只要和主机中的虚拟网卡存在连接,我们就可以让wireshark抓包,这是OK的;
第二种桥接,如果我们有第二台物理主机,和我们的主机在同一网段,那么可以用这种方式抓包,但一般情况下,我们就是一台主机,所以第二种方式pass掉;
那么现在第三种NAT方式,很好,vmware的虚拟交换机让攻击机和测试机处于同一网段,那么我们就可以配置vmware抓这个vmnet网卡内的包了,这也是OK的;
首先要确保手机和安装有Fiddler的计算机处在同一个局域网中,可以使用路由器,或者使用笔记本发送热点给手机使用。在这里本人是使用手机USB共享功能让笔记本联网的。进入cmd输入ipconfig/all。查看IPv4地址,下面设置代理需要用到该地址。
使用Fiddler对app进行抓包
2打开Fiddler。在Tools中选择Fiddler Options。选择选项卡
3选择选项卡Connections,按下图钩选相应的项。注意到Fiddler listens on port:8888。这是Fiddler默认的监听地址。也就是我们在设置代理时使用的端口号。一般保持不变就好。
使用Fiddler对app进行抓包
4下载证书。可以在电脑中输入本机的回传地址,端口号是8888如下图所示,点击最下面的FiddlerRoot certificate即可下载,发送到手机安装证书,具体证书的安装方法自己百度。或者在手机浏览器中输入第一步得到的IPv4地址:8888也行。
使用Fiddler对app进行抓包
5手机端的配置。手机进入wifi配置界面,如下图。这里的主机名就是第一步的IPv4地址。端口号为8888。前面已经多次提到。配置成功后点击确定。然后断开wifi,关闭Fiddler。重新连接wifi在打开Fiddler。
使用Fiddler对app进行抓包
6经过以上的配置后,就可以用Fiddler监控到手机的上网行为了。以下是在手机UC中打开sina的捕获图。可以看到有很多与其他站点的通讯,可以使用过滤或者关闭一些后台程序来净化。
使用Fiddler对app进行抓包
延展阅读:
Fiddler
Fiddler是一个>启动Fiddler,打开菜单栏中的 Tools > Fiddler Options,打开“Fiddler Options”对话框。
在Fiddler Options”对话框切换到“Connections”选项卡,然后勾选“Allow romote computers to connect”后面的复选框,然后点击“OK”按钮。
在本机命令行输入:ipconfig,找到本机的ip地址。
打开android设备的“设置”->“WLAN”,找到你要连接的网络,在上面长按,然后选择“修改网络”,d出网络设置对话框,然后勾选“显示高级选项”。
在“代理”后面的输入框选择“手动”,在“代理服务器主机名”后面的输入框输入电脑的ip地址,在“代理服务器端口”后面的输入框输入8888,然后点击“保存”按钮。
6
然后启动android设备中的浏览器,访问百度的首页,在fiddler中可以看到完成的请求和响应数据。
评论列表(0条)