- 浏览: 2512040 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (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 24851 删除0字节文件find-type f - ... -
[汇总]shell笔试
2013-01-24 17:32 3320http://president.blog.51cto.co ... -
迁移vmware服务器后Device eth0 does not seem to be present
2013-01-21 10:58 2204用VMware 安装 linux 6.0 ... -
【汇总】shell show收藏
2012-11-29 14:03 1224================== shell从文本取对应的 ... -
Shell中脚本变量和函数变量的作用域
2012-11-28 16:21 1338在shell中定义函 ... -
你可能不知道的Shell
2012-11-26 13:41 973!$ !$是一个特殊的环境变量,它代表了上一个命令的 ... -
read case
2012-11-01 16:55 922read -p "请输入安装程序编号:" ... -
很精彩的linux命令
2012-07-13 10:55 13251.按内存从大到小排列进程: ps -eo " ... -
[转]实用基础_shell脚本详解命令
2012-07-11 11:44 1426shell脚本编写技巧 " 1.test测试命令 tes ... -
UNIX高手的20个习惯
2012-06-29 12:02 13851. 在单个命令中创建目 ... -
【书】linux shell 脚本攻略
2012-06-27 17:39 1864转载:http://jackyrong.iteye.com/b ... -
字段分隔符IFS和循环
2012-06-27 16:10 1686Shell的内部域分隔符可以是空格、制表符和换行符。它可以作为 ... -
【汇总】sh语法汇总2
2012-06-27 16:08 3355============= " ... -
df,du,fdisk
2012-06-27 12:39 1252------------------- ... -
split,csplit切割文件
2012-06-26 18:06 1564linux split 命令 功能说明:切割文件。 ... -
head,tail
2012-06-26 13:44 3head,tail -
xargs格式化输出
2012-06-26 13:41 1932从标准输出建立并运行命令行 把从stdin接收到 ... -
read,cat,touch,head,tail
2012-06-26 13:39 1521===================== read ... -
sed简化命令:tr
2012-06-26 13:12 1251连续多个’\n‘字符压缩成单个'\n' cat t.txt ... -
cut用法
2012-06-13 17:12 1105linux之cut用法 cut是一个选取命令,就是将一段数据 ...
相关推荐
netstat 命令的详细说明,凑字数很困难,慢慢凑
netstat命令详解[整理].pdf
详细介绍了cmd中netstat命令的使用方法
netstat命令详解
Linux netstat命令详解 netstat 是网络编程常用的命令
从整体上看,netstat的输出结果可以分为两个部分: 一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指 的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在...
常用网络测试命令ping ipconfig tracert arp netstat 详解
Netstat命令详解如何关闭TIME_WAIT连接如何查看nginx的访问流量[归类].pdf
Linux+netstat+命令详解.doc
Linux网络状态工具netstat和ss使用详解 介绍Linux下netstat和ss的使用
netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息,在我的计算机上执行netstat后,其输出结果为
本篇文章主要介绍了Linux netstat命令详解,现在分享给大家,也留给日后一个参考,有需要的可以了解一下。