前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Web应用系统介绍-TCP/IP协议

Web应用系统介绍-TCP/IP协议

作者头像
用户1631416
发布2018-04-24 16:41:27
1.2K0
发布2018-04-24 16:41:27
举报
文章被收录于专栏:玄魂工作室

大家先冷静一下上了一天班的大脑先~~~

然后我们再讲理论~

以下内容非常枯燥,但是也是非常有用~

在我们开始CTF的道路之前,希望你们能知道并理解下面基本概念,其中有一些是计算机类毕业生必学的内容

学过的同学可以回顾一下

没学过的同学通过我们的抛砖引玉加深自己的理论学习

首先就是TCP/IP协议

TCP/IP协议源于1969年,是针对Internet开发的一种体系结构和协议标准,其目的在于解决异种计算机网络的通信问题

TCP/IP的全称是Transmission Control Protocol/Internet Protocol,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层IP协议传输层TCP协议组成。TCP/IP定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。

使得网络在互联时能为用户提供一种通用、一致的通信服务,是国际互联网Internet采用的协议标准

TCP/IP是一组通信协议的代名词,是由一系列协议组成的协议簇。它本身指两个协议集:

TCP 传输控制协议

IP 互联网络协议

组成

其组成如下如所示

当数据在网路中传输的时候,会依次进过每一层,最终呈现给用户

TCP/IP体系和协议栈之间的关系

我们可以看出,我们熟知的DNS,FTP等等协议,都是在应用层上的协议,下面我用FTP做例子讲解这个从上到下从下到上的过程

基于TCP/IP的文件传输协议(FTP)

原始数据在应用层加上了一个FTP头之后,在传输层加上了TCP头,依次类推,到达目的之后,又反方向脱去数据头,最终呈现原始的数据

数据链路层协议

这里我们稍微了解一下数据链路层协议

SLIP

全称是Serial Line IP,它是一种在串行线路上对IP数据报进行封装的简单形式

PPP

点对点协议修改了SLIP协议中的所有缺陷,与SLIP类似,PPP经常用于低速的串行链路

网络层IP协议

网际协议(IP)主要负责在主机之间寻址和选择数据包的路由,IP协议不含错误恢复的编码,属于不可靠的协议

MAC地址

MAC地址是网路设备在出厂之前由厂家写入到硬件中的一个地址

当我们的设备接入网络之后,计算机会使用ARP协议来建立IP地址和MAC地址的映射表

为什么讲这个,ARP攻击的原理就是从这里引伸出来的

IP地址的分类

IP地址划分为A、B、C3类

InternetNIC在全球范围内统一分配,D、E类为特殊地址(组播和广播)

A类IP地址

一个A类IP地址1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是0

地址范围从0.0.0.0127.255.255.255

可用的A类网络有126个,每个网络能容纳1亿多个主机

A类私有IP

10.0.0.010.255.255.255

可以看出~我们培训的网段其实是在A类私有IP段里面

B类IP地址

一个B类IP地址2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是10

地址范围从128.0.0.0191.255.255.255

可用的B类网络有16382个,每个网络能容纳6万多个主机 。

B类私有IP

172.16.0.0172.31.255.255

C类IP地址

一个C类IP地址3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是110

范围从192.0.0.0223.255.255.255,C类网络可达209万余个,每个网络能容纳254个主机。

C类私有IP

192.168.0.0192.168.255.255

现在我们大多数的家庭路由器都是工作在这个段里面

那么一个网络设备是如何能被其他网络设备发现的呢?

对于这么几个地址,做到知道并能区别

ARP

ARP把基于TCP/IP软件使用的IP地址解析成局域网硬件使用的媒体访问控制(MAC地址)地址

互连网控制报文协议ICMP

ICMP传递差错报文以及其他需要注意的信息

ICMP报文通常被网络层或更高层协议(TCP或UDP)使用,一些ICMP报文把差错报文返回给用户进程

ICMP用来传送一些关于网络和主机的控制信息,如目标主机是不可到达的、路由的重定向等

常用的ping命令就是使用了ICMP协议,ICMP不为数据提供错误控制服务,只是报告数据出错并不再传送错误的数据,并在IP数据报的生存期过后将期抛弃

传输层协议

传输层包括两个协议:

第一个是TCP协议,即传输控制协议,是一个可靠的、面向连接的协议

第二个是UDP协议,它采用无连接的方式,不管发送的数据包是否到达目的主机,数据包是否出错,收到数据包的主机也不会告诉发送方是否正确收到了数据,它的可靠性是由上层协议来保障的

TCP

传输控制协议TCP将数据分成数据报,用能够到达目的地的路径信息连行包装,接收端则将这些数据进行重组。它提供可靠的、面向连接的数据报传递服务

UDP

用户数据报协议UDP是无连接的服务,在无连接服务的情况下,两个实体之间的通信不需先建立好一个连接,因此其下层的有关资源不需要事先进行预定保留,这些资源将在数据传输时动态地进行分配

端口

传输层就是通过协议端口(protocol port,简称端口)与应用层的应用程序进行信息交互的,应用层各种用户进程通过相应的端口与传输层实体进行信息交互

端口实际上是一个16bit长的地址,范围可以从065535

01023端口号称为熟知端口(Well-Known Port),其余102465535端口号称为一般端口动态连接端口(Registered/Dynamic)

在数据传输过程中,应用层中的各种不同的服务器进程不断地检测分配给它们的端口,以便发现是否有某个应用进程要与它通信。

下期内容

<Web应用系统介绍-Web应用组成> 2018-4-20 周五

本文完

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-04-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 玄魂工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档