精华内容
参与话题
问答
  • ss命令详解

    千次阅读 2019-02-05 19:07:00
    基础命令学习目录 ... ss 是 Socket Statistics 的缩写。ss 命令可以用来获取 socket 统计信息,它...但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快。当服务器的 socket ...

     

    基础命令学习目录   

     

    原文链接:https://www.jb51.net/article/135414.htm

    ss 是 Socket Statistics 的缩写。ss 命令可以用来获取 socket 统计信息,它显示的内容和 netstat 类似。但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快。当服务器的 socket 连接数量变得非常大时,无论是使用 netstat 命令还是直接 cat /proc/net/tcp,执行速度都会很慢。ss 命令利用到了 TCP 协议栈中 tcp_diag。tcp_diag 是一个用于分析统计的模块,可以获得 Linux 内核中第一手的信息,因此 ss 命令的性能会好很多。

    常用选项

    -h, --help 帮助
    -V, --version 显示版本号
    -t, --tcp 显示 TCP 协议的 sockets
    -u, --udp 显示 UDP 协议的 sockets
    -x, --unix 显示 unix domain sockets,与 -f 选项相同
    -n, --numeric 不解析服务的名称,如 "22" 端口不会显示成 "ssh"
    -l, --listening 只显示处于监听状态的端口
    -p, --processes 显示监听端口的进程(Ubuntu 上需要 sudo)
    -a, --all 对 TCP 协议来说,既包含监听的端口,也包含建立的连接
    -r, --resolve 把 IP 解释为域名,把端口号解释为协议名称

    常见用例

    如果不添加选项 ss 命令默认输出所有建立的连接(不包含监听的端口),包括 tcp, udp, and unix socket 三种类型的连接:

    查看主机监听的端口

    1
    $ ss -tnl

    通过 -r 选项解析 IP 和端口号

    1
    $ ss -tlr

    使用 -p 选项查看监听端口的程序名称

    1
    $ sudo ss -tlp

    最后一列就是运行的程序名称。还可以通过 grep 继续过滤:

    1
    $ sudo ss -tlp | grep ssh

    查看建立的 TCP 连接

    -a --all 对 TCP 协议来说,既包含监听的端口,也包含建立的连接

    1
    $ ss -tna

    显示更多的信息

    -o, --options 显示时间信息
    -m, --memory 显示 socket 使用的内存
    -i, --info 显示更多 TCP 内部的信息

    显示概要信息

    1
    $ ss -s

    dst/src dport/sport 语法

    可以通过 dst/src/dport/sprot 语法来过滤连接的来源和目标,来源端口和目标端口。

    匹配远程地址和端口号

    1
    2
    3
    $ ss dst 192.168.1.5
    $ ss dst 192.168.119.113:http
    $ ss dst 192.168.119.113:443

    匹配本地地址和端口号

    1
    2
    3
    $ ss src 192.168.119.103
    $ ss src 192.168.119.103:http
    $ ss src 192.168.119.103:80

    将本地或者远程端口和一个数比较

    可以使用下面的语法做端口号的过滤:

    1
    2
    $ ss dport OP PORT
    $ ss sport OP PORT

    OP 可以代表以下任意一个:

    <= le 小于或等于某个端口号
    >= ge 大于或等于某个端口号
    == eq 等于某个端口号
    != ne 不等于某个端口号
    > gt 大于某个端口号
    < lt 小于某个端口号

     

    下面是一个简单的 demo(注意,需要对尖括号使用转义符):

    1
    2
    $ ss -tunl sport lt 50
    $ ss -tunl sport \< 50

    通过 TCP 的状态进行过滤

    ss 命令还可以通过 TCP 连接的状态进程过滤,支持的 TCP 协议中的状态有:
    established
    syn-sent
    syn-recv
    fin-wait-1
    fin-wait-2
    time-wait
    closed
    close-wait
    last-ack
    listening
    closing

    除了上面的 TCP 状态,还可以使用下面这些状态:

    all 列出所有的 TCP 状态。
    connected 列出除了 listening 和 closing 之外的所有 TCP 状态。
    synchronized 列出除了 syn-sent 之外的所有 TCP 状态。
    bucket 列出 maintained 的状态,如:time-wait 和 syn-recv。
    big 列出和 bucket 相反的状态。

     

    使用 ipv4 时的过滤语法如下:

    1
    $ ss -4 state filter

    使用 ipv6 时的过滤语法如下:

    1
    $ ss -6 state filter

    下面是一个简单的例子:

    1
    $ ss -4 state listening

    同时过滤 TCP 的状态和端口号

    (注意下面命令中的转义符和空格,都是必须的。如果不用转义符,可以使用单引号)

    下面的命令显示所有状态为 established 的 ssh 连接:

    1
    $ ss -4n state listening

    下面的两种写法是等价的,要有使用 \ 转义小括号,要么使用单引号括起来:

    1
    2
    $ ss -4n state listening \( dport = :ssh \)
    $ ss -4n state listening '( dport = :ssh )'

    只是最后的结果稍微让人有些意外,不仅显示了监听的端口,也显示了通过 22 端口建立的连接。

    下面我们显示所有状态为 Established 的 HTTP 连接:

    1
    2
    $ ss -4n state listening \( dport = :ssh \)
    $ ss -4n state listening '( dport = :ssh )'

    下面的命令列出所有连接到 22 端口的连接和对 22 端口的监听:

    1
    $ ss state all dport = :22

    下面是一个来自 ss man page 的例子,它列举出处于 FIN-WAIT-1状态的源端口为 80 或者 443,目标网络为 193.233.7/24 所有 TCP 套接字:

    1
    $ ss state fin-wait-1 '( sport = :http or sport = :https )' dst 193.233.7/24

    总结

    由于性能出色且功能丰富,ss 命令可以用来替代 netsate 命令成为我们日常查看 socket 相关信息的利器。其实抛弃 netstate 命令已经是大势所趋,有的 Linux 版本默认已经不再内置 netstate 而是内置了 ss 命令。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

     

    ss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计. 它比其他工具展示等多tcp和state信息. 它是一个非常实用、快速、有效的跟踪IP连接和sockets的新工具.SS命令可以提供如下信息:

    • 所有的TCP sockets
    • 所有的UDP sockets
    • 所有ssh/ftp/ttp/https持久连接
    • 所有连接到Xserver的本地进程
    • 使用state(例如:connected, synchronized, SYN-RECV, SYN-SENT,TIME-WAIT)、地址、端口过滤
    • 所有的state FIN-WAIT-1 tcpsocket连接以及更多

    很多流行的Linux发行版都支持ss以及很多监控工具使用ss命令.熟悉这个工具有助于您更好的发现与解决系统性能问题.本人强烈建议使用ss命令替代netstat部分命令,例如netsat -ant/lnt等.

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

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

    常用ss命令:

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

    列出当前监听端口

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

    ss列所有的tcp sockets

    ss列出所有udp sockets

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

    ·以上包含对外提供的80,以及访问外部的80
    ·用以上命令完美的替代netstat获取http并发连接数,监控中常用到

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

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

    ss常用的state状态

    ss使用IP地址筛选

    ss使用端口筛选

    OP运算符如下:

    OP实例

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

    ss命令帮助

    参考:http://www.cyberciti.biz/tips/linux-investigate-sockets-network-connections.html
    转摘请注明出处:Linux网络状态工具ss命令详解  http://www.ttlsa.com/html/2070.html

     

    转载于:https://www.cnblogs.com/machangwei-8/p/10352986.html

    展开全文
  • ss解压密码

    千次阅读 2018-02-26 11:19:14
    ss解压密码 www.cozythere.com

    ss解压密码
    www.cozythere.com

    展开全文
  • ubuntu18安装Ss-qt5注意事项

    千次阅读 2019-09-05 11:24:34
    sudo add-apt-repository ppa:hzwhuang/ss-qt5 此时 ,Ubuntu18.04在安装Ssqt5时就会出现错误 仓库 “http://ppa.launchpad.net/hzwhuang/ss-qt5/ubuntu bionic Release” 没有 Release 文件 原因:ppa:hzwhuang/...

    1. 添加ppa源:

    sudo add-apt-repository ppa:hzwhuang/ss-qt5

    此时 ,Ubuntu18.04在安装Ssqt5时就会出现错误 

    仓库 “http://ppa.launchpad.net/hzwhuang/ss-qt5/ubuntu bionic Release” 没有 Release 文件 

    原因:ppa:hzwhuang/ss-qt5 并没有18.04版本的源 

    解决方法:先进入/etc/apt/sources.list.d目录,修改目录下的hzwhuang-ubuntu-ss-qt5-bionic.list 文件名改为hzwhuang-ubuntu-ss-qt5-artful.list

    2. 修改:

    sudo mv hzwhuang-ubuntu-ss-qt5-bionic.list hzwhuang-ubuntu-ss-qt5-artful.list

    3. 编辑artful.list文件,将默认的ppa源bionic修改为:

    sudo vim hzwhuang-ubuntu-ss-qt5-artful.list
    # 修改为如下内容
    deb http://ppa:launchpad.net/hzwhuang/ss-qt5/ubuntu artful main

    4. 正常的update和install,完成安装

    sudo apt-get update
    sudo apt-get install shadowsocks-qt5

     

    展开全文
  • ss和netstat的区别

    千次阅读 2019-01-21 18:00:44
    从下面这个图来看,netstat和ss都是网络相关的监控,netstat在协议栈中每一层都可以做监控统计:TCP、路由表、网络接口、协议等,但是在Linux中,netstat已经不为推荐,取而代之的是ss。 1)netstat参数和使用 常用...

    从下面这个图来看,netstat和ss都是网络相关的监控,netstat在协议栈中每一层都可以做监控统计:TCP、路由表、网络接口、协议等,但是在Linux中,netstat已经不为推荐,取而代之的是ss。
    在这里插入图片描述

    1)netstat参数和使用

    常用参数-anplt
    -a 显示所有活动的连接以及本机侦听的TCP、UDP端口
    -l 显示监听的server port
    -n 直接使用IP地址,不通过域名服务器
    -p 正在使用Socket的程序PID和程序名称
    -r 显示路由表
    -t 显示TCP传输协议的连线状况
    -u 显示UDP传输协议的连线状况
    -w 显示RAW传输协议的连线状况

    [root@king ~]# netstat -anutlp | grep 80
    tcp6       0      0 :::80                   :::*                    LISTEN      8218/httpd     
    

    在Linux下,raw格式的数据通常可以通过/proc/net/dev获得。在Windows平台,netstat信息可以通过IP Helper API的GetTcpTable和GetUdpTable函数获得。

    2)ss(socket statistics)参数和使用

    常用参数和netstat类似,如-anp
    -a显示所有的sockets
    -l显示正在监听的
    -n显示数字IP和端口,不通过域名服务器
    -p显示使用socket的对应的程序
    -t只显示TCP sockets
    -u只显示UDP sockets
    -4 -6 只显示v4或v6V版本的sockets
    -s打印出统计信息。这个选项不解析从各种源获得的socket。对于解析/proc/net/top大量的sockets计数时很有效
    -0 显示PACKET sockets
    -w 只显示RAW sockets
    -x只显示UNIX域sockets
    -r尝试进行域名解析,地址/端口

    [root@king ~]# ss -anutlp | grep 80
    tcp    LISTEN     0      128      :::80                   :::*                   users:(("httpd",pid=8223,fd=4),("httpd",pid=8222,fd=4),("httpd",pid=8221,fd=4),("httpd",pid=8220,fd=4),("httpd",pid=8219,fd=4),("httpd",pid=8218,fd=4))
    
    

    统计信息

    [root@king ~]# ss -s
    Total: 599 (kernel 1020)
    TCP:   9 (estab 1, closed 1, orphaned 0, synrecv 0, timewait 0/0), ports 0
    
    Transport Total     IP        IPv6
    *	  1020      -         -        
    RAW	  1         0         1        
    UDP	  6         3         3        
    TCP	  8         4         4        
    INET	  15        7         8        
    FRAG	  0         0         0        
    
    

    3)原理对比
    ss比netstat快的主要原因是,netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多。
    当服务器的socket连接数量非常大时(如上万个),无论是使用netstat命令还是直接cat /proc/net/tcp执行速度都会很慢,相比之下ss可以节省很多时间。ss快的秘诀在于,它利用了TCP协议栈中tcp_diag,这是一个用于分析统计的模块,可以获得Linux内核中的第一手信息。如果系统中没有tcp_diag,ss也可以正常运行,只是效率会变得稍微慢但仍然比netstat要快。
    根据博客http://www.cnblogs.com/wangkangluo1/archive/2012/05/15/2500844.html的测试
    同样的大量socket连接情况下,netstat和ss获取同样的统计数据时的耗时,ss明显比netstat少很多。我们也可以简单测试一下在少数socket情况下(基本无差别):

    time netstat -atn以及time ss -atn对比

    [root@king ~]# time ss -aut
    Netid State      Recv-Q Send-Q                                              Local Address:Port                                                               Peer Address:Port                
    udp   UNCONN     0      0                                                               *:sunrpc                                                                        *:*                    
    udp   UNCONN     0      0                                                               *:entrust-ash                                                                   *:*                    
    udp   UNCONN     0      0                                                       127.0.0.1:323                                                                           *:*                    
    udp   UNCONN     0      0                                                              :::sunrpc                                                                       :::*                    
    udp   UNCONN     0      0                                                              :::entrust-ash                                                                  :::*                    
    udp   UNCONN     0      0                                                             ::1:323                                                                          :::*                    
    tcp   LISTEN     0      128                                                             *:sunrpc                                                                        *:*                    
    tcp   LISTEN     0      128                                                             *:ssh                                                                           *:*                    
    tcp   LISTEN     0      100                                                     127.0.0.1:smtp                                                                          *:*                    
    tcp   ESTAB      0      52                                                 192.168.159.11:ssh                                                               192.168.159.1:59869                
    tcp   LISTEN     0      128                                                            :::sunrpc                                                                       :::*                    
    tcp   LISTEN     0      128                                                            :::http                                                                         :::*                    
    tcp   LISTEN     0      128                                                            :::ssh                                                                          :::*                    
    tcp   LISTEN     0      100                                                           ::1:smtp                                                                         :::*                    
    
    real	0m0.007s
    user	0m0.003s
    sys	0m0.003s
    [root@king ~]# time netstat -aut
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    tcp        0      0 0.0.0.0:sunrpc          0.0.0.0:*               LISTEN     
    tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
    tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN     
    
    tcp        0     52 king:ssh                192.168.159.1:59869     ESTABLISHED
    tcp6       0      0 [::]:sunrpc             [::]:*                  LISTEN     
    tcp6       0      0 [::]:http               [::]:*                  LISTEN     
    tcp6       0      0 [::]:ssh                [::]:*                  LISTEN     
    tcp6       0      0 localhost:smtp          [::]:*                  LISTEN     
    udp        0      0 0.0.0.0:sunrpc          0.0.0.0:*                          
    udp        0      0 0.0.0.0:entrust-ash     0.0.0.0:*                          
    udp        0      0 localhost:323           0.0.0.0:*                          
    udp6       0      0 [::]:sunrpc             [::]:*                             
    udp6       0      0 [::]:entrust-ash        [::]:*                             
    udp6       0      0 localhost:323           [::]:*                             
    
    real	0m5.242s
    user	0m0.015s
    sys	0m0.012s
    
    

    netstat属于net-tools工具集,ss属于ipoute工具集。替换方案如下:

    在这里插入图片描述

    展开全文
  • ss 命令 使用说明

    2019-05-08 22:09:10
    ss 比 netstat 好用的socket统计信息,iproute2 包附带的另一个工具,允许你查询 socket 的有关统计信息。 补充说明 ss命令 用来显示处于活动状态的套接字信息。ss命令可以用来获取socket统计信息,它可以显示和...
  • ss命令的参数及使用详解

    千次阅读 2019-03-23 19:48:09
    参数 Usage: ss [ OPTIONS ] ss [ OPTIONS ] [ FILTER ] -h, --help this message #显示帮助菜单 -V, --version output version information #输出版本信息 -n, --numeric do...
  • DateFormat dateTimeformat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String strBeginDate = dateTimeformat.format(new Date()); System.out.println(strBeginDate);   //以上返回的是12小时制的...
  • 题目链接:Filling轮廓线dp出整个的,一半的,1/4的,然后用burnside引理去重。#include using namespace std ;typedef long long LL ; typedef pair , int > pii ;#define clr( a , x ) memset ( a , x , sizeof a...
  • 5G NR SSB(SS/PBCH Block)详解

    万次阅读 多人点赞 2019-07-20 17:12:17
    我们都知道LTE中终端设备也就是手机是通过基站广播发送的主同步序列和辅同步序列实现同步的,但在NR中,出现了SSB的概念,简单的说就是由原来的主同步序列、辅同步序列、物理广播信道和解调参考信号组合在一起构成的...
  • ss

    2005-01-17 16:26:00
  • ss 命令用法

    千次阅读 2015-08-03 10:34:58
    The ss command is used to show socket statistics. It can display stats for PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets, and more. It allows showing informa
  • linux命令解析--ss

    千次阅读 2013-12-22 22:30:59
    ss是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。 当...
  • ss是Socket Statistics的缩写。 顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效
  • Linux 下 ss 命令使用示例

    万次阅读 2017-11-07 16:21:48
    ss 命令
  • 本人这久在关注一个地方域名( ***.ren,由于某些因素,此处用 *** 来代表域名), 因域名已经过期,有打算抢注的意愿,就等删除后注册了。 ( ***.ren) ...到期日期 2017年10月30日 到期日期 10月30日 ...2017.12....
  • ss 命令查看连接数

    千次阅读 2015-11-18 15:54:31
    ss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计. 它比其他工具展示等多tcp和state信息. 它是一个非常实用、快速、有效的...
  • Linux网络状态工具ss命令使用详解

    千次阅读 2015-01-24 23:47:37
    ss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计. 它比其他工具展示等多tcp和state信息. 它是一个非常实用、快速、有效的...
  • SS14、SS24、SS34 区别

    千次阅读 2017-03-29 09:25:47
    [转]SS14、SS24、SS34之间唯一的区别就是最大正向整流电流不同,SS14为1A,SS24为2A,SS34为3A。 这三个型号的具体参数如下: SS14:最大反向峰值电压VRRM=40V、最大正向整流电流I(AV)=1A、最大正向压降VF=0.5V、...
  • SSPanel

    千次阅读 2019-07-16 16:15:53
    有开发环境的直接跳到第四步:4 部署 SSPanel 魔改版 开始安装 数据库用mysql也可以 一键后端安装地址 这里的前端后端和传统的web网站前后端不太一样,这里的前端其实指的就是web网站开发的后端后台,这里的后端指...
  • 上一章我阐述了如何修改sspanel的视图,这一章为大家带来页面定向控制以及controller代码的修改 我们知道ssapnelV3是基于mvc架构,页面的访问并不是直接访问到页面文件,而是由controller处理后再返回的html...

空空如也

1 2 3 4 5 ... 20
收藏数 709,961
精华内容 283,984
关键字:

ss