实习Days3-4学习总结——网络基础和抓包工具Wiresharks的使用

计划任务

  • 网络基础+抓包工具ppt内容总结

网络基础

TCP/IP和OSI七层模型

1. OSI模型

1)OSI的概念:Open System Interconnect开放系统互连参考模型,它是个灵活、稳健、可互操作的模型,并不是协议的真实分层。

2)OSI模型分为7层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
在这里插入图片描述
3)OSI七层模型是一种框架性的设计方法,建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能就是帮助不同类型的主机实现数据传输。它的最大优点是服务、接口和协议这三个概念明确地区分开来,通过七个层次化的结构模型使不同的网络之间实现可靠的通讯。

在这里插入图片描述
4)各层简介

名称功能简介
物理层负责把逐个比特从一跳(结点)移动到另一跳(节点)。主要定义物理设备标准,物理层功能:1. 定义接口和媒体的物理特性(如网线或光纤的接口类型、各种传输介质的传输速率等);2.定义比特的表示、数据传输速率、信号的传输模式(单工、半双工、全双工);3.定义网络物理拓扑(网状、星型、环型、总线型等拓扑)。这一层数据叫做比特
数据链路层负责物理传输的准备。在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,并进行各电路上的动作系列。数据链路层在不可靠的物理戒指上提供可靠的传输 。数据链路层的作用:物理地址寻址、数据的成帧、流量控制、数据检错、重发等。这一层的数据单位称为。数据链路层包含:介质访问控制MAC(802.3)以及逻辑链路控制LLC子层(802.2)。MAC地址和交换机在这一层。
网络层为网络设备提供逻辑地址(三层地址),进行路由选择、维护路由表;负责将分组数据从源端传输到目的端。例如:1.广播、组播隔绝;2.寻址及转发选择到达目的网络的最佳路径;3.流量管理;4.连接广域网(WAN)。这一层数据单位称为数据包(packet)负责管理网络地址、定位设备、决定路由,路由器工作在这一层。
传输层OSI中最重要的一层,负责分割组合数据,实现端到端的逻辑连接;服务点编址、分段与重组、连接控制、流量控制、差错控制。该层的数据单元也称作数据包(packets),但是谈论TCP等具体协议时,TCP的数据单元称为段(segments),而UDP协议的数据单元称为数据报(datagrams)。这个层负责获取全部信息,因此,它必须跟踪数据单元碎片、乱序到达的 数据包和其它在传输过程中可能发生的危险。第4层为上层提供端到端(最终用户到最终用户)的透明的、可靠的数据传输服务。所为透明的传输是指在通信过程中 传输层对上层屏蔽了通信传输系统的具体细节。 该传输层协议的代表包括:TCP、UDP、SPX等。
会话层负责在网络中两个节点间建立、维护、控制会话,区分不同的会话。 以3种方式组织通信:单工、半双工和全双工。通过传输层(端口号:传输端口与接收端口)建立数据传输的通路,主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)。NFS、X Windows、RPC都在这一层
表示层可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取,这一层主要解决信息的语法表示问题** 。** 负责数据的解码和编码,数据的加密和解密,数据的压缩和解压缩,例如:ASCII,JPEG
应用层该层为应用软件提供接口,为用户的操作系统或应用程序(如电子邮件、文件传输和终端仿真)提供网络服务 ,应用层的协议代表:telnet(23),ftp(20/21),http(80),smtp(25),pop3(110),dns(53)等

特点:
1)OSI模型每层都有自己的功能集;
2)层与层之间相互独立又相互依靠;
3)上层依赖于下层,下层为上层提供服务。

参考:
https://blog.csdn.net/qq_43272170/article/details/84980017
https://blog.csdn.net/hhhhhsw/article/details/81212283
https://www.cnblogs.com/gdayq/p/5797645.html

TCP/IP必须知道的十大问题

https://www.cnblogs.com/fengzanfeng/articles/1339347.html
1.TCP/IP模型
2.数据链路层
3.网络层
4.ping:主机是否可达,通过计算间隔时间和传送多少个包的数量子网掩码时间戳:获得当前时间差错报文
5.Traceroute:Traceroute是用来侦测主机到目的主机之间所经路由情况的重要工具,也是最便利的工具。前面说到,尽管ping工具也可以进行侦测,但是,因为ip头的限制,ping不能完全的记录下所经过的路由器。所以Traceroute正好就填补了这个缺憾。
6.TCP/UDP
7.DNS
8.TCP连接的建立与终止
9.TCP流量控制
10.TCP拥塞控制

2.什么是TCP/IP?

1)简介TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),是传输控制协议/网际协议,已经称为网际互连标准。包含了一系列构成互联网基础的网络协议,是一个协议族,是Internet的核心协议。

  • 有些文章也将TCP/IP协议族称为TCP/IP协议栈。

在这里插入图片描述
2)各层功能

功能
应用层为应用程序提供网络接口,这里有http,ftp 等协议
传输层1.数据分段和数据段合并;2.建立端到端的连接;3.将数据段从一台主机发往另一台主机;4.保证数据传送正确性(可选),TCP和UDP在这层
网络层完成数据包寻址和路由的功能,IP协议在这里
数据链路层将数据通过物理介质在发送端与接收端传送
物理层物理层定义了电气上、机械上的过程和功能,以实现两端系统连接时线路的激活、保持与拆除

参考:https://blog.csdn.net/u012371712/article/details/80795297

TCP和UDP

  • TCP面向连接的通信协议,通过3次握手建立连接,通讯完成时要拆除连接。由于TCP是面向连接的,因此只能用于端到端的通信。传输的数据:无差错、不丢失、不重复且按序到达。
  • 应用程序(浏览器)调用socket库的connect:

号建立连接) |无连接,即发送数据之前不需要建立连接 |
| 传送的数据无差错、不丢失、不重复、且按序到达 | 不保证可靠交付 |
| 点到点 (全双工)| 一对一、一对多、多对一和多对多 |
| 要求通信数据可靠(如文件传输、邮件传输) | 要求通信速度快(如域名转换) |
|传输速度:慢|传输速度:快|
| 传输形式:字节流 | 传输形式:数据报文段 |
|拥塞控制:慢开始、拥塞避免、快重传、快恢复|无|

  • UDP面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。UDP通讯时不需要接收方确认,属于不可靠的传输,可能会有丢包现象。
    TCP/IP(Transmission Control Protocol/ Internet Protocol)即传输控制协议/网间协议。
    UDP(User Data Protocol,用户数据协议)是与TCP相对应的协议。它是属于TCP/IP协议族中的一种。

在这里插入图片描述

TCP和UDP协议的一些应用

TCP流量控制

TCP拥塞控制

TCP/IP和OSI七层模型区别

  • TCP/IP和OSI最大的不同在于OSI是一个理论上的网络通信模型,而TCP/IP则是实际运行的网络协议。
  • TCP/IP支持跨层封装;OSI不支持
  • TCP/IP仅仅支持IP网络协议; OSI支持多种网络层协议(IP IPX APPLE TALK NOVELL NSAP)
  • 开放式系统互联模型是一个参考标准,解释协议相互之间应该如何相互作用。TCP/IP协议是美国国防部发明的,是让互联网成为了目前这个样子的标准之一。开放式系统互联模型中没有清楚地描绘TCP/IP协议,但是在解释TCP/IP协议时很容易想到开放式系统互联模型。两者的主要区别如下:
    1)TCP/IP协议中的应用层处理开放式系统互联模型中的第五层、第六层和第七层的功能。
    2)TCP/IP协议中的传输层并不能总是保证在传输层可靠地传输数据包,而开放式系统互联模型可以做到。TCP/IP协议还提供一项名为UDP(用户数据报协议)的选择。UDP不能保证可靠的数据包传输。

在这里插入图片描述

参考:
https://blog.csdn.net/u012371712/article/details/80795297

抓包工具Wireshark

Q:MAC地址和IP地址的区别和联系

  • 区别:
  • 联系:

Q:有了IP地址为什么还要用MAC地址

  • 首先明确一点,并非所有网络之间传输数据都需要mac地址和IP地址,如点对点线路间通信就没有mac地址,网络层使用ipx协议时就没有IP地址,但是在当前的主流网络中,我们都是用IP地址和mac地址。
  • IP地址中分为网络号和主机号,所以能够体现网络的层次结构;而mac地址是厂家号和厂家内部的序号,无法体现网络的结构。
  • IP地址表达的是当前机器在网络中的位置,类似于城市名+道路号+门牌号的概念。通过IP层的寻址,我们就能知道按何种路径在任意两台Internet上的机器间传输数据。
  • mac地址通常是不变的,IP地址是可变的,尤其移动设备的IP地址会经常变更。
  • 答:(IP地址负责找到你所在的区域,mac地址负责找到你。)
    当年设计IP地址是因为随着网络中设备逐渐增多,人们发现路由(即寻找数据包从发送方到接收方的路径)变得越来越困难了,于是人们将网络划分为很多个子网,即路由器在路由中可以把其他子网看成一个整体来进行计算。对于目的地在其他子网的数据包,路由器只需要让数据包到达子网即可,剩下的工作由子网内部解决。虽然这种方法只能让寻找到的路径接近最优而不保证最优,不过大大减少了路由器的计算量,利大于弊。
    那么为什么我们需要IP地址? 若只用mac地址,会发现路由器需要记住每个mac地址所在的子网是哪一个,而世界上有2^48 个mac地址,意味着即使给每个mac地址留1字节的储存空间,每个路由器也需要256TB的内存,显然不可能实现。所以需要IP地址,IP地址是和低于相关的。对于位于同一个子网上的设备,分配的IP地址前缀都是相同的,该前缀相当于邮政编码。这样,路由器过IP地址的前缀就知道这个设备在哪个子网上了。现在,路由器只需要记住每个子网的位置即可,大大减少了路由器所需要的内存。
    那么能不能去掉mac地址呢? 不能,因为IP地址是要设备上线以后,才能根据进入哪个子网来分配的,在设备还没有IP地址的时候(或者分配IP地址的过程中),我们还需要用mac地址区分不同的设备。
    -总之,mac地址就像自己的ID号,而IP地址就像带着邮政编码的主旨,各有各的用途。所以我们需要两个地址,缺一不可。

参考 https://www.zhihu.com/question/21546408

HTTP

什么是HTTP协议

HTTP(超文本传输协议,HyperText Transfer Protocol)定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及定义了怎样把文档传送给浏览器,是面向事务的应用层协议。默认使用80端口。

HTTP协议的特点

  • 1.使用面向连接的TCP作为运输层协议,保证了数据的可靠传输。
  • 2.HTTP协议本身是无连接的。 通信双方在交换HTTP报文之前不需要先建立HTTP连接(通过TCP三次握手建立连接)。
  • 3.HTTP协议是无状态的,HTTP协议不对请求和响应之间的通信状态进行保存。也就是说,同一个客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时相同。(使用Cookie技术可以保存客户端与服务器之间的状态信息)。

HTTP报文结构

HTTP的状态码含义

Http的状态码含义。

一、200状态码:

成功2××: 成功处理了请求的状态码。

1、200 :服务器已成功处理了请求并提供了请求的网页。

2、204: 服务器成功处理了请求,但没有返回任何内容。

二、300状态码:

==重定向3×× ==:每次请求中使用重定向不要超过 5 次。

1、301: 请求的网页已永久移动到新位置。当URLs发生变化时,使用301代码。搜索引擎索引中保存新的URL。

2、302: 请求的网页临时移动到新位置。搜索引擎索引中保存原来的URL。

3、304: 如果网页自请求者上次请求后没有更新,则用304代码告诉搜索引擎机器人,可节省带宽和开销。

三、400状态码:

客户端错误4×× :表示请求可能出错,妨碍了服务器的处理。

1、400: Bad Request 服务器不理解请求的语法。

2、403: Forbidden 服务器拒绝请求。

3、404: 服务器找不到请求的网页。服务器上不存在的网页经常会返回此代码。

4、410 :请求的资源永久删除后,服务器返回此响应。该代码与 404(未找到)代码相似,但在资源以前存在而现在不存在的情况下,有时用来替代404 代码。如果资源已永久删除,应当使用 301 指定资源的新位置。

四、500状态码:

服务器错误5×× :表示=服务器在处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错。

1、500 : Internal Server Error 服务器遇到错误,无法完成请求。

2、503:Server Unavailable 服务器目前无法使用(由于超载或停机维护)。

通常,这只是暂时状态。 希望大家在分析日志的时候可以参照一下,根据具体的状态码解决问题。

GET和POST区别

  1. get常用于从服务器上获取数据,post常用于向服务器传送数据。

HTTP与HTTPS

参考:https://blog.csdn.net/weixin_40870788/article/details/80851211
https://blog.csdn.net/hhhhhsw/article/details/81212283

IP地址与掩码

IP(Internet Protocol,网络之间互连的协议),为计算机网络相互连接进行通信而设计的协议。它能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规定。

**子网掩码(subnet mask)**又叫网络掩码、地址掩码。它时一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。

  • 子网掩码不能单独存在,它必须结合IP地址一起使用。
  • 子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
  • 子网掩码和IP地址做“与”运算,分离出IP地址中的网络地址和主机地址,用于判断该IP地址是在本地网络上,还是在远程网络网上。
  • 子网掩码还用于将网络进一步划分为若干子网,以避免主机过多而拥堵或过少而浪费。(子网划分可以用于解决网络风暴的产生,也可以通过子网划分来解决组播和广播的优化网络。)

子网掩码——屏蔽一个IP地址的网络部分的“全1”比特模式。
对于A类地址来说,默认的子网掩码是255.0.0.0;
对于B类地址来说,默认的子网掩码是255.255.0.0;
对于C类地址来说,默认的子网掩码是255.255.255.0。

IPv4(Internet Protocol Version 4)

  • 网络号表示某个IP段,由IP地址和子网掩码与AND 运算获得,即网络标识
  • 主机根据此号判断目的主机是在本网段(内网)还是需要送到网关(路由器)在外网上寻找。要想在同一网段,必须做到网络标识一样
  • 将子网掩码反取,做与AND运算得到的结果就是主机标识

IPv6(Internet Protocol Version 6)

  • IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。
  • IPv6的地址长度为128位,是IPv4地址长度的4倍。
  • IPv6的表示方法:格式位X:X:X:X:X:X:X:X,其中每个X表示地址中的16b,以十六进制表示。
  • 连续的一段0压缩位“::”
  • 例如: ABCD:EF01:2345:6789:ABCD:EF01:2345:6789

物理地址(MAC地址)

  • 网络上的设备有一个唯一的地址——MAC地址
  • MAC地址由48bit组成,通常用16进制表示
  • 前24位数字由IEEE负责统一分发,用来确定厂商的唯一性(组织唯一标识符 24bit)
  • 后24位数字由各厂商自己负责管理
  • 例如48:EA:63:0E:00:01

DHCP

  • DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)
  • 作用:从地址池动态分配IP地址给设备,有了DHCP就无需手动一台一台PC配置IP地址
  • 配置参数:地址池、地址租期、网关(Gateway,是一个网络连接到另一个网络的“关口”)等
  • 动态分配的优点:自动操作、集中管理、地址重用与共享、避免冲突

网络拓扑

  • 网络拓扑(Network Topology)结构是指用传输介质互连各种设备的物理布局
  • 常见结构:
    1)星型结构:一个中心,多个分节点。
    优点:结构简单,连接方便、管理维护容易、网络延迟时间较小
    缺点:成本高、可靠性较低
    2)环型结构:各个设备直接通过电缆串接,最后形成一个闭环,整个网络发送的信息就是在这个环中传递。
    优点:结构简单,成本低、传输速度较快
    缺点:传输效率低(数据在环状网络从头走到尾)、扩展性差、维护困难
    3)总线型结构:各工作站和服务器均挂在一条总线上,各服务器地位平等,无中心节点控制。
    优点:结构简单,可扩充性好、所需电缆数少、多节点共用一条传输信道、信道利用率、可靠性高
    缺点:维护难,分支节点故障不易排查、单点结构可能会影响全网络
    4)混合拓扑结构:树形拓扑从总线拓扑演变而来,是分级的集中控制式网络。
    优点:易于扩展、容易隔离故障
    缺点:根节点故障会导致全网无法工作

VLAN

  • VLAN(Virtual Local Area Network)的中文名为:“虚拟局域网”。
  • VLAN是一种将局域网(LAN)设备从逻辑上划分(注意,并非从物理上划分)成一个个网段(或者说更小的局域网LAN),从而实现虚拟工作组(单元)的数据交换技术。
  • VLAN这一新兴技术主要应用于交换机路由器中。但主流应用还是在交换机中,且只有VLAN协议的第二层以上交换机才具有此功能。

交换机(Switch)vs 路由器(Router)

  • 交换机(Switch)可以为接入交换机的任意两个网络节点提供独享的电信号通路。
  • 路由器(Router)根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。
交换机路由器
同一网络内数据的快速传输不同网络间数据的跨网络传输
转发决策通过查看二层头部完成转发决策通过查看三层头部完成
工作在TCP/IP协议的二层——数据链路层工作在TCP/IP协议的三层——网络层
一次路由(寻路),多次交换(转发)一次路由(寻路),一次交换(转发)
适合网络结构简单,交换数据量大的情景适合复杂的多网络互联的核心交换区域

常用命令

ping命令的使用方法

ping:测试网络连接状况
命令格式:ping [IP地址] 或 [主机名] [-t] [-a] [-n]
参数含义:
-t 不停地向目标主机发送数据
-a 将地址解析为主机名
-n 要发送的回显请求数

Ipconfig命令的使用方法(Windows系统下)

Ipconfig:显示网络适配器的物理地址,IP地址,掩码及网关
命令格式: ipconfig [-all] [-renew] [-release]
参数含义:
-all 显示所有的有关IP地址的配置信息
-renew 重试所有网络适配器
-release 释放所有网络适配器

Socket原理

1.套接字(socket)概念
套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口

应用层通过传输层进行数据通信时,TCP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了套接字(socket)接口。应用层可以和传输层通过socket接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。

2.建立socket连接
建立socket连接至少需要一对套接字,其中一个运行于客户端,称为ClientSocket,另一个运行于服务器端,称为ServerSocket。

连接过程三个步骤:服务器监听、客户端请求、连接确认。

3.Socket连接与TCP连接
创建socket连接时,可以指定使用的传输层协议,socket可以支持不同的传输层协议(TCP或UDP)。
当使用TCP协议进行连接时,该socket连接就是一个TCP连接,因此socket连接一旦建立,通信双方即可开始相互发送数据,直到双方连接断开。
而HTTP连接使用的是“请求—相应”方式,不仅在请求时需要先建立连接,而且需要客户端向服务器发出请求后,服务器端才能回复数据。

参考:
https://www.jianshu.com/p/340ea61e05ef?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值