V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
scriptB0y
V2EX  ›  分享创造

pingtop: 同时 ping 多个 server 的终端工具。

  •  
  •   scriptB0y ·
    laixintao · 2019-04-09 23:00:14 +08:00 · 3893 次点击
    这是一个创建于 2056 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我的需求是想看一下我的服务器哪一个最快,拿来上网(你懂得),就想找个能 ping 多个 server 的工具,最后自己写了一个。

    asciicast

    可能还有些 bug,欢迎 issue。

    https://github.com/laixintao/pingtop

    https://pypi.org/project/pingtop/

    16 条回复    2019-05-10 09:44:56 +08:00
    lyhiving
        1
    lyhiving  
       2019-04-09 23:23:27 +08:00 via Android   ❤️ 1
    好无聊,不过我喜欢。应该将一些常用的地址简单化。另外加上一个回调,你这个就是监控了。
    scriptB0y
        2
    scriptB0y  
    OP
       2019-04-09 23:30:03 +08:00
    @lyhiving 嗯 监控的话考虑要打印到日志或者将结果输出到 stdout 了... 我打算后面在按 q 的时候打印一个 summary。
    Arnie97
        3
    Arnie97  
       2019-04-10 00:50:45 +08:00 via Android   ❤️ 1
    不做监控的话,我觉得 netselect 就 OK
    KasuganoSoras
        4
    KasuganoSoras  
       2019-04-10 01:06:57 +08:00
    [root@Akkariin-Server ~]# pip install pingtop
    Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
    Collecting pingtop
    Using cached https://pypi.tuna.tsinghua.edu.cn/packages/86/1c/5064bd238902f7ee693ab792af6de801b021dc3caa5e0d4d977fd1fd6561/pingtop-0.2.3.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-install-n15i5mp8/pingtop/setup.py", line 7, in <module>
    with open(path.join(this_directory, "README.md"), encoding="utf-8") as f:
    FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-install-n15i5mp8/pingtop/README.md'

    ----------------------------------------
    Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-n15i5mp8/pingtop/

    pip 安装不了,pip3 也试过了
    scriptB0y
        5
    scriptB0y  
    OP
       2019-04-10 01:20:00 +08:00 via iPad
    @KasuganoSoras 一个打包问题,有人提 pr 修复了,清华的镜像更新的慢,你试下 pyoi.org 上最新版,0.2.4
    edsheeran
        6
    edsheeran  
       2019-04-10 01:23:08 +08:00
    是否打算支持 tcping?
    KasuganoSoras
        7
    KasuganoSoras  
       2019-04-10 01:29:01 +08:00
    @scriptB0y #5 可以了,提个 Issues,鼠标点击 sort key 会崩溃
    https://i.natfrp.org/93ea26e004a32c137de1f7ba2126a2af.png
    scriptB0y
        8
    scriptB0y  
    OP
       2019-04-10 01:31:16 +08:00 via iPad
    @edsheeran 可以啊,好主意,我写一下
    scriptB0y
        9
    scriptB0y  
    OP
       2019-04-10 01:31:44 +08:00 via iPad
    @KasuganoSoras 谢谢我看下,我还没试过鼠标的
    eric6356
        10
    eric6356  
       2019-04-10 01:37:52 +08:00
    很棒!
    同样的需求我很早以前写过一个脚本 https://github.com/eric6356/multiping
    只是简单地调用系统的 ping(8),没有额外的依赖
    KasuganoSoras
        11
    KasuganoSoras  
       2019-04-10 01:49:36 +08:00   ❤️ 1
    @scriptB0y #9 还有个小 bug,不输入主机名会报错,已经修复并提了 pr 了
    singerll
        12
    singerll  
       2019-04-10 08:45:15 +08:00 via Android
    fping ?
    scriptB0y
        13
    scriptB0y  
    OP
       2019-04-10 08:56:08 +08:00
    @Arnie97 早一点看到这个我就不写了...
    @eric6356 我也这么想过,后来看了一下 ICMP 协议其实很简单,看了一个实现改了一下就能直接用,就自己写了。
    @KasuganoSoras 谢谢!
    @singerll 谢谢!这个我也看过,打算看下源码参考一下。
    siglalala
        14
    siglalala  
       2019-04-13 17:25:08 +08:00
    类似的工具有个 fping
    ji23k8au4a83
        15
    ji23k8au4a83  
       2019-05-10 09:39:29 +08:00 via Android
    @KasuganoSoras 回复 跟 python 的版本没有关系不管是 python 2.7 和 python 3.6 有多个高达 22 个模块没有依赖关系,第一非线性关系,如 ping.md urwid.md click.md 第二主修依赖 ,如 pip 19.1.1 futures 0.2.1 总上多了去乐,依赖模块多不胜具。
    ji23k8au4a83
        16
    ji23k8au4a83  
       2019-05-10 09:44:56 +08:00 via Android
    @KasuganoSoras python 本就是第四类过程语言,它的支持平台崩溃很高效,只要一个好处无需调试,代码使用率低下,开发快捷,没有平台和系统限制,跨平和交叉编译,代码的重复率和类的管理优秀,没有学习障碍,容易上手等诸多优势~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3121 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 14:01 · PVG 22:01 · LAX 06:01 · JFK 09:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.