0
点赞
收藏
分享

微信扫一扫

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


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


文章目录


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


前言

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

一. netstat命令详解

作用

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

1. 常用参数

参数

作用

-a, --all

显示本机所有连接和监听的端口

n, --numeric

不解析域名

-u

显示udp协议连接

-t

显示tcp协议连接

-p

显示连接对应的PID与程序名

c

设置几秒钟更新一次

o

显示计时器

M

显示伪装的链接

2. 命令使用

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

我们来挨个看一下圈起来的第二行的参数,是什么意思?

1) 参数作用详解

参数

作用

Proto

连接协议的种类

Recv-Q

接收到字节数

Send-Q

从本服务器,发出去的字节数

Local Address

本地的IP地址,可以是IP,也可以是主机名

Foreign Address

远程主机的IP 地址

state

网络连接状态

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

2) 网络连接状态详解

【linux】循序渐进学运维-基础篇-netstat命令详解_服务器_02


  • 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

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

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

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

【linux】循序渐进学运维-基础篇-netstat命令详解_服务器_04

上图中我们可以看到,默认是60S,下面我们来缩短时间,并查看一下:

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

2. 显示网卡列表

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

3. 显示网络统计情况

【linux】循序渐进学运维-基础篇-netstat命令详解_网络连接状态_07

4. 显示路由信息

【linux】循序渐进学运维-基础篇-netstat命令详解_网络连接状态_08

还有个类似的命令是route -n

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

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

netstat -an | awk '/^tcp/ {++S[$NF]} END {for (a in S) print a,S[a]} ’

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

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

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

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

总结:

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

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



举报

相关推荐

0 条评论