一、概念
netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。

二、命令格式
1、直接输入 netstat命令

[root@PCS101 logs]# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp PCS101:ssh bdeadc--.ptr: ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix [ ] DGRAM /run/systemd/notify
unix [ ] DGRAM /run/systemd/cgroups-agent
unix [ ] DGRAM /run/systemd/journal/socket
......

(1)Active Internet connections,活动的Internet网络连接(TCP,UDP,raw)
Proto 连接使用的协议
Recv-Q 接收队列:连接此套接字的用户程序未拷贝的字节数
Send-Q 发送队列:远程主机未确认的字节数
Local Address 套接字的本地地址(本地主机名)和端口号。除非给定-n,--numeric选项,否则套接字地址按标准主机名(FQDN)进行解析,而端口到则转换到相应的服务名。
Foreign Address 套接字的远程地址(远程主机名)和端口号。
State 套接字的状态。因为在RAW协议中没有状态,而且UDP也不用状态信息,所以此行留空。通常为以下几个值之一:
  ESTABLISHED 套接字有一个有效连接
  SYN_SENT 套接字尝试建立一个连接
  SYN_RECV 从网络上收到一个连接请求
  FIN_WAIT1 套接字已关闭,连接正在断开
  FIN_WAIT2 连接已关闭,套接字等待远程方中止。
    TIME_WAIT 在关闭之后,套接字等待处理仍然在网络中的分组
    CLOSED 套接字未用
    CLOSE_WAIT 远程方已关闭,等待套接字关闭
    LAST_ACK 远程方中止,套接字已关闭。等待确认
    LISTEN 套接字监听进来的连接。如果不设置—listening(-l)或者—all(-a)选项,将不显示出来这些连接。
    CLOSING 套接字都已关闭,而还未把所有输出发出
    UNKNOWN 套接字状态未知

(2)Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
Proto 连接使用的协议
RefCnt 表示连接到本套接口上的进程数量
Flags 显示的标志为SO_ACCEPTON(显示为ACC),SO_WAITDATA(W)或SO_NOSPACE(N)。如果相应的进程等待一个连接请求,那么SO_ACCECPTON用于未连接的套接字。其他标志通常并不重要
Type 显示套接口的类型
  SOCK_DGRAM 此套接字用于数据报(无连接)模式
  SOCK_STREAM 流模式(连接)套接字
  SOCK_RAW 此套接字用于RAW模式
  SOCK_RDM 一种服务可靠性传递信息
  SOCK_SEQPACKET 连续分组套接字
  SOCK_PACKET RAW接口使用套接字
   UNKNOWN 未知
State 套接口当前的状态
  FREE 套接字未分配
  LISTENING 套接字正在监听一个连接请求。除非设置--listening(-l)或者--all(-a)选项,否则不显示。
  CONNECTING 套接字正要建立连接
  CONNECTED套接字已连接
  DISCONNECTING 套接字已断开
  (empty) 套接字未连。
  UNKNOWN !不应当出现这种状态
I-Node
Path 连接到套接口的其它进程使用的路径名

2、常见参数

-a (all)显示所有选项,netstat默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。(重要)
-l 仅列出有在 Listen (监听) 的服务状态
-i 显示网卡列表
-p 显示建立相关链接的程序名(macOS中表示协议 -p protocol)
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计 (重要)
-c 每隔一个固定时间,执行该netstat命令。
-o 显示计时器
-g 显示组播组的关系

(1)列出所有端口 (包括监听和未监听的)

列出所有端口: netstat -a
列出所有tcp端口: netstat -at
列出所有udp端口: netstat -au

(2)列出所有处于监听状态的 Sockets
只显示监听端口: netstat -l
只列出所有监听tcp端口: netstat -lt
只列出所有监听udp端口: netstat -lu
只列出所有监听UNIX端口: netstat -lx

(3)显示每个协议的统计信息
显示所有端口的统计信息 netstat -s
显示TCP端口的统计信息 netstat -st
显示UDP端口的统计信息 netstat -su

(4)显示 PID 和进程名称
显示TCP端口进程 netstat -pt
显示UDP端口进程 netstat -pu
查看正在监听的tcp端口,并显示对应的监听程序 netstat -ntpl
查看正在监听的udp端口,并显示对应的监听程序 netstat -nupl

(5)不显示主机,端口和用户名 (host, port or user)
当你不想让主机,端口和用户名显示,使用 netstat -n。将会使用数字代替那些名称。该参数可以加速output的输出,因为不用进行比对查询。

(6)持续输出 netstat 信息
netstat 将每隔一秒输出网络信息。
netstat -t -c 2

(7)显示系统不支持的地址族 (Address Families)
netstat --verbose

(8)显示核心路由信息
netstat -rn

(9)找出程序运行的端口
并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。
netstat -apn | grep ssh

找出运行在指定端口的进程
netstat -an | grep ':22'

(10)显示网络接口列表
netstat -i

【操作系统之九】Linux常用命令之netstat的更多相关文章

  1. 【操作系统之七】Linux常用命令之tail

    一.概念linux tail命令用途是按照要求将指定的文件的最后部分输出到标准设备,一般是终端,就是把某个档案文件的最后几行显示到终端上,如果该档案有更新,tail会自动刷新,确保你看到最新的档案内容 ...

  2. 【操作系统之四】Linux常用命令之awk

    一.概念awk是一个报告生成器,拥有强大的文本格式化能力. 数据可以来自标准输入(stdin).一个或多个文件,或其它命令的输出: 依次对每一行进行处理,然后输出: 它在命令行中使用,但更多是作为脚本 ...

  3. 【操作系统之八】Linux常用命令之top

    一.概念Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,且可以通过交互式命令自定义显示内容,类似于Windows的任务管理器. 二.命令格式 [root@PCS101 log ...

  4. 【操作系统之六】Linux常用命令之less

    一.概念less 工具也是对文件或其它输出进行分页显示的工具,是linux正统查看文件内容的工具,功能极其强大.less 的用法比起 more .tail更加的有弹性.在 more 的时候,我们并没有 ...

  5. linux常用命令:netstat 命令

    netstat命令用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况.netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP ...

  6. 【操作系统之五】Linux常用命令之grep

    一.概念grep(Global search Regular Expression and Print out the line)强大的文本搜索工具,从文本文件或管道数据流中筛选匹配的行及数据,并把匹 ...

  7. Linux操作系统安全-OpenSSL工具常用命令介绍

    Linux操作系统安全-OpenSSL工具常用命令介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.OpenSSL开源项目有三个组件 openssl: 多用途的命令行工具,包 ...

  8. linux常用命令与实例小全

    转至:https://www.cnblogs.com/xieguohui/p/8296864.html  linux常用命令与实例小全 阅读目录(Content) 引言 一.安装和登录 (一)    ...

  9. Linux常用命令速查备忘

    Linux常用命令速查备忘   PS:备忘而已,详细的命令参数说明自己man 一. 启动,关机,登入,登出相关命令 [login] 登录 [logout] 登出 [exit] 登出 [shutdown ...

随机推荐

  1. eclipse自定义导入或者编写版本格式化 xml

    1.自定义或者自己导入版本格式 window——preferences——java——Code style ——formatter(New 或者 import)

  2. PIE SDK归一化水体指数法

    1.算法功能简介 归一化指数法(NDWI(Normalized Difference Water Index,归一化水指数)),用遥感影像的特定波段进行归一化差值处理,以凸显影像中的水体信息. 其表达 ...

  3. python plotly画柱状图

    代码 import pandas as pd import numpy as np import plotly.plotly as py import plotly.graph_objs as go ...

  4. javascript(五)表达式

    表达式 (expression) JavaScript中的一个短语, JavaScript解释器会将其计算(evaluate) 出一 个结果.程序中的常量是最简单的一类表达式.变量名也是一种简单的表达 ...

  5. 如何在Mac下配置多个Java版本

    使用工具:brew cask brew cask是一个用命令行管理Mac下应用的工具,提供了自动安装和卸载功能,能够自动从官网上下载并安装 最新的版本,它是基于homebrew的一个增强工具. 一. ...

  6. 开发技术--Numpy模块

    开发|Numpy模块 Numpy模块是数据分析基础包,所以还是很重要的,耐心去体会Numpy这个工具可以做什么,我将从源码与 地产呢个实现方式说起,祝大家阅读愉快! Numpy模块提供了两个重要对象: ...

  7. 简单实现Shiro单点登录(自定义Token令牌)

    1. MVC Controller 映射 sso 方法. /** * 单点登录(如已经登录,则直接跳转) * @param userCode 登录用户编码 * @param token 登录令牌,令牌 ...

  8. VS Code如何在浏览器中打开Html文件?

    1.首先打开扩展 “ 文件 → 首选项 → 按键映射扩展” 快捷键:[ Ctrl+K Ctrl+M ] 2.在出现的窗口输入“open in browser”,安装 3.打开Html文件 Alt+B: ...

  9. vue+element 获取验证码

    我们在做一个项目,登录注册页面是少不了的,为了人机校验,验证码也是必须的 我的这个项目获取验证码,前端发送一个随机四位数给后端,后端返回一张图片,前端渲染就可以 template代码: <el- ...

  10. springboot 启动停止脚本

    https://www.cnblogs.com/lovychen/p/6211209.html   参考 centos 转码解决方案: yum install dos2unix dos2unix ** ...