`
zhengdl126
  • 浏览: 2539095 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
阅读更多

http://www.now163.net/2011/04/460.html  Netstat命令详解 如何关闭TIME_WAIT连接 如何查看nginx的访问流量

 

http://kerry.blog.51cto.com/172631/105233/ 发现大量的TIME_WAIT解决办法

 

 

 

 

============================= 压测时的netstat监控

 

查看并发状态
# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
这条语句返回结果如下
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057
其中的SYN_RECV表示正在等待处理的请求 数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理完毕,等待超时结束的请求数。

 

查看mysql连接

#netstat -anp | grep mysql | wc -l

 

 


netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'

会得到类似下面的结果,具体数字会有所不同:

LAST_ACK 1
SYN_RECV 14
ESTABLISHED 79
FIN_WAIT1 28
FIN_WAIT2 3
CLOSING 5
TIME_WAIT 1669
状态:描述
CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉

也就是说,这条命令可以把当前系统的网络连接状态分类汇总。

 

 

查看TIME_WAIT连接数
netstat -ae|grep "TIME_WAIT" |wc -l

netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'


查找较多time_wait连接
netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20

 

 

 


netstat + awk 查询连接数两种方法,意义相同
1:netstat -pnt | awk '/^tcp/{print $5}' | cut -d: -f 1 | sort -n |uniq -c
2:netstat -pnt | awk '/^tcp/{s=split($5,N,":");A[N[s-1]]++} END{ for (k in A) print k,A[k]}'

 

 

 

 

 

 

 

 

Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。


netstat -ntlp

netstat -anp | grep 3306

netstat -an

netstat -ae |grep mysql

 

 

netstat -i -e 显示主机上每个网络接口的配置和状态

netstat -lp 标识正在监听的网络服务

netstat -rn  检查路由表

netstat -s 查看各种网络协议运行的统计信息


netstat -tln 用来查看linux的端口使用情况
netstat --ip -an

 

Linux查看端口及服务 
  # netstat -tulpn
  或者是
  # netstat -npl

 

 

 

 

 

 

 

 

参  数: 

 

  -a或–all 显示所有连线中的Socket。

  -A<网络类型>或–<网络类型> 列出该网络类型连线中的相关地址。

  -c或–continuous 持续列出网络状态。

  -C或–cache 显示路由器配置的快取信息。

  -e或–extend 显示网络其他相关信息。

  -F或–fib 显示FIB。

  -g或–groups 显示多重广播功能群组组员名单。

  -h或–help 在线帮助。

  -i或–interfaces 显示网络界面信息表单。

  -l或–listening 显示监控中的服务器的Socket。

  -M或–masquerade 显示伪装的网络连线。

  -n或–numeric 直接使用IP地址,而不通过域名服务器。

  -N或–netlink或–symbolic 显示网络硬件外围设备的符号连接名称。

  -o或–timers 显示计时器。

  -p或–programs 显示正在使用Socket的程序识别码和程序名称。

  -r或–route 显示Routing Table。

  -s或–statistice 显示网络工作信息统计表。

  -t或–tcp 显示TCP传输协议的连线状况。

  -u或–udp 显示UDP传输协议的连线状况。

  -v或–verbose 显示指令执行过程。

  -V或–version 显示版本信息。

  -w或–raw 显示RAW传输协议的连线状况。

  -x或–unix 此参数的效果和指定”-A unix”参数相同。

  –ip或–inet 此参数的效果和指定”-A inet”参数相同

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-----------------------------------

 

 

 


 
服务端,端口的状态变化

先在本机(IP地址为:192.168.1.10)配置FTP服务,然后在其它计算机(IP地址为:192.168.1.1)访问FTP服务,从TCPView看看端口的状态变化。

下面黑体字显示的是从TCPView中截取的部分。

1、LISTENING状态

FTP服务启动后首先处于侦听(LISTENING)状态。

State显示是LISTENING时表示处于侦听状态,就是说该端口是开放的,等待连接,但还没有被连接。 就像你房子的门已经敞开的,但还没有人进来。

从TCPView可以看出本机开放FTP的情况。它的意思是:程序inetinfo.exe开放了21端口,FTP默认的端口为21,可见在本机开放了FTP服务。目前正处于侦听状态。

inetinfo.exe:1260 TCP 0.0.0.0:21 0.0.0.0:0 LISTENING

2、ESTABLISHED状态

现在从192.168.1.1这台计算机访问一下192.168.1.10的FTP服务。在本机的TCPView可以看出端口状态变为ESTABLISHED。

ESTABLISHED的意思是建立连接。表示两台机器正在通信

下面显示的是本机的FTP服务正在被192.168.1.1这台计算机访问。

inetinfo.exe:1260 TCP 192.168.1.10:21 192.168.1.1:3009 ESTABLISHED

注意:处于ESTABLISHED状态的连接一定要格外注意,因为它也许不是个正常连接。后面我们要讲到这个问题。

3、 TIME_WAIT状态

现在从192.168.1.1这台计算机结束访问192.168.1.10的FTP服务。在本机的TCPView可以看出端口状态变为TIME_WAIT。

TIME_WAIT的意思是结束了这次连接。说明21端口曾经有过访问,但访问结束了。

[System Process]:0 TCP 192.168.1.10:21 192.168.1.1:3009 TIME_WAIT

4、小技巧

a、可以telnet一个开放的端口,来观察该端口的变化。 比如看1025端口是开放的,在命令状态(如图1运行cmd)运行:

telnet 192.168.1.10 1025

b、从本机也可以测试,只不过显示的是本机连本机

c、在Tcpview中双击连接可看出程序的位置,右键点击该连接,选择End Process即可结束该连接

 客户端,端口的状态变化

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Netstat命令详解

    ### Netstat命令详解 #### 一、概述 `Netstat`是一个非常实用的命令行工具,主要用于显示与IP、TCP、UDP以及ICMP等网络协议相关的统计数据,可以帮助用户检查网络连接的状态,诊断网络问题,特别是在排查网络故障...

    netstat命令详解[整理].pdf

    NETSTAT 命令详解 NETSTAT 命令是一种强大的网络命令,用于显示与 IP、TCP、UDP 和 ICMP 协议相关的统计数据。它可以帮助我们检验本机各端口的网络连接情况,了解网络流量、网络连接状态、路由表信息等。 netstat...

    Linux netstat命令详解

    Linux netstat命令详解 Linux netstat命令是一种非常有用的网络命令,用于显示各种网络相关信息,如网络连接、路由表、接口状态、masquerade连接、多播成员等等。本文将详细介绍netstat命令的使用和输出结果的解释...

    netstat命令详解

    ### Netstat命令详解 #### 一、Netstat命令概述 Netstat命令是Linux及类Unix系统中用于查看网络状态的强大工具。它可以帮助用户监控和管理网络连接、路由表、接口状态、多播成员等信息。Netstat对于网络管理员来说...

    cmd中Netstat命令详解

    ### CMD中Netstat命令详解 #### 一、引言 `Netstat` 是一个非常重要的命令行工具,用于查看和管理计算机上的网络连接状态。它能够帮助用户了解系统的网络活动情况,包括显示当前的TCP/IP连接、监听端口、路由表、...

    NETSTAT命令详解

    NETSTAT 命令详解 NETSTAT 命令是监控 TCP/IP 网络的非常有用的工具,可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。下面将详细介绍 NETSTAT 命令的输出结果和使用方法。 输出结果 NETSTAT ...

    Netstat命令详解如何关闭TIME_WAIT连接如何查看nginx的访问流量[归类].pdf

    Netstat命令详解 Netstat 命令是 Linux 系统中一个非常重要的网络管理工具,它可以显示网络状态、统计网络流量、查看网络连接状态等。下面我们来详细介绍 Netstat 命令的使用和详解。 Netstat 命令的基本语法为...

    Linux网络状态工具netstat和ss使用详解

    Linux 网络状态工具 netstat 和 ss 使用详解 Netstat 是一个广泛使用的 Linux 网络状态工具,用于显示当前系统的网络连接、路由表、网络接口信息和网络协议统计信息等。Netstat 命令可以帮助网络管理员和开发者快速...

    本机IP端口查看器,图形化查看本机端口连接状况

    《本机IP端口查看器:图形化NETSTAT详解及应用》 在计算机网络中,了解本机IP端口的连接状况是维护系统安全、排查网络问题的关键步骤。"本机IP端口查看器"是一款实用工具,它以图形化的界面提供对本机端口连接的...

    Linux netstat命令大全详解

    Linux中的`netstat`命令是网络管理员和系统管理员的重要工具,它用于查看和分析网络连接、路由表、接口状态以及多种网络相关信息。这个命令能够帮助我们监控系统的网络活动,找出可能存在的问题,如端口占用、连接...

    cmd 和 netstat指令

    ### CMD与Netstat指令详解 #### 一、CMD指令概述 **CMD**是Windows操作系统中的命令行解释器,用于执行各种命令行操作。通过CMD,用户可以管理文件系统、网络设置以及执行各种脚本和批处理文件等。下面将详细介绍...

    教你使用netstat命令

    ### 使用netstat命令详解 #### 一、netstat命令简介 `netstat`是一个非常实用且强大的命令行工具,主要用于查看网络连接的状态以及系统网络端口的使用情况。通过使用`netstat`命令,我们可以更好地确保网络的稳定...

    Linux+netstat+命令详解.doc

    `netstat`命令是Linux操作系统中的一个强大工具,它用于查看和分析网络状态,包括连接、监听、路由等信息。这个命令对系统管理员和网络调试人员尤其有用,可以帮助他们了解系统的网络活动,诊断网络问题,或者监控...

    使用netstat命令进行网络问题排查的诀窍.docx

    【网络问题排查与netstat命令详解】 在信息技术领域,网络问题的排查是开发人员和运维工程师日常工作中不可或缺的一部分。无论是Windows还是Linux系统,`netstat`命令都是一个强大的工具,用于查看网络连接状态、...

    netstat -na 结果

    ### 输出结果详解 从给定的部分内容来看,我们可以看到一系列的TCP连接状态和相关的地址信息: 1. **监听状态的连接**: - `TCP 0.0.0.0:80 0.0.0.0:0 LISTENING` - `TCP 0.0.0.0:445 0.0.0.0:0 LISTENING` - ...

    netstat命令

    **netstat命令详解** 在计算机网络管理中,`netstat`(Network Statistics)是一个非常实用的命令行工具,它能够显示当前系统网络连接的状态、路由表、接口统计等信息,帮助用户了解网络运行的情况,诊断网络问题。...

Global site tag (gtag.js) - Google Analytics