1. netstat命令

  • 查看所有连接状态:
  • bash

    netstat -ant | awk '{print $6}' | sort | uniq -c

  • 查看80端口连接数:
  • bash

    netstat -nat|grep -i "80"|wc -l

  • 统计已连接上的,状态为“established”的连接数:
  • bash

    netstat -na|grep ESTABLISHED|wc -l

  • 查出哪个IP地址连接最多:
  • bash

    netstat -na|grep ESTABLISHED|awk {print $5}|awk -F: {print $1}|sort|uniq -c|sort -r +0n

    2. ss命令

  • 查看连接数:
  • bash

    ss -s

  • 查看正在监听的所有TCP端口:
  • bash

    ss -t -l

    3. lsof命令

  • 列出所有打开的文件和网络连接:
  • bash

    lsof -i -n

    4. nmap命令

  • 扫描本地主机的开放端口,同时也可以显示连接状态:
  • bash

    nmap -sS -O localhost

    5. 查看/proc文件系统

  • 查看当前的连接数:
  • bash

    cat /proc/net/sockstat

    相关操作

    Linux查看连接数的方法及相关操作

    1. 查看Apache的并发请求数及其TCP连接状态

    bash

    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表示处理完毕,等待超时结束的请求数。
  • 2. 查看httpd进程数(即prefork模式下Apache能够处理的并发请求数)

    bash

    ps -ef | grep httpd | wc -l

    注意事项

    Linux查看连接数的方法及相关操作

  • 大多数查看连接数的命令都需要以root或者具有管理员权限的用户身份运行。
  • 连接数随时会发生变化,所以建议多次执行上述命令,以获取更准确的结果。