netstat 命令查看端口状态详解

转载请注明出处:

netstat 可以查看服务器当前端口列表及指定端口的连接状态等;

-t : 指明显示TCP端口,t是TCP的首字母。

-u : 指明显示UDP端口,u是UDP的首字母

-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序,p是program的首字母。

-n : 不进行DNS轮询,显示IP(可以加速操作),n是numeric的首字母,以数字形式显示地址和端口号。

-a:显示所有连接和侦听端口,a是all的首字母。

-o:显示拥有的每个连接关联的进程id,o是own的首字母。

常用命令:

  1. 查看当前所有tcp端口

  2. 查看当前所有udp端口

3.显示系统所有端口

通过这个命令可以看到以下端口信息,可以查看服务端口占用和连接的状况;

查询的有协议(Proto)、本地地址(Local Address)、外部地址(Foregin Address)、状态(State)、PID(进程标识符)

Local Address:访问端口的方式,0.0.0.0 是对外开放端口,说明80端口外面可以访问;127.0.0.1 说明只能对本机访问,外面访问不了此端口;

Foregin Address:对外开放,一般都为0.0.0.0:*

PID:此端口是那个进程在用,进程挂载此端口

State有如下状态:

CLOSED 初始(无连接)状态。

LISTENING 侦听状态,等待远程机器的连接请求。

SYN_SEND 在TCP三次握手期间,主动连接端发送了SYN包后,进入SYN_SEND状态,等待对方的ACK包。(SYN:synchronous 同步,ACK:acknowledgement 确认)

SYN_RECV 在TCP三次握手期间,主动连接端收到SYN包后,进入SYN_RECV状态。(RECV:receiver 收到)

ESTABLISHED (建立) 完成TCP三次握手后,主动连接端进入ESTABLISHED状态。此时,TCP连接已经建立,可以进行通信。

FIN_WAIT_1 在TCP四次挥手时,主动关闭端发送FIN包后,进入FIN_WAIT_1状态。(FIN:finish 结束)

FIN_WAIT_2 在TCP四次挥手时,主动关闭端收到ACK包后,进入FIN_WAIT_2状态。

TIME_WAIT 在TCP四次挥手时,主动关闭端发送了ACK包之后,进入TIME_WAIT状态,等待最多MSL时间,让被动关闭端收到ACK包。

CLOSING 在TCP四次挥手期间,主动关闭端发送了FIN包后,没有收到对应的ACK包,却收到对方的FIN包,此时,进入CLOSING状态。

CLOSE_WAIT 在TCP四次挥手期间,被动关闭端收到FIN包后,进入CLOSE_WAIT状态。

LAST_ACK 在TCP四次挥手时,被动关闭端发送FIN包后,进入LAST_ACK状态,等待对方的ACK包。

主动连接端可能的状态有:

CLOSED SYN_SEND ESTABLISHED。

主动关闭端可能的状态有:

FIN_WAIT_1 FIN_WAIT_2 TIME_WAIT。

被动连接端可能的状态有:

LISTEN SYN_RECV ESTABLISHED。

被动关闭端可能的状态有:

CLOSE_WAIT LAST_ACK CLOSED。

Original: https://www.cnblogs.com/zjdxr-up/p/16428925.html
Author: 香吧香
Title: netstat 命令查看端口状态详解

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611983/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • GFS-Google 文件系统

    GFS分布式文件系统 简介 GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,并提供容错功能。它可以给大量的用户提供总体…

    Linux 2023年6月13日
    095
  • 网络安全简单入门与扫描

    网络安全简单入门 内容大纲 策略制定 安全工具 其他 1、安全策略 1.1、安全三要素 要全面地认识一个安全问题,我们有很多种办法,但首先要理解安全问题的组成属性。前人通过无数实践…

    Linux 2023年6月7日
    098
  • [20220228]enq TX

    [20220228]enq TX – allocate ITL entry的测试3.txt –//上个星期的测试有点乱,重新规划测试. 1.环境:SCOTT…

    Linux 2023年6月13日
    092
  • [云原生]Kubernetes-集群搭建(第2章)

    一、前置知识点 二、kubeadm部署方式介绍 三、安装要求 四、最终目标 五、准备环境 六、环境初始化 6.1 设置系统主机名以及Hosts文件的相互解析 6.2 安装依赖文件(…

    Linux 2023年6月13日
    080
  • .Net MVC实现角色-API权限验证的一种方式

    阅文时长 | 1.15分钟字数统计 | 1844.8字符主要内容 | 1、引言&背景 2、部分设计分享 3、声明与参考资料『.Net MVC实现角色-API权限验证的一种方…

    Linux 2023年6月13日
    0105
  • AWS修改RDS时区

    查看 RDS 当前时区 默认情况下,AWS 的 RDS 采用的是 UTC 时间。而我们地区一般位于东八区,因此我们本地的时间是 UTC+8。 连接到 RDS 上,查询当前实例的时区…

    Linux 2023年6月7日
    0105
  • shell 变量的默认值

    在 shell 脚本中,如果要使用某个变量又想给它设置默认值,可以用 XX=${YY-ZZ} 的方式,其中 ZZ 会是 YY 没有设置时的默认值 另一种用法是 XX=${YY:-Z…

    Linux 2023年5月28日
    0107
  • Ubuntu16.04部署django+nginx项目

    项目使用django+nginx部署。这个项目断断续续地部署4遍了。感觉每次部署都挺费时间的(找各种配置的资料),于是写一个博客总结一下。 安装vsftpd $ sudo apt-…

    Linux 2023年6月7日
    070
  • python 多线程

    python 多线程 多线程流程 导入模块 import threading 通过线程类型创建线程对象 线程对&a…

    Linux 2023年6月13日
    081
  • 5.7 Linux Vim可视化模式

    相信大家都使用过带图形界面的操作系统中的文字编辑器,用户可以使用鼠标来选择要操作的文本,非常方便。在 Vim 编辑器中也有类似的功能,但不是通过鼠标,而是通过键盘来选择要操作的文本…

    Linux 2023年6月7日
    0133
  • 手把手教你设置MongoDB密码

    mongodb密码和传统数据如mysql等有些区别: mongodb的用户名和密码是基于特定数据库的,而不是基于整个系统的。所有所有数据库db都需要设置密码。 1. 查看所有数据库…

    Linux 2023年6月14日
    0107
  • vscode配置指南,美化技巧

    "workbench.colorCustomizations": { "editor.selectionBackground": &quot…

    Linux 2023年6月14日
    094
  • MySQL-创建表

    如何在指定数据库中创建表 我们先来了解一下在数据库中创建表的规则: CREATE TABLE 表名 ( 字段名,数据类型, 字段名,数据类型, ….. ) 例如: 添加…

    Linux 2023年6月8日
    0127
  • n的阶乘前100项。Table of n! for n = 1..100

    n的阶乘前100项 {1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600,6227020800,871782…

    Linux 2023年6月6日
    086
  • Redis安装(CentOS 8.5 64位)

    Redis安装 1. 准备工作 1.1 下载安装包 官网下载地址:https://redis.io/ 1.2 传输文件到服务器 使用ssh工具连接到服务器,把下载好的文件上传到服务…

    Linux 2023年6月14日
    097
  • JavaWeb创建一个公共的servlet

    对于初学者来说,每次前端传数据过来就要新建一个类创建一个doget、dopost方法,其实铁柱兄在大学的时候也是这么玩的。后面铁柱兄开始认真了,就想着学习点容易的编程方式,其实说白…

    Linux 2023年6月13日
    0104
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球