美文网首页
基于wireshark了解HTTP和TCP协议和一些网络基本知识

基于wireshark了解HTTP和TCP协议和一些网络基本知识

作者: 李牧敲代码 | 来源:发表于2019-04-08 17:05 被阅读0次

先罗列一些基本概念:

[socket]:

网络上2个程序间通过一个双工(双向)的通信实现实时数据的交换,这个连接的一段称为socket(套接字),其本质是对TCP/IP的封装。

[网络7层协议]

  • 应用层(HTTP,FTP等)
  • 表示层(数据加密)
  • 会话层(数据)
  • 传输层(TCP,UDP)
  • 网络层(IP)
  • 链路层(应用于介质传输的协议)
  • 物理层(用于讨论物理介质的,比如电流,光调制等)

[URI,URL,URN]

  • URI(uniform resource identifier)
    统一资源标识符,有3部分组成
    • 访问资源的命名机制
    • 存放资源的主机名
    • 资源自身的名称
  • URL(uniform resource locator)
    统一资源定位符
    • 访问协议
    • 存放资源的主机IP地址
    • 存放资源的具体地址(如目录或文件名)
  • URN(uniform resource name)
    统一资源命名
    它可以唯一标识网络中的一个实体,而位置可以发生变化,它可以引用多个URL。比如P2P下载中的磁力链接就是URN的一种实现。

[报文]

报文(message)是网络中交换与传输的数据单元,即站点需要一次性发送的数据块。

[TCP]

是一种面向连接的、可靠的、基于字节流的传输层通信协议。

TCP的几个名词

  • SYN(Synchronize Sequence Numbers)同步序列编号,用于发起连接。
  • ACK (Acknowledgement)确认字符。
  • SEQ ( Sequence ) 序号。
  • PSH (Push)推送,让服务端直接拿走数据,这个数据一般较多,不经过缓冲区。
  • RST(Rest)重置连接。
  • FIN (FINISH)请求关闭连接。
  • MSS(Management Support System)表示传输时每个报文能承载的最大数据长度。

TCP建立连接的3次握手

  1. 客户端发送SYN报文带上seq(随机产生)。
  2. 服务端发送SYN和ACK报文带上seq,为上次报文的seq+1。
  3. 客户端发送ACK报文

TCP断开连接的4次握手

  1. 客户端发送FIN报文带上seq(随机产生)。
  2. 服务端继续完成未发送完的数据包,发送SYN和ACK报文带上seq,为上次报文的seq+1。
  3. 服务端完成所有的数据包的发,最后发送FIN报文,告诉客户端可以关闭连接。
  4. 客户端发送ACK报文,关闭连接。

[http]

简介

  • 【定义】超文本传输协议(Hyper Text Transfer Protocol),用于从WWW(world wide web)传输超文本到本地。
  • 基于TCP
  • 属于应用层面向对象的协议

特点

  • 简单快速,只需要传请求方法和路径。
  • 灵活。可以传输的任意类型的数据,通过Content-Type标记即可。
  • 无状态
  • 支持B/S,C/S模式

请求报文组成

由4部分组成

  • 请求行(请求方法,URL,协议)
  • 请求头
  • 空行
  • 请求数据

响应报文组成

由4部分组成

  • 状态行(协议版本号,状态码,状态消息)
  • 响应头
  • 空行
  • 响应正文

工作原理

  1. http客户端通过TCP向服务端发送一个请求。
  2. 服务端做出响应。
  3. 关闭TCP连接。
  4. 解析响应内容。

[下面基于wireshark(网络抓包工具)观察下TCP的几次握手]

直接上图


image

对于wireshark还处于初步学习阶段,有建议和补充的欢迎留言~

【完】

参考文献

https://www.cnblogs.com/ranyonsue/p/5984001.html

相关文章

  • 基于wireshark了解HTTP和TCP协议和一些网络基本知识

    先罗列一些基本概念: [socket]: 网络上2个程序间通过一个双工(双向)的通信实现实时数据的交换,这个连接的...

  • HTTP备忘

    HTTP http,基于tcp协议,位于网络分层模型的应用层,tcp则是位于传输层,所以说http是tcp的上层协...

  • 网络协议总结

    本文借助wireshark抓包详细的讲解常用的网络协议。涉及的主要协议包括但不限于http协议、tcp协议、ip协...

  • ☆技术问答集锦(四)

    2 TCP 与 UDP 网络层:IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议;传输层:TCP协...

  • WireShark学习笔记

    抓包工具 Wireshark, 用来获取网络数据封包,包括 HTTP、TCP、UDP 等网络协议包。 wiresh...

  • TCP/IP学习

    网络7层模型和TCP/IP四层模型 HTTP和TCP/IP有什么不一样?http是应用层的协议,tcp为传输层的协...

  • Servlet学习笔记(二)

    HTTP协议 基于TCP连接的传输协议 默认端口是80 基于请求—响应模式的协议 HTTP协议的请求头 HTTP协...

  • 有关HTTP 协议(IP和端口)

    网络与IP HTTP 协议的底层其实是由 TCP 协议和 IP 协议(简称 TCP/IP)构建的 TCP 传输控制...

  • ios http和scoket通信的区别

    HTTP协议:简单对象访问协议,对应于应用层 ,HTTP协议是基于TCP连接的 tcp协议: 对应于传输层 ip协...

  • 字符串与JSON

    0、对于 HTTP 协议而言,HTML、CSS、JS、JSON 的本质都是什么? HTTP是基于 TCP/IP 协...

网友评论

      本文标题:基于wireshark了解HTTP和TCP协议和一些网络基本知识

      本文链接:https://www.haomeiwen.com/subject/wokqiqtx.html