手机商城网站案例,网络推广培训有哪些课程,怎么给产品做网络推广,睢宁做网站公司TCP全连接队列
在 Linux 网络中#xff0c;TCP 全连接队列#xff08;也称为 Accept 队列#xff09;是一个重要的概念#xff0c;用于管理已经完成三次握手#xff0c;即已经处于 established 状态但尚未被应用程序通过 accept( ) 函数处理的 TCP 连接#xff0c;避免因…TCP全连接队列
在 Linux 网络中TCP 全连接队列也称为 Accept 队列是一个重要的概念用于管理已经完成三次握手即已经处于 established 状态但尚未被应用程序通过 accept( ) 函数处理的 TCP 连接避免因为应用程序处理不及时而导致连接丢失。
最大长度
全连接队列的最大长度由两个参数决定 backlog这是在调用 linsten( ) 函数时设置的第二个参数用于指定全连接队列的最大长度全连接队列的最大长度 backlog 1 。
int listen(int sockfd, int backlog); net.core.somaxconn这是一个系统级参数定义了全连接队列的最大长度上限。默认值通常是 128但可以通过修改 /proc/sys/net/core/somaxconn 文件来调整。
全连接队列的实际最大长度为 min(backlog, net.core.somaxconn)。如果全连接队列已满新的连接将无法进入队列可能会被丢弃或导致客户端收到 RST 包。
查看队列状态
可以使用 ss -lnt 命令查看全连接队列的状态Recv-Q 列表示当前全连接队列的长度而 Send-Q 列表示全连接队列的最大长度。 tcpdump抓包
tcpdump 是一个功能强大的网络抓包工具它能够捕获经过网络接口的原始数据包并根据用户指定的过滤条件进行筛选和分析。
安装 tcpdump tcpdump 通常已经预装在大多数 Linux 发行版中。如果没有安装可以使用包管理器进行安装。例如 Ubuntu 可以使用以下命令安装 sudo apt-get update
sudo apt-get install tcpdump 在 Red Hat 或 CentOS 系统中可以使用以下命令 sudo yum install tcpdump 常见使用 tcpdump 的基本命令格式如下 tcpdump [选项] [过滤条件] 常用选项 -i interface指定要监听的网络接口如 eth0、wlan0 或 lo。 -n不解析主机名直接显示 IP 地址。 -nn不解析主机名和端口号。 -v显示更详细的信息。 -vv显示更详细的信息。 -vvv显示最详细的信息。 -c count捕获指定数量的数据包后停止。 -w file将捕获的数据包保存到指定文件中而不是直接输出到终端。 -r file从指定文件中读取数据包进行分析。 -s size设置捕获数据包的大小默认为 65535 字节。 常用过滤条件 按协议过滤 tcp捕获 TCP 数据包。 udp捕获 UDP 数据包。 icmp捕获 ICMP 数据包。 按主机过滤 host IP捕获指定主机的所有数据包。 src host IP捕获源地址为指定主机的数据包。 dst host IP捕获目标地址为指定主机的数据包。 按端口过滤 port port捕获指定端口的数据包。 src port port捕获源端口为指定端口的数据包。 dst port port捕获目标端口为指定端口的数据包。 按网络过滤 net 网络捕获指定网络的数据包。 示例 1捕获指定接口的所有 TCP 数据包 可以使用 ifconfig 查看网络接口 例如捕获 eth0 接口的 TCP 数据包 tcpdump -i eth0 tcp 示例 2捕获指定源或目的 IP 地址的所有数据包 使用 host 关键字可以指定源或目的 IP 地址。例如要捕获源 IP 地址为 192.168.1.100 的 TCP 报文可以使用以下命令 tcpdump src host 192.168.1.100 and tcp 要捕获目的 IP 地址为 192.168.1.200 的 TCP 报文可以使用以下命令 tcpdump dst host 192.168.1.200 and tcp 同时指定源和目的 IP 地址可以使用 and 关键字连接两个条件 tcpdump src host 192.168.1.100 and dst host 192.168.1.200 and tcp 示例 3捕获指定端口的数据包 使用 port 关键字可以指定端口号。例如要捕获端口号为 80 的 TCP 报文通常是 HTTP 请求可以使用以下命令 tcpdump port 80 and tcp 示例 4捕获数据包并保存到文件 使用 -w 选项可以将捕获的数据包保存到文件中以便后续分析。例如 tcpdump -i eth0 -w capture.pcap 这将把捕获到的 HTTP 流量保存到名为 data.pcap 的文件中。 pcap 后缀的文件通常与 PCAP Packet Capture 文件格式相关这是一种用于捕获网络数据包的文件格式 示例 5从文件中读取数据包并分析 tcpdump -r capture.pcap 组合用法 tcpdump 支持使用布尔逻辑and、or、not组合过滤条件以实现更复杂的捕获需求。 捕获特定主机与特定端口的交互 tcpdump -i eth0 host 192.168.1.100 and port 80 捕获特定主机之间的所有交互 tcpdump -i eth0 host 192.168.1.100 and host 192.168.1.200 排除指定主机的数据包 tcpdump -i eth0 not host 192.168.1.1 除了可以使用 tcpdump 进行对 tcp 进行抓包还可以使用 windows 下的 wireshark 的网络抓包工具。