- 浏览: 2538944 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (676)
- linux运维 (157)
- php (65)
- mysql (78)
- nginx (27)
- apche (18)
- framework (6)
- windows (9)
- IDE工具 (23)
- struts2 (7)
- java (13)
- 移动互联网 (14)
- memcache redis (23)
- shell基础/命令/语法 (37)
- shell (50)
- puppet (4)
- C (11)
- python (9)
- 产品经理 (27)
- Sphinx (4)
- svn (12)
- 设计构建 (12)
- 项目管理 (44)
- SEO (1)
- 网站架构 (26)
- 审时度势 (42)
- 网络 (14)
- 激发事业[书&视频] (81)
- 其它 (12)
- 摄影 (8)
- android (21)
最新评论
-
zhongmin2012:
原文的书在哪里
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
renzhengzhi:
你好,请问个问题,从master同步数据到slave的时候,s ...
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
ibc789:
你好,看了你的文章,我想请教个问题, 我在用 redis的时候 ...
redis 的两种持久化方式及原理 -
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
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即可结束该连接
客户端,端口的状态变化
发表评论
-
Linux运维常用命令 (转载)
2013-01-31 10:23 25241 删除0字节文件find-type f - ... -
[汇总]shell笔试
2013-01-24 17:32 3363http://president.blog.51cto.co ... -
迁移vmware服务器后Device eth0 does not seem to be present
2013-01-21 10:58 2250用VMware 安装 linux 6.0 ... -
【汇总】shell show收藏
2012-11-29 14:03 1268================== shell从文本取对应的 ... -
Shell中脚本变量和函数变量的作用域
2012-11-28 16:21 1375在shell中定义函 ... -
你可能不知道的Shell
2012-11-26 13:41 1008!$ !$是一个特殊的环境变量,它代表了上一个命令的 ... -
read case
2012-11-01 16:55 966read -p "请输入安装程序编号:" ... -
很精彩的linux命令
2012-07-13 10:55 13681.按内存从大到小排列进程: ps -eo " ... -
[转]实用基础_shell脚本详解命令
2012-07-11 11:44 1471shell脚本编写技巧 " 1.test测试命令 tes ... -
UNIX高手的20个习惯
2012-06-29 12:02 14231. 在单个命令中创建目 ... -
【书】linux shell 脚本攻略
2012-06-27 17:39 1917转载:http://jackyrong.iteye.com/b ... -
字段分隔符IFS和循环
2012-06-27 16:10 1744Shell的内部域分隔符可以是空格、制表符和换行符。它可以作为 ... -
【汇总】sh语法汇总2
2012-06-27 16:08 3409============= " ... -
df,du,fdisk
2012-06-27 12:39 1282------------------- ... -
split,csplit切割文件
2012-06-26 18:06 1599linux split 命令 功能说明:切割文件。 ... -
head,tail
2012-06-26 13:44 3head,tail -
xargs格式化输出
2012-06-26 13:41 1980从标准输出建立并运行命令行 把从stdin接收到 ... -
read,cat,touch,head,tail
2012-06-26 13:39 1552===================== read ... -
sed简化命令:tr
2012-06-26 13:12 1295连续多个’\n‘字符压缩成单个'\n' cat t.txt ... -
cut用法
2012-06-13 17:12 1150linux之cut用法 cut是一个选取命令,就是将一段数据 ...
相关推荐
### Netstat命令详解 #### 一、概述 `Netstat`是一个非常实用的命令行工具,主要用于显示与IP、TCP、UDP以及ICMP等网络协议相关的统计数据,可以帮助用户检查网络连接的状态,诊断网络问题,特别是在排查网络故障...
NETSTAT 命令详解 NETSTAT 命令是一种强大的网络命令,用于显示与 IP、TCP、UDP 和 ICMP 协议相关的统计数据。它可以帮助我们检验本机各端口的网络连接情况,了解网络流量、网络连接状态、路由表信息等。 netstat...
Linux netstat命令详解 Linux netstat命令是一种非常有用的网络命令,用于显示各种网络相关信息,如网络连接、路由表、接口状态、masquerade连接、多播成员等等。本文将详细介绍netstat命令的使用和输出结果的解释...
### Netstat命令详解 #### 一、Netstat命令概述 Netstat命令是Linux及类Unix系统中用于查看网络状态的强大工具。它可以帮助用户监控和管理网络连接、路由表、接口状态、多播成员等信息。Netstat对于网络管理员来说...
### CMD中Netstat命令详解 #### 一、引言 `Netstat` 是一个非常重要的命令行工具,用于查看和管理计算机上的网络连接状态。它能够帮助用户了解系统的网络活动情况,包括显示当前的TCP/IP连接、监听端口、路由表、...
NETSTAT 命令详解 NETSTAT 命令是监控 TCP/IP 网络的非常有用的工具,可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。下面将详细介绍 NETSTAT 命令的输出结果和使用方法。 输出结果 NETSTAT ...
Netstat命令详解 Netstat 命令是 Linux 系统中一个非常重要的网络管理工具,它可以显示网络状态、统计网络流量、查看网络连接状态等。下面我们来详细介绍 Netstat 命令的使用和详解。 Netstat 命令的基本语法为...
Linux 网络状态工具 netstat 和 ss 使用详解 Netstat 是一个广泛使用的 Linux 网络状态工具,用于显示当前系统的网络连接、路由表、网络接口信息和网络协议统计信息等。Netstat 命令可以帮助网络管理员和开发者快速...
《本机IP端口查看器:图形化NETSTAT详解及应用》 在计算机网络中,了解本机IP端口的连接状况是维护系统安全、排查网络问题的关键步骤。"本机IP端口查看器"是一款实用工具,它以图形化的界面提供对本机端口连接的...
Linux中的`netstat`命令是网络管理员和系统管理员的重要工具,它用于查看和分析网络连接、路由表、接口状态以及多种网络相关信息。这个命令能够帮助我们监控系统的网络活动,找出可能存在的问题,如端口占用、连接...
### CMD与Netstat指令详解 #### 一、CMD指令概述 **CMD**是Windows操作系统中的命令行解释器,用于执行各种命令行操作。通过CMD,用户可以管理文件系统、网络设置以及执行各种脚本和批处理文件等。下面将详细介绍...
### 使用netstat命令详解 #### 一、netstat命令简介 `netstat`是一个非常实用且强大的命令行工具,主要用于查看网络连接的状态以及系统网络端口的使用情况。通过使用`netstat`命令,我们可以更好地确保网络的稳定...
`netstat`命令是Linux操作系统中的一个强大工具,它用于查看和分析网络状态,包括连接、监听、路由等信息。这个命令对系统管理员和网络调试人员尤其有用,可以帮助他们了解系统的网络活动,诊断网络问题,或者监控...
【网络问题排查与netstat命令详解】 在信息技术领域,网络问题的排查是开发人员和运维工程师日常工作中不可或缺的一部分。无论是Windows还是Linux系统,`netstat`命令都是一个强大的工具,用于查看网络连接状态、...
### 输出结果详解 从给定的部分内容来看,我们可以看到一系列的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`(Network Statistics)是一个非常实用的命令行工具,它能够显示当前系统网络连接的状态、路由表、接口统计等信息,帮助用户了解网络运行的情况,诊断网络问题。...