当前位置: 首页 > news >正文

vs网站开发效果图韶关网站seo

vs网站开发效果图,韶关网站seo,做网站推广要注意什么,上海网站设计与制文章目录 概念引入理解全连接队列内核方面理解Tcp抓包方法注意事项 概念引入 我们知道,TCP的三次握手是由TCP协议 自动处理的,建立连接的过程与用户是否进行accept无关,accept()的作用主要是为当前连接创建一个套接字,用于进行后…

文章目录

  • 概念引入
  • 理解全连接队列
  • 内核方面理解
  • Tcp抓包
    • 方法
    • 注意事项


概念引入

我们知道,TCP的三次握手是由TCP协议 自动处理的,建立连接的过程与用户是否进行accept无关accept()的作用主要是为当前连接创建一个套接字,用于进行后续的通信;

当服务器来不及进行accept时,底层的TCP listen sock依然允许建立三次握手,建立连接成功,但这个建立连接的数量是有限的:backlog + 1,这个长度就是全连接队列的长度


理解全连接队列

在这里插入图片描述
我们根据上图得出几个结论:

  1. 如图中所述:连接本质是内核中的一种结构体对象,当客户端向服务器发送连接请求时,会先进行三次握手,随后加入到全连接队列中去,如果此时服务器闲置,则会将全连接队列中的连接拿去一部分进行处理
  2. 全连接队列的最大值是Backlog+1,不代表服务器只能同时处理Backlog+1个请求每次服务器会一次处理n个请求(全连接队列拿取)
  3. 全连接队列既不能为空,也不能太长
    • 为空:增加服务的闲置率,减少给用户提供的效率
    • 太长:增加用户等待时间(如果全连接队列本就有连接,证明服务器已经来不及处理连接);且增加空间浪费(需要给每个客户端连接创建额外的空间)

内核方面理解

在这里插入图片描述

上面的图片基本揭示了当创建一个文件描述符后,是如何建立连接读取数据的

当创建文件描述符后,会经历以下过程:

  1. 创建 struct file

    • 当一个进程请求创建一个 socket 时,内核首先分配一个 struct file 结构体,这个结构体代表打开的文件或 socket,包含文件的类型、状态和指向实际数据的指针。
  2. 创建 struct socket

    • 接下来,内核会为该 socket 创建一个 struct socket 结构体。这个结构体包含了 socket 的相关信息,如协议类型(TCP、UDP等)和相关的操作函数指针。
  3. 创建 struct tcp_socket

    • 如果是 TCP socket,内核会在 struct socket 中创建一个 struct tcp_socket 结构体。这一结构体专门处理 TCP 协议的特定信息和操作。
  4. 创建 struct inet_connection_sock

    • struct tcp_socket 还包含一个 struct inet_connection_sock,它负责处理 TCP 连接的状态,包括全连接队列(accept queue)和半连接队列(syn queue)。
  5. 包含 struct sock

    • inet_connection_sock 中有一个 struct sock,这是网络协议栈的核心结构之一。struct sock 包含了许多关键信息,包括:
      • 读写缓冲区:用于存储接收到的数据和待发送的数据。
      • 状态信息:例如连接的状态(监听、已连接、关闭等)。

全连接队列与缓冲区

  • 全连接队列

    • 一旦 TCP 三次握手完成,连接会被加入到全连接队列中,这样服务器就可以处理这些连接。
  • 读写缓冲区

    • 当数据通过网络接收时,它会被存储在 struct sock 中的读缓冲区中,进程可以通过系统调用(如 recv)读取这些数据。
    • 类似地,待发送的数据会放入写缓冲区,直到发送完成。

Tcp抓包

方法

Linux下的TCP抓包可以使用TCPDumpTCPDump 是一款强大的网络分析工具, 主要用于捕获和分析网络上传输的数据包

  1. 捕获所有网络接口上的 TCP 报文

使用以下命令可以捕获所有网络接口上传输的 TCP 报文:

sudo tcpdump -i any tcp
  1. 捕获指定网络接口上的 TCP 报文

只想捕获某个特定网络接口上的 TCP 报文, 可以使用以下命令:

sudo tcpdump -i <interface> tcp

interface部分的网络接口可以通过ifconfig命令查看

  1. 捕获特定源或目的 IP 地址的 TCP 报文

使用 host 关键字可以指定源或目的 IP 地址。 例如:

  • 要捕获源 IP 地址为 192.168.0.8 的 TCP 报文, 可以使用以下命令:
sudo tcpdump src host 192.168.0.8 and tcp
  • 要捕获目的 IP 地址为 192.168.0.9 的 TCP 报文, 可以使用以下命令:
sudo tcpdump dst host 192.168.0.9 and tcp
  • 同时指定源和目的 IP 地址, 可以使用 and 关键字连接两个条件:
sudo tcpdump src host 192.168.0.8 and dst host 192.168.0.9 and tcp
  1. 捕获特定端口的 TCP 报文

使用 port 关键字可以指定端口号。 例如, 要捕获端口号为 80 的 TCP 报文(通常是 HTTP 请求):

sudo tcpdump port 80 and tcp
  1. 保存捕获的数据包到文件

使用 -w 选项可以将捕获的数据包保存到文件中, 以便后续分析。 例如:

sudo tcpdump -i eth0 port 80 -w data.pcap

这个代码会把捕获到的 HTTP 流量保存到 data.pcap 文件中;
另外,pcap 后缀的文件与 PCAP(Packet Capture) 文件格式相关,即用于捕获网络数据包的文件格式

  1. 从文件中读取数据包进行分析

使用 -r 选项可以从文件中读取数据包进行分析:

tcpdump -r data.pcap

该代码将读取 data.pcap 文件中的数据包并进行分析

注意事项

  • 使用 tcpdump 时, 需要确保有足够的权限来捕获网络接口上的数据包。
  • 使用 tcpdump 的时候, 有些主机名会被云服务器解释成为随机的主机名, 可以使用 -n 选项避免

http://www.khdw.cn/news/4755.html

相关文章:

  • 济南新风向网站建设东莞网络营销信息推荐
  • 做排行网站山东做网站公司
  • 青岛网站建设的方案微博推广方法有哪些
  • gettext wordpressseo怎么优化关键词排名
  • 完整的网站开发微信推广多少钱一次
  • 做网站建设公司赚钱百度一下百度网站
  • 免费移动网站模板下载安装seo搜索排名影响因素主要有
  • 前端静态网页模板seo知识总结
  • 想开一家相亲网站 怎么做代写文章的平台有哪些
  • html网页设计结课作业便宜的seo官网优化
  • 北京工程建设交易信息网站手机网站自助建站系统
  • 禅城区网站建设公司图片搜索识图入口
  • 东道网站建设搜索引擎大全
  • 企业网站设计期末考试域名注册需要多少钱
  • wap网站e4a做app全国病毒感染最新消息
  • net创建网站之后怎么做建站系统有哪些
  • 请人做网站谁来维护东莞网站关键词优化公司
  • 网站开发游戏怎么在百度上免费做广告
  • 宝鸡网站设计十大免费域名
  • 宁波网站建设建站系统个人网站免费域名注册
  • 顺德哪家做网站快速网站推广优化
  • 网站建设与管理 自考产品推广渠道
  • 西安做网站企业宣传广告怎么做吸引人
  • asp动态网站开发教程百度如何做广告
  • 网站建设的主要步骤网络销售平台怎么做
  • 昭通市有做网站的吗公司网站建设推广
  • 越秀区政府门户网站建设seo关键词优化怎么收费
  • 好用的html编辑器如何优化网页
  • 长沙企业网站制作哪家好在线生成网站
  • 招商加盟网站的图应该怎么做傻瓜式自助建站系统