Mark

Shadowsocks查看服务器上面的 用户连接数/设备数 方法
1、前言 有部分人在分享自己的Shadowsocks(SSR)账号后可能想要看一下链接自己的Shadowsocks...
扫描右侧二维码阅读全文
09
2018/06

Shadowsocks查看服务器上面的 用户连接数/设备数 方法

1、前言

有部分人在分享自己的Shadowsocks(SSR)账号后可能想要看一下链接自己的Shadowsocks账号的有多少人在使用,我就简单说一下方法。


2、基础教程

本方法仅适用于 Debian/Ubuntu 系统(部分代码支持CentOS),ShadowsocksR 服务端和Shadowsocks Python 服务端!
首先,我们是使用netstat命令来查询当前服务器(VPS)的连接数据。

以下方法适用于 ShadowsocksR(Python) 的服务端,因为ShadowsocksR服务端由 Python 编写,并且默认开启ipv6,所以很容易过滤出一些信息。

显示出由Python建立完成的TCP链接列表或连接数


  1. # 显示所有进出链接
  2. netstat -anp |grep 'ESTABLISHED' |grep 'python'
  3. # 仅显示链接服务器的用户连接
  4. netstat -anp |grep 'ESTABLISHED' |grep 'python' |grep 'tcp6'
  5. # 仅显示链接服务器的用户连接数量
  6. netstat -anp |grep 'ESTABLISHED' |grep 'python' |grep 'tcp6' |wc -l
  7. # 仅显示链接服务器的用户连接并写入到文件
  8. netstat -anp |grep 'ESTABLISHED' |grep 'python' |grep 'tcp6'>>/root/log.txt
  9. # 如果你是多用户版(多个端口)的服务端,那么你可以用这个命令
  10. # 显示当前链接服务器的用户的SS端口
  11. netstat -anp |grep 'ESTABLISHED' |grep 'python' |grep 'tcp6' |awk '{print $4}' |sort -u
  12. # CentOS6系统用这个,CentOS7用上面那个。
  13. netstat -anp |grep 'ESTABLISHED' |grep 'python' |grep 'tcp' | grep '::ffff:' |awk '{print $4}' |sort -u
  14. # 显示当前链接服务器的用户的SS端口数量
  15. netstat -anp |grep 'ESTABLISHED' |grep 'python' |grep 'tcp6' |awk '{print $4}' |sort -u |wc -l
  16. # CentOS6系统用这个,CentOS7用上面那个。
  17. netstat -anp |grep 'ESTABLISHED' |grep 'python' |grep 'tcp' | grep '::ffff:' |awk '{print $4}' |sort -u |wc -l
  18. # 显示当前所有链接SS的用户IP
  19. netstat -anp |grep 'ESTABLISHED' |grep 'python' |grep 'tcp6' |awk '{print $5}' |awk -F ":" '{print $1}' |sort -u
  20. # 显示当前所有链接SS的用户IP数量
  21. netstat -anp |grep 'ESTABLISHED' |grep 'python' |grep 'tcp6' |awk '{print $5}' |awk -F ":" '{print $1}' |sort -u |wc -l

第一条命令

把所有的进出链接都列出来,Shadowsocks客户端在链接服务器后 本地的IP和端口 是 “进” 的,服务器在接收到Shadowsocks客户端的数据后会去访问指定的网站或IP,而这是 “出”的。这一条命令就是把这 一进一出 的信息都列出来,可以知道 客户端用户连接的是哪个 SS端口,还有客户 自身的IP和端口。

第二条命令

仅显示链接服务器的用户的链接,也就是上面一段话中说的 “进”,这个命令不会吧服务器在访问的网站或IP给列出来,纯粹用来看 Shadowsocks用户的链接信息。

第三条命令

仅显示链接服务器的用户连接数量,有时候链接 当前服务器的 Shadowsocks用户很多,你只想知道有几个人链接,那就用这一条命令(这个链接数量不是准确的,具体看下面的注意说明)。

第四条命令

仅显示链接服务器的用户连接并写入到文件,有时候在ssh上面查看大量文本不是一个好主意,所以保存到某个目录,然后自己去用sftp下载下来看信息是个不错的选择。

第五条命令

显示当前链接服务器的用户的SS端口,这个命令会去除重复的,最后显示的只有 正在链接SS服务器的用户的SS端口。

第六条命令

显示当前链接服务器的用户的SS端口数量,这个就是显示 数量。

第七条命令

显示当前所有链接SS的用户IP,这个命令会去除重复的,最后显示的只有 正在链接SS服务器的用户的IP。

第八条命令

显示当前所有链接SS的用户IP数量,这个就是显示 数量。

注意:你经常会看到 用户IP一样但后面的端口不一样(1.1.1.1:2333、1.1.1.1:6666),那是因为他的SS客户端开了好几条TCP链接,所以一般情况下还是一个人在使用,但是也不排除路由器局域网情况下多个人同时使用,这时候也是这样显示的。

本篇文章出处https://www.quchao.net 转载请注明来源


3、进阶教程

如果你想单独查看一个SS端口的链接数,那你可以看看下面几条命令。


  1. netstat -anp |grep 'ESTABLISHED' |grep 'python' |grep 'tcp6' |grep VPS_IP:SS_Port
  2. # 示例 netstat -anp |grep 'ESTABLISHED' |grep 'python' |grep 'tcp6' |grep 233.233.233.233:10000
  3. netstat -anp |grep 'ESTABLISHED' |grep 'python' |grep 'tcp6' |grep VPS_IP:SS_Port |wc -l/li>
  4. # 示例 netstat -anp |grep 'ESTABLISHED' |grep 'python' |grep 'tcp6' |grep 233.233.233.233:10000 |wc -l/li>

第一条命令

列出 当前SS端口连接的链接数。比如:服务器IP是 233.233.233.233 ,然后你想要知道链接数的端口是10000 ,那命令就是第二行的示例。

第二条命令

显示 当前SS端口连接的链接数,这个只是显示有几个链接数。示例如上。


主机推荐

Last modification:October 21st, 2019 at 11:51 pm
如本文“对您有用”,欢迎随意打赏我,让我坚持创作!

Leave a Comment

16 评论

  1. 小白   Windows 7 x64 Edition Windows 7 x64 Edition Google Chrome 77.0.3865.120 Google Chrome 77.0.3865.120

    求博主联机协助安装此教程


    1. Mark 博主   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 77.0.3865.90 Google Chrome 77.0.3865.90
      @小白

      不好意思,不提供这个服务.........


  2. test   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 77.0.3865.90 Google Chrome 77.0.3865.90

    怎么列出所有访问的IP对应的端口呢,比如说我的IP是192.168.0.1然后我用的是80端口,这个怎么能把他列出来呢?大神,求解答


    1. Mark 博主   Mac OS X Mac OS X Safari 12.0 Safari 12.0
      @test

      直接查指定端口lsof -i:端口号


  3. chenrong   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 64.0.3282.186 Google Chrome 64.0.3282.186

    好像centos6按照上面的命令没法查看ssr的连接数量耶,是因为现在不能用这个了吗,还是数量太少不够准确呢,显示连接数为0


    1. Mark 博主   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 71.0.3578.98 Google Chrome 71.0.3578.98
      @chenrong

      你是用的Python版本吗?Python版本才可以的


      1. chenrong   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 63.0.3239.132 Google Chrome 63.0.3239.132
        @Mark

        没事了,可以了,前面有点不懂awk命令,刚刚查了下没问题了,我的应该用错centos7的了tcp6,所以刚刚错了,现在没问题了!


        1. Mark 博主   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 71.0.3578.98 Google Chrome 71.0.3578.98

      2. chenrong   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 63.0.3239.132 Google Chrome 63.0.3239.132
        @Mark

        好像是python的,不过我现在是在ssr绑定端口看连接的数目,用这个命令查看 netstat -anp | grep ESTABLISHED | grep -i 8080 ,因为我是绑定在8080端口的。好像grep就没了,难道我的不是python的,尴尬


  4. 河马先生   Windows 7 x64 Edition Windows 7 x64 Edition Google Chrome 68.0.3440.106 Google Chrome 68.0.3440.106

    博主你好,我想问一下,我朋友开了个ss,给我了个账号,我用他能不能看到我访问的网站地址啊?不想隐私被窥视。。所以请教一下大佬~


    1. Mark 博主   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 68.0.3440.106 Google Chrome 68.0.3440.106
      @河马先生

      对方可以看到你的信息的(技术上可以实现,也有人实验过)但是过程比较复杂,如果想看还是可以看得到的。


      1. Shadowsocks   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 77.0.3865.90 Google Chrome 77.0.3865.90
        @Mark

        博主你好,是仅能查看网站,还是能看到具体的页面?


        1. Mark 博主   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 77.0.3865.90 Google Chrome 77.0.3865.90
          @Shadowsocks

          这个需要从服务器上抓包,具体过程比较繁琐。


          1. Shadowsocks   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 77.0.3865.90 Google Chrome 77.0.3865.90
            @Mark
            该评论仅登录用户及评论双方可见

  5. 孟小N   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 63.0.3239.132 Google Chrome 63.0.3239.132

    说个咱俩的小秘密,不会被发现吧~~


    1. Mark 博主   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 66.0.3359.181 Google Chrome 66.0.3359.181
      @孟小N

      不会的 不会的~