报文交换

成为“黑客”前,必学的几种网络攻击原理

女生的网名这么多〃 提交于 2019-11-27 04:55:22
1.1 TCP SYN拒绝服务攻击 一般情况下,一个TCP连接的建立需要经过三次握手的过程,即: 1、 建立发起者向目标计算机发送一个TCP SYN报文; 2、目标计算机收到这个SYN报文后,在内存中创建TCP连接控制块(TCB),然后向发起者回送一个TCP ACK报文,等待发起者的回应; 3、 发起者收到TCP ACK报文后,再回应一个ACK报文,这样TCP连接就建立起来了。 利用这个过程,一些恶意的攻击者可以进行所谓的TCP SYN拒绝服务攻击: 1、 攻击者向目标计算机发送一个TCP SYN报文; 2、目标计算机收到这个报文后,建立TCP连接控制结构(TCB),并回应一个ACK,等待发起者的回应; 3、而发起者则不向目标计算机回应ACK报文,这样导致目标计算机一致处于等待状态。 可以看出,目标计算机如果接收到大量的TCP SYN报文,而没有收到发起者的第三次ACK回应,会一直等待,处于这样尴尬状态的半连接如果很多,则会把目标计算机的资源(TCB控制结构,TCB,一般情况下是有限的)耗尽,而不能响应正常的TCP连接请求。 1.2 ICMP洪水 正常情况下,为了对网络进行诊断,一些诊断程序,比如PING等,会发出ICMP响应请求报文(ICMP ECHO),接收计算机接收到ICMP ECHO后,会回应一个ICMP ECHO Reply报文。而这个过程是需要CPU处理的

接口测试的误区和简单介绍

╄→尐↘猪︶ㄣ 提交于 2019-11-27 04:55:10
什么是接口测试?怎样做接口测试? 扫盲内容: 1.什么是接口? 2.接口都有哪些类型? 3.接口的本质是什么? 4.什么是接口测试? 5.问什么要做接口测试? 6.怎样做接口测试? 7.接口测测试点是什么? 8.接口测试都要掌握哪些知识? 9.其他相关知识? 1.什么是接口? 接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来,通过一些特殊的规则也就是协议,来进行数据之间的交互。 2.接口都有哪些类型? 接口一般分为两种:1.程序内部的接口 2.系统对外的接口 系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的。 程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,那么这两个模块就得有交互,它就会抛出一个接口,供内部系统进行调用。 接口的分类:1.webservice接口 2.http api接口 webService接口是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。 http api接口是走http协议

Java学习:Java网络编程总结

本小妞迷上赌 提交于 2019-11-27 02:28:02
Java网络编程总结 一、概述 计算机网络是通过传输介质、通信设施和网络通信协议,把分散在不同地点的计算机设备互连起来,实现资源共享和数据传输的系统。网络编程就就是编写程序使联网的两个(或多个)设备(例如计算机)之间进行数据传输。 Java语言对网络编程提供了良好的支持 ,通过其提供的接口我们可以很方便地进行网络编程。下面先对网络编程的一些基础知识进行介绍,最后给出使用Java语言进行网络编程的实例。 二、计算机网络 计算机网络 20世纪60年代出现,经历了20世纪70年代、80年代和90年代的发展,进入21世纪后,计算机网络已经成为信息社会的基础设施,深入到人类社会的方方面面,与人们的工作、学习和生活息息相关。 网络协议 如同人与人之间相互交流是需要遵循一定的规矩一样,计算机之间能够进行相互通信是因为它们都共同遵守一定的规则, 即网络协议。 网络体系结构 计算机网络是个复杂的系统,按照人们解决复杂问题的方法,把计算机网络实现的功能分到不同的层次上,层与层之间用接口连接。通信的双方具有相同的层次,层次实现的功能由协议数据单元(PDU)来描述。不同系统中的同一层构成对等层,对等层之间通过对等层协议进行通信,理解彼此定义好的规则和约定。 计算机网络体系结构是计算机网络层次和协议的集合,网络体系结构对计算机网络实现的功能,以及网络协议、层次、接口和服务进行了描述,但并不涉及具体的实现

华为设备的BGP路由技术是什么?

人盡茶涼 提交于 2019-11-27 00:26:56
一、 什么是BGP? BGP不同于之前介绍的动态路由协议,BGP是在自治系统之间进行路由学习及选路的协议,如果把一个城市比作一个自治系统,那么像RIP、OSPF等协议就相当于该城市的公交车或者地铁,而BGP则是火车,运行在城市之间。 1、 自治系统 自治系统(Autonomous System AS)是由同一个技术管理机构管理,使用统一选路策略,(运行同一动态路由协议)的一组路由器的集合,自治系统的编号取值范围为1~65535.其中1~64511是互联网上注册的公有AS号类,类似之前课程中讲过的公有IP地址,是全球唯一的且不可重复使用;64512~65535是私有AS号,类似之前博文讨论过的私有IP地址,可以重复使用但是互联网上不可见。 2、 动态路由的分类 动态路由协议有多种分类方法,其中按自治系统分类,按协议类型分类为较常用的两种。 1) 按自治系统分类 IGP:即自治系统内部的路由协议,主要包含RIPv1/v2、OSPF、ISIS、EIGRP(思科私有协议)。IGP是运行在AS内部的路由协议,它解决AS内部的选路问题。其重要作用是发现、计算路由。 EGP:即自治系统之间的路由协议,通常指BGP。EGP是运行在AS与AS之间的路由协议,它解决的是AS之间的选路问题。BGP的主要作用是控制路由的传播和选择最优路由。 通常情况下,会先使用IGP协议在自治系统内部计算和发现路由条目

深度好文|TCP连接的状态详解以及故障排查,技术人员必备技能

限于喜欢 提交于 2019-11-26 16:42:48
我们通过了解TCP各个状态,可以排除和定位网络或系统故障时大有帮助。 1、TCP状态 了解TCP之前,先了解几个命令: linux查看tcp的状态命令 : 1) netstat -nat #查看TCP各个状态的数量 2)lsof -i:port #可以检测到打开套接字的状况 3) sar -n SOCK #查看tcp创建的连接数 4) tcpdump -iany tcp port 9000 #对tcp端口为9000的进行抓包 网络测试常用命令; 1.ping:检测网络连接的正常与否,主要是测试延时、抖动、丢包率。 但是很多服务器为了防止攻击,一般会关闭对ping的响应。所以ping一般作为测试连通性使用。 ping命令后,会接收到对方发送的回馈信息,其中记录着对方的IP地址和TTL。TTL是该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。 TTL是IPv4包头的一个8 bit字段。例如IP包在服务器中发送前设置的TTL是64,你使用ping命令后,得到服务器反馈的信息,其中的TTL为56,说明途中一共经过了8道路由器的转发,每经过一个路由,TTL减1。 2.traceroute:raceroute 跟踪数据包到达网络主机所经过的路由工具 traceroute hostname 3.pathping:是一个路由跟踪工具,它将 ping 和 tracert

TCP三次握手和四次挥手

早过忘川 提交于 2019-11-26 14:24:33
常用的熟知端口号 TCP的概述 建立连接,每一个TCP连接都有连个端点,这种端点—>套接字(socket)。 套接字 :IP+TCP协议+端口----可以标识主机进程。 例如,若IP地址为192.3.4.16 而端口号为80,那么得到的套接字为192.3.4.16:80。 TCP报文首部 TCP报文是TCP层传输的数据单元,也叫报文段。 端口号:用来表示同一台计算机的不同进程。 各站2字节 1)源端口:标识报文的返回地址。 2)目的端口:端口指明接收方计算机上的应用程序接口。 TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接。 序号和确认号: 序号是本报文段发送数据组的第一个字节的序号。 确认号,即ACK,指明下一个期待收到的字节序号,表明该序号之前的所有数据已经正确无误的收到。确认号只有当ACK标志为1时才有效。比如建立连接时,SYN报文的ACK标志位为0。 数据偏移/首部长度:4bits。 因为首部含有可选字段,所以TCP报文长度是不确定的。爆头不包含任何可选字段则长度为20字节,4位首部长度字段所能表示的最大值为1111,转化为十进制为15,15 32/8=60(15 4字节)**,所以报文头最大为60字节。**首部长度叫数据偏移,是因为首部长度实际上只是了数据区的报文段中的起始偏移值。 保留:默认0,为将来定义新的用途保留。 控制位

TCP协议

谁说我不能喝 提交于 2019-11-26 13:58:22
简介 传输控制协议 (英语: T ransmission C ontrol P rotocol,缩写: TCP )是一种面向连接的、可靠的、基于 字节流 的 传输层 通信协议,由 IETF 的 RFC 793 定义。在简化的计算机网络 OSI模型 中,它完成第四层传输层所指定的功能。 用户数据报协议 (UDP)是同一层内另一个重要的传输协议。 在因特网协议族( Internet protocol suite)中,TCP层是位于 IP 层之上, 应用层 之下的中间层。不同主机的应用层之间经常需要可靠的、像 管道 一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。 应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分割成适当长度的报文段(通常受该计算机连接的网络的数据链路层的 最大传输单元 (MTU)的限制)。之后TCP把结果包传给IP层,由它来透过网络将包传送给接收端实体的TCP层。TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的 确认信息 (ACK);如果发送端实体在合理的 往返时延 (RTT)内未收到确认,那么对应的数据包就被假设为 已丢失 并进行重传。TCP用一个 校验和 函数来检验数据是否有错误,在发送和接收时都要计算校验和。 运作方式

HTTP协议分析

瘦欲@ 提交于 2019-11-26 13:53:04
1.简介 HTTP协议(Hyper Text Transfer Protocol,超文本传输协议),是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP基于TCP/IP通信协议来传递数据。 HTTP基于客户端/服务端(C/S)架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。 2.特点 (1)HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 (2)HTTP是媒体独立的:只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。 (3)HTTP是无状态:无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 HTTP请求报文 HTTP请求报文由3部分组成(请求行+请求头+请求体): 请求行: ①是请求方法,GET和POST是最常见的HTTP方法,除此以外还包括DELETE、HEAD、OPTIONS、PUT、TRACE。 ②为请求对应的URL地址,它和报文头的Host属性组成完整的请求URL。

基于Netty实现高性能弹幕系统

梦想的初衷 提交于 2019-11-26 08:11:00
一、弹幕系统概要设计 二、Netty对Http协议解析实现 三、WebScoket协议解析实现 一、弹幕系统概要设计 什么是弹幕系统? 弹 幕系统特点: 实时性高 :你发我收, 毫秒之差 并发量大 :一人吐槽,万人观看 弹幕系统架构设计: 业务架构: 实现方案一: 实现方案二: 二、NettyHttp协议解析实现 在上述方案中 浏览器不能直接能和Netty 建立连接 其必须借助http 请求 进行协议升级才能实现服务端与客户端基于Web Socket通信,其过程如下图: 也就是说如果我们想实现弹幕就必须先实现Http服务,那么Netty如何实现Http服务呢? Http协议交互过程 协议交互本质是指协议两端(客户端、服务端)如何传输数据?如何交换数据? 传输数据 一般基于TCP/IP 实现,体现到开发语言上就是我们所熟悉的Socket 编程。 交换数据 本质是指,两端(客户端、服务端)能各自识别对方所发送的数据。那么这就需要制定一套报文编码格式,双方以该格式编码数据发送给对方。Http 对应的Request 与Response报文格式如下图: request 报文: response 报文: http报文解析方案: 1:请求行的边界是CRLF(回车),如果读取到CRLF(回车),则意味着请求行的信息已经读取完成。 2:Header的边界是CRLF,如果连续读取两个CRLF

华为路由器之BGP路由技术总结及配置命令

时光总嘲笑我的痴心妄想 提交于 2019-11-26 05:26:17
博文大纲: 一、BGP的概念 1、自治系统是什么? 2、动态路由分类 3、BGP的特征 二、BGP的工作原理 1、BGP邻居关系 2、通告BGP路由的方法 3、BGP对等体的交互原则 4、更新源建立邻居关系 5、保证IBGP下一跳可达 6、EBGP多跳 7、控制BGP选路 8、BGP的选路原则 三、BGP的配置实例 1、AS之间、AS内部建立邻居关系 2、使用BGP协议宣告网段 3、控制路由选路的多个方法 4、向BGP注入本地路由条目 5、建立非直连的EBGP邻居关系 四、配置总结 什么是BGP? 边界网关协议(BGP)是运行于 TCP 上的一种自治系统(AS)的路由协议,是唯一能够妥善处理不相关路由域间的多路连接的协议。 通俗点讲: 中国电信 、中国联通、中国移动和一些拥有AS自治域的大型民营IDC运营商就可以通过BGP协议来实现多线互联。 简单打个比喻: 出差去上海(网站) 可以选择公路(电信)、飞机(联通)、高铁(移动)等多种方式 BGP就好比一个智能APP 可以帮助用户选择最佳的交通形式,并且可以在出现临时问题时,自动帮用户选择最佳的交通方式。 一、BGP的概念 BGP(Border Gateway Protocol,边界网关协议)是一个距离矢量路由协议,和传统的基于下一跳的IGP协议不同,它是基于AS(自治系统)的协议。BGP属于外部网关路由协议