问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Linux如何查看服务器的并发数

发布网友 发布时间:2022-04-20 13:48

我来回答

2个回答

懂视网 时间:2022-05-01 12:33

Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

输出信息含义

执行netstat后,其输出结果为

技术分享 技术分享
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 2 210.34.6.89:telnet 210.34.6.96:2873 ESTABLISHED
tcp 296 0 210.34.6.89:1165 210.34.6.84:netbios-ssn ESTABLISHED
tcp 0 0 localhost.localdom:9001 localhost.localdom:1162 ESTABLISHED
tcp 0 0 localhost.localdom:1162 localhost.localdom:9001 ESTABLISHED
tcp 0 80 210.34.6.89:1161 210.34.6.10:netbios-ssn CLOSE

Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 1 [ ] STREAM CONNECTED 16178 @000000dd
unix 1 [ ] STREAM CONNECTED 16176 @000000dc
unix 9 [ ] DGRAM 5292 /dev/log
unix 1 [ ] STREAM CONNECTED 16182 @000000df
技术分享 技术分享


从整体上看,netstat的输出结果可以分为两个部分:

一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。

另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。

常见参数

-a (all)显示所有选项,提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。

实用命令实例

1. 列出所有端口 (包括监听和未监听的)

  列出所有端口 netstat -a

技术分享 技术分享
# netstat -a | more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:30037 *:* LISTEN
udp 0 0 *:bootpc *:*

Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 6135 /tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 5140 /var/run/acpid.socket
技术分享 技术分享

  列出所有 tcp 端口 netstat -at

技术分享 技术分享
# netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:30037 *:* LISTEN
tcp 0 0 localhost:ipp *:* LISTEN
tcp 0 0 *:smtp *:* LISTEN
tcp6 0 0 localhost:ipp [::]:* LISTEN
技术分享 技术分享

  列出所有 udp 端口 netstat -au

# netstat -au
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 *:bootpc *:*
udp 0 0 *:49119 *:*
udp 0 0 *:mdns *:*

 

2. 列出所有处于监听状态的 Sockets

  只显示监听端口 netstat -l

# netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:ipp *:* LISTEN
tcp6 0 0 localhost:ipp [::]:* LISTEN
udp 0 0 *:49119 *:*

  只列出所有监听 tcp 端口 netstat -lt

# netstat -lt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:30037 *:* LISTEN
tcp 0 0 *:smtp *:* LISTEN
tcp6 0 0 localhost:ipp [::]:* LISTEN

  只列出所有监听 udp 端口 netstat -lu

# netstat -lu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 *:49119 *:*
udp 0 0 *:mdns *:*

  只列出所有监听 UNIX 端口 netstat -lx

技术分享 技术分享
# netstat -lx
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 6294 private/maildrop
unix 2 [ ACC ] STREAM LISTENING 6203 public/cleanup
unix 2 [ ACC ] STREAM LISTENING 6302 private/ifmail
unix 2 [ ACC ] STREAM LISTENING 6306 private/bsmtp
技术分享 技术分享

 

3. 显示每个协议的统计信息

  显示所有端口的统计信息 netstat -s

技术分享 技术分享
# netstat -s
Ip:
11150 total packets received
1 with invalid addresses
0 forwarded
0 incoming packets discarded
11149 incoming packets delivered
11635 requests sent out
Icmp:
0 ICMP messages received
0 input ICMP message failed.
Tcp:
582 active connections openings
2 failed connection attempts
25 connection resets received
Udp:
1183 packets received
4 packets to unknown port received.
.....
技术分享 技术分享

  显示 TCP 或 UDP 端口的统计信息 netstat -st 或 -su

# netstat -st 
# netstat -su

 

4. 在 netstat 输出中显示 PID 和进程名称 netstat -p

netstat -p 可以与其它开关一起使用,就可以添加 “PID/进程名称” 到 netstat 输出中,这样 debugging 的时候可以很方便的发现特定端口运行的程序。

# netstat -pt
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 1 0 ramesh-laptop.loc:47212 192.168.185.75:www CLOSE_WAIT 2109/firefox
tcp 0 0 ramesh-laptop.loc:52750 lax:www ESTABLISHED 2109/firefox

5. 在 netstat 输出中不显示主机,端口和用户名 (host, port or user)

当你不想让主机,端口和用户名显示,使用 netstat -n。将会使用数字代替那些名称。

同样可以加速输出,因为不用进行比对查询。

# netstat -an

如果只是不想让这三个名称中的一个被显示,使用以下命令

# netsat -a --numeric-ports
# netsat -a --numeric-hosts
# netsat -a --numeric-users

 

6. 持续输出 netstat 信息

netstat 将每隔一秒输出网络信息。

技术分享 技术分享
# netstat -c
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 ramesh-laptop.loc:36130 101-101-181-225.ama:www ESTABLISHED
tcp 1 1 ramesh-laptop.loc:52564 101.11.169.230:www CLOSING
tcp 0 0 ramesh-laptop.loc:43758 server-101-101-43-2:www ESTABLISHED
tcp 1 1 ramesh-laptop.loc:42367 101.101.34.101:www CLOSING
^C
技术分享 技术分享

 

7. 显示系统不支持的地址族 (Address Families)

netstat --verbose

在输出的末尾,会有如下的信息

netstat: no support for `AF IPX‘ on this system.
netstat: no support for `AF AX25‘ on this system.
netstat: no support for `AF X25‘ on this system.
netstat: no support for `AF NETROM‘ on this system.

 

8. 显示核心路由信息 netstat -r

# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth2
link-local * 255.255.0.0 U 0 0 0 eth2
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth2

注意: 使用 netstat -rn 显示数字格式,不查询主机名称。

 

9. 找出程序运行的端口

并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。

# netstat -ap | grep ssh
tcp 1 0 dev-db:ssh 101.174.100.22:39213 CLOSE_WAIT -
tcp 1 0 dev-db:ssh 101.174.100.22:57643 CLOSE_WAIT -

  找出运行在指定端口的进程

# netstat -an | grep ‘:80‘

 

10. 显示网络接口列表

# netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 0 0 0 0 0 0 0 0 BMU
eth2 1500 0 26196 0 0 0 26883 6 0 0 BMRU
lo 16436 0 4 0 0 0 4 0 0 0 LRU

显示详细信息,像是 ifconfig 使用 netstat -ie:

技术分享 技术分享
# netstat -ie
Kernel Interface table
eth0 Link encap:Ethernet HWaddr 00:10:40:11:11:11
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Memory:f6ae0000-f6b00000
技术分享 技术分享

 

实用示例分析:

1.查看服务器的连接数/有效连接数

 

$ netstat -na|wc -l #连接数
$ netstat -nat|grep ESTABLISHED|wc -l #有效连接数,中间的参数 ESTABLISHED表示有效的连接数!
$ netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}‘    #对各种状态的连接数分组统计结果

 

 

 

2.查看连接某服务端口最多的的IP地址

技术分享 技术分享
wss8848@ubuntu:~$ netstat -nat | grep "192.168.1.15:22" |awk ‘{print $5}‘|awk -F: ‘{print $1}‘|sort|uniq -c|sort -nr|head -20
18 221.136.168.36
3 154.74.45.242
2 78.173.31.236
2 62.183.207.98
2 192.168.1.14
2 182.48.111.215
2 124.193.219.34
2 119.145.41.2
2 114.255.41.30
1 75.102.11.99
技术分享 技术分享

 

3.TCP各种状态列表,各种状态的连接数

技术分享 技术分享
wss8848@ubuntu:~$ netstat -nat |awk ‘{print $6}‘
established)
Foreign
LISTEN
TIME_WAIT
ESTABLISHED
TIME_WAIT
SYN_SENT
技术分享 技术分享
先把状态全都取出来,然后使用uniq -c统计,之后再进行排序。
技术分享 技术分享
wss8848@ubuntu:~$ netstat -nat |awk ‘{print $6}‘|sort|uniq -c #或者
wss8848@ubuntu:~$ netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}

143 ESTABLISHED
1 FIN_WAIT1
1 Foreign
1 LAST_ACK #正在等待处理的请求数
36 LISTEN
6 SYN_SENT
113 TIME_WAIT #处理完毕,等待超时结束的请求数
1 established)
技术分享 技术分享
其他参数说明: 
CLOSED:无连接是活动的或正在进行 LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉

4.分析access.log获得访问前10位的ip地址
awk ‘{print $1}‘ access.log |sort|uniq -c|sort -nr|head -10

【转载】netstat--查看服务器[有效]连接数--统计端口并发数--access.log分析

标签:

热心网友 时间:2022-05-01 09:41

linux查看连接数,并发数1、查看apache当前并发访问数:   netstat -an grep ESTABLISHED wc -l  对比httpd.conf中MaxClients的数字差距多少。  2、查看有多少个进程数:  ps auxgrep httpdwc -l  3、可以使用如下参数查看数据  server-status?auto  #ps -efgrep httpdwc -l  1388  统计httpd进程数,连个请求会启动一个进程,使用于Apache服务器。  表示Apache能够处理1388个并发请求,这个值Apache可根据负载情况自动调整。  #netstat -natgrep -i 80wc -l  4341  netstat -an会打印系统当前网络链接状态,而grep -i 80是用来提取与80端口有关的连接的,wc -l进行连接数统计。   最终返回的数字就是当前所有80端口的请求总数。  #netstat -nagrep ESTABLISHEDwc -l  376  netstat -an会打印系统当前网络链接状态,而grep ESTABLISHED 提取出已建立连接的信息。 然后wc -l统计。  最终返回的数字就是当前所有80端口的已建立连接的总数。  netstat -natgrep ESTABLISHEDwc - 可查看所有建立连接的详细记录  查看Apache的并发请求数及其TCP连接状态:  linux命令:  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表示处理完毕,等待超时结束的请求数。(这个参数还不太懂,为啥是等待超时结束,请大神指教)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 linux下如何测试TCP并发数量 Linux系统支持的最大TCP连接是多少? 如何在linux系统下查看各种网络连接情况和网络连接... 如何查看自己的TCPIP连接数是多少? linux下用脚本查看TCP连接问题 如何查询linux tcp 连接数 怎样查看linux当前连接数 linux系统有哪些方法可以获得本机当前"正在传输"状... Linux怎样查看端口连接数 如何取远程linux主机的流量和tcp连接数 linux怎么查询tcp端口使用情况 如何查看linux并发连接数 如何查看suse linux tcp参数 如何查看linux当前支持的最大tcp连接数,如何查看... linux下查看tcp连接的几种方式 农历24过小年吗?为什么有人说是23呢? 每年腊月过小年到底是24还是23 小年到底是腊月24还是23 为什么北方过小年是农历23,南方过小年是农历24 为什么腊月24是小年 查看当前linux有多少条http链接 的命令语句 信用卡还款后可以马上刷出来吗 还款后,一直显示入账中,再取现会有影响吗 信用卡今天还款明天可以刷出来吗 信用卡还款的钱在入账中,额度可以立马使用吗? 信用卡还款后显示入账中是什么意思 信用卡今天还了今天又刷可以吗 信用卡还款后多久可以刷 能马上刷吗 信用卡还款显示入帐中,额度恢复了,马上要用卡,... 深灰色的厚重毛衣外套,怎么点缀更加分? 信用卡还款入账中是什么意思? 针织短外套怎么搭配图片 信用卡今天是还款日,还款后马上刷出来可以吗 羊羔毛外套特别适合在秋冬季节穿着,蓝色羊羔毛外... 信用卡当天还当天刷出来可以吗 短款毛呢外套怎么搭配 信用卡当天还款后可以再刷吗 灰色短款毛呢外套怎么搭配? 信用卡当天还了款当天能刷出来吗 信用卡还款中还可以用吗