Linux教程

【linux】循序渐进学运维-基础篇-netstat命令详解

本文主要是介绍【linux】循序渐进学运维-基础篇-netstat命令详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-基础篇的第62篇文章

文章目录

    • 1. 服务器上有大量TIME_WAI连接,如何优化TCP连接,快速释放tcp连接 ?
    • 2. 显示网卡列表
    • 3. 显示网络统计情况
    • 4. 显示路由信息
    • 5. 统计服务器中网络连接各个状态的个数
    • 6. 查看链接服务器端口做多的IP地址
    • 作用
    • 1. 常用参数
    • 2. 命令使用
    • 1) 参数作用详解
    • 2) 网络连接状态详解
    • 前言
    • 一. netstat命令详解
    • 二. 案例实战
    • 总结:


前言

在工作中,我们经常遇到一个问题,就是需要监听端口或者查看网络连接状态信息。 我们使用的命令一般是netstat,今天我们就来聊聊netstat的使用

一. netstat命令详解

作用

netstat 命令: 查看系统中网络连接状态信息

1. 常用参数
参数作用
-a, --all显示本机所有连接和监听的端口
n, --numeric不解析域名
-u显示udp协议连接
-t显示tcp协议连接
-p显示连接对应的PID与程序名
c设置几秒钟更新一次
o显示计时器
M显示伪装的链接
2. 命令使用

在这里插入图片描述
我们来挨个看一下圈起来的第二行的参数,是什么意思?

1) 参数作用详解
参数作用
Proto连接协议的种类
Recv-Q接收到字节数
Send-Q从本服务器,发出去的字节数
Local Address本地的IP地址,可以是IP,也可以是主机名
Foreign Address远程主机的IP 地址
state网络连接状态

我们来看下面的网络连接状态

2) 网络连接状态详解

在这里插入图片描述

  • CLOSED : 初始(无连接)状态。
  • CLOSING:等待远程TCP对连接中断的确认
  • LISTEN : 侦听状态,等待远程机器的连接请求。
  • ESTABLISHED: 完成TCP三次握手后,主动连接端进入ESTABLISHED状态。此时,TCP连接已经建立,可以进行通信。
  • TIME_WAIT : 在TCP四次挥手时,主动关闭端发送了ACK包之后,进入TIME_WAIT状态,等待最多MSL时间,让被动关闭端收到ACK包。
  • SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认(如有大量此状态,估计被flood***了)
  • CLOSE-WAIT:等待从本地用户发来的连接中断请求
  • FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认
  • FIN-WAIT-2:从远程TCP等待连接中断请求

二. 案例实战

1. 服务器上有大量TIME_WAI连接,如何优化TCP连接,快速释放tcp连接 ?

[root@ecs-c13b ~]# netstat -antup |grep TIME_WAI

在这里插入图片描述

解决: 通过缩短 time_wait的时间来快速释放链接

首先我们得知道他的默认等待时间是多少?

在这里插入图片描述
上图中我们可以看到,默认是60S,下面我们来缩短时间,并查看一下:

在这里插入图片描述

2. 显示网卡列表

在这里插入图片描述

3. 显示网络统计情况

在这里插入图片描述

4. 显示路由信息

在这里插入图片描述
还有个类似的命令是route -n

在这里插入图片描述

5. 统计服务器中网络连接各个状态的个数

netstat -an | awk '/^tcp/ {++S[$NF]} END {for (a in S) print a,S[a]} ’
在这里插入图片描述

6. 查看链接服务器端口做多的IP地址

[root@gaosh-63 ~]# netstat -ant |grep “192.168.1.*” |awk ‘{print $5}’|awk -F: ‘{print $1}’ |sort -nr|

在这里插入图片描述

总结:

netstat在公司里使用的比较频繁,一定要认证掌握,主要关注antup这五个参数,其他的参数等到用的时候在查即可。

我是高胜寒,一个在教培行业不忘初心的人,欢迎留言探讨,一起学习

这篇关于【linux】循序渐进学运维-基础篇-netstat命令详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!