监控 TCP11 种状态集命令、脚本(centos7)

本贴最后更新于 493 天前,其中的信息可能已经斗转星移

先决条件:
用户有足够的权限来执行 netstat​ 命令。

  不是 root 用户可能需要在命令前加上 sudo​。

  安装了 netstat​。

  命令合集,脚本:

#!/bin/bash # 清除旧的输出 clear # 显示所有TCP连接的状态 echo "所有TCP连接状态:" netstat -ant # 显示LISTEN状态的连接 echo "处于LISTEN状态的连接:" netstat -an | grep LISTEN # 显示SYN_SENT状态的连接 echo "处于SYN_SENT状态的连接:" netstat -an | grep SYN_SENT # 显示SYN_RECEIVED状态的连接 echo "处于SYN_RECEIVED状态的连接:" netstat -an | grep SYN_RECEIVED # 显示ESTABLISHED状态的连接 echo "处于ESTABLISHED状态的连接:" netstat -an | grep ESTABLISHED # 显示FIN_WAIT1状态的连接 echo "处于FIN_WAIT1状态的连接:" netstat -an | grep FIN_WAIT1 # 显示FIN_WAIT2状态的连接 echo "处于FIN_WAIT2状态的连接:" netstat -an | grep FIN_WAIT2 # 显示CLOSE_WAIT状态的连接 echo "处于CLOSE_WAIT状态的连接:" netstat -an | grep CLOSE_WAIT # 显示CLOSING状态的连接 echo "处于CLOSING状态的连接:" netstat -an | grep CLOSING # 显示LAST_ACK状态的连接 echo "处于LAST_ACK状态的连接:" netstat -an | grep LAST_ACK # 显示TIME_WAIT状态的连接 echo "处于TIME_WAIT状态的连接:" netstat -an | grep TIME_WAIT # 显示CLOSED状态的连接 echo "处于CLOSED状态的连接:" netstat -an | grep CLOSED # 注意:由于netstat的输出可能包含其他信息,上述命令可能需要进一步的过滤来精确匹配状态。

  扩展:

以下是 TCP 的 11 种主要状态:

  1. LISTEN(监听) : 服务器处于监听状态,等待客户端的连接请求。
  2. SYN-SENT(同步已发送) : 客户端已发送一个连接请求(SYN,同步序列编号),正在等待服务器的响应。
  3. SYN-RECEIVED(同步已接收) : 服务器已接收到客户端的连接请求,并发送了一个响应(SYN-ACK,同步和确认),正在等待客户端的最终确认。
  4. ESTABLISHED(已建立) : 客户端和服务器之间的连接已成功建立,可以开始数据传输。
  5. FIN-WAIT-1(终止等待 1) : 发送方(客户端或服务器)已发送一个终止连接的请求(FIN,结束),但还在等待对方的确认。
  6. FIN-WAIT-2(终止等待 2) : 在 FIN-WAIT-1 之后,发送方收到了对方的确认,但还在等待对方发送的终止连接请求。
  7. CLOSE-WAIT(关闭等待) : 接收方(客户端或服务器)已接收到对方的终止连接请求,但还没有发送自己的终止请求。
  8. CLOSING(正在关闭) : 双方都已发送了终止连接的请求,但还没有完全关闭连接。
  9. LAST-ACK(最后确认) : 发送方在收到对方的终止请求后,已发送了最终的确认,正在等待对方的连接完全关闭。
  10. TIME-WAIT(时间等待) : 在发送方发送了最终的确认之后,会进入 TIME-WAIT 状态,等待一段时间(通常是 2 个最大段生命周期 MSL),以确保对方能够接收到这个确认。
  11. CLOSED(已关闭) : 连接已经完全关闭,没有任何数据传输正在进行。
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    954 引用 • 944 回帖
  • TCP
    32 引用 • 38 回帖 • 2 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 681 关注
  • gRpc
    11 引用 • 9 回帖 • 100 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 350 关注
  • WordPress

    WordPress 是一个使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设自己的博客。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在 GNU 通用公共许可证(GPLv2)下授权发布。

    46 引用 • 114 回帖 • 167 关注
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    693 引用 • 537 回帖
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    500 引用 • 1396 回帖 • 246 关注
  • SVN

    SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。

    29 引用 • 98 回帖 • 696 关注
  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    7 引用 • 30 回帖 • 378 关注
  • 服务器

    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    125 引用 • 585 回帖 • 1 关注
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    20 引用 • 245 回帖 • 232 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    43 引用 • 44 回帖
  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    23 引用 • 32 回帖 • 2 关注
  • 博客

    记录并分享人生的经历。

    273 引用 • 2389 回帖
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    139 引用 • 269 回帖
  • Anytype
    3 引用 • 31 回帖 • 28 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    187 引用 • 831 回帖
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 311 关注
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 649 关注
  • Hexo

    Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。

    22 引用 • 148 回帖 • 7 关注
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖 • 1 关注
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    54 引用 • 37 回帖
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 564 关注
  • 锤子科技

    锤子科技(Smartisan)成立于 2012 年 5 月,是一家制造移动互联网终端设备的公司,公司的使命是用完美主义的工匠精神,打造用户体验一流的数码消费类产品(智能手机为主),改善人们的生活质量。

    4 引用 • 31 回帖 • 4 关注
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖 • 3 关注
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 633 关注
  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    106 引用 • 275 回帖