zoukankan      html  css  js  c++  java
  • linux ss命令详解

    展示他之前来做个对比,统计服务器并发连接数

    netstat# time netstat -ant | grep EST | wc -l3100
    real 0m12.960suser 0m0.334ssys 0m12.561s# time ss -o state established | wc -l3204
    real 0m0.030suser 0m0.005ssys 0m0.026s

    结果很明显ss统计并发连接数效率完胜netstat,在ss能搞定的情况下, 你还会在选择netstat吗, 还在犹豫吗, 看以下例子,或者跳转到帮助页面.

    常用ss命令:

    ss -l 显示本地打开的所有端口

    ss -pl 显示每个进程具体打开的socket

    ss -t -a 显示所有tcp socket

    ss -u -a 显示所有的UDP Socekt

    ss -o state established '( dport = :smtp or sport = :smtp )' 显示所有已建立的SMTP连接

    ss -o state established '( dport = :http or sport = :http )' 显示所有已建立的HTTP连接

    ss -x src /tmp/.X11-unix/* 找出所有连接X服务器的进程

    ss -s 列出当前socket详细信息:

    显示sockets简要信息,列出当前已经连接,关闭,等待的tcp连接

    # ss -s

    Total: 3519 (kernel 3691)

    TCP: 26557 (estab 3163, closed 23182, orphaned 194, synrecv 0, timewait 23182/0),
    ports 1452
    Transport Total IP IPv6* 3691 - -RAW 2 2 0UDP 10 7 3TCP 3375 3368 7INET 3387 3377 10FRAG 0 0 0

    列出当前监听端口

    # ss -lRecv-Q Send-Q Local Address:Port Peer Address:Port

    0 10 :::5989 :::*

    0 5 *:rsync *:*

    0 128 :::sunrpc :::*

    0 128 *:sunrpc *:*

    0 511 *:http *:*

    0 128 :::ssh :::*

    0 128 *:ssh *:*

    0 128 :::35766 :::*0 128 127.0.0.1:ipp *:*0 128 ::1:ipp :::*0 100 ::1:smtp :::*0 100 127.0.0.1:smtp *:*0 511 *:https *:*0 100 :::1311 :::*0 5 *:5666 *:*0 128 *:3044 *:*

    ss列出每个进程名及其监听的端口

    # ss -pl

    ss列所有的tcp sockets

    # ss -t -a

    ss列出所有udp sockets

    # ss -u -a

    ss列出所有http连接中的连接

    # ss -o state established '( dport = :http or sport = :http )'

    ·以上包含对外提供的80,以及访问外部的80

    ·用以上命令完美的替代netstat获取http并发连接数,监控中常用到

    ss列出本地哪个进程连接到x server

    # ss -x src /tmp/.X11-unix/*

    ss列出处在FIN-WAIT-1状态的http、https连接

    # ss -o state fin-wait-1 '( sport = :http or sport = :https )'

    ss常用的state状态:

    establishedsyn-sentsyn-recvfin-wait-1fin-wait-2time-waitclosedclose-waitlast-acklistenclosingall : All of the above statesconnected : All the states except for listen and closedsynchronized : All the connected states except for syn-sentbucket : Show states, which are maintained as minisockets, i.e. time-wait and syn-recv.big : Opposite to bucket state.

    ss使用IP地址筛选

    ss src ADDRESS_PATTERNsrc:表示来源ADDRESS_PATTERN:表示地址规则如下:ss src 120.33.31.1 # 列出来之20.33.31.1的连接
    # 列出来至120.33.31.1,80端口的连接ss src 120.33.31.1:httpss src 120.33.31.1:8

    ss使用端口筛选

    ss dport OP PORTOP:是运算符PORT:表示端口dport:表示过滤目标端口、相反的有sport

    OP运算符如下:

    <= or le : 小于等于 >= or ge : 大于等于== or eq : 等于!= or ne : 不等于端口< or lt : 小于这个端口 > or gt : 大于端口

    OP实例

    ss sport = :http 也可以是 ss sport = :80ss dport = :httpss dport > :1024ss sport > :1024ss sport < :32000ss sport eq :22ss dport != :22ss state connected sport = :httpss ( sport = :http or sport = :https )ss -o state fin-wait-1 ( sport = :http or sport = :https ) dst 192.168.1/24

    为什么ss比netstat快:

    netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多

  • 相关阅读:
    开发DBA(APPLICATION DBA)的重要性
    SQL有外连接的时候注意过滤条件位置
    程序与bug
    Dalvik虚拟机进程和线程的创建过程分析
    Dalvik虚拟机简要介绍和学习计划
    Dalvik虚拟机的运行过程分析
    JRE和JDK的概念
    myeclipse6.0.1(内置了eclipse)安装及其配置
    JDK 环境变量如何设置
    jdk1.5和tomcat5.5免安装的环境配置
  • 原文地址:https://www.cnblogs.com/kuku0223/p/14132891.html
Copyright © 2011-2022 走看看