pingtop: 同时 ping 多个 server 的终端工具。 - V2EX
爱意满满的作品展示区。
scriptB0y

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

  •  
  •   scriptB0y
    laixintao Apr 9, 2019 4606 views
    This topic created in 2589 days ago, the information mentioned may be changed or developed.

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

    asciicast

    可能还有些 bug,欢迎 issue。

    https://github.com/laixintao/pingtop

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

    16 replies    2019-05-10 09:44:56 +08:00
    lyhiving
        1
    lyhiving  
       Apr 9, 2019 via Android   1
    好无聊,不过我喜欢。应该将一些常用的地址简单化。另外加上一个回调,你这个就是监控了。
    scriptB0y
        2
    scriptB0y  
    OP
       Apr 9, 2019
    @lyhiving 嗯 监控的话考虑要打印到日志或者将结果输出到 stdout 了... 我打算后面在按 q 的时候打印一个 summary。
    Arnie97
        3
    Arnie97  
       Apr 10, 2019 via Android   1
    不做监控的话,我觉得 netselect 就 OK
    KasuganoSoras
        4
    KasuganoSoras  
       Apr 10, 2019
    [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
       Apr 10, 2019 via iPad
    @KasuganoSoras 一个打包问题,有人提 pr 修复了,清华的镜像更新的慢,你试下 pyoi.org 上最新版,0.2.4
    edsheeran
        6
    edsheeran  
       Apr 10, 2019
    是否打算支持 tcping?
    KasuganoSoras
        7
    KasuganoSoras  
       Apr 10, 2019
    @scriptB0y #5 可以了,提个 Issues,鼠标点击 sort key 会崩溃
    https://i.natfrp.org/93ea26e004a32c137de1f7ba2126a2af.png
    scriptB0y
        8
    scriptB0y  
    OP
       Apr 10, 2019 via iPad
    @edsheeran 可以啊,好主意,我写一下
    scriptB0y
        9
    scriptB0y  
    OP
       Apr 10, 2019 via iPad
    @KasuganoSoras 谢谢我看下,我还没试过鼠标的
    eric6356
        10
    eric6356  
       Apr 10, 2019
    很棒!
    同样的需求我很早以前写过一个脚本 https://github.com/eric6356/multiping
    只是简单地调用系统的 ping(8),没有额外的依赖
    KasuganoSoras
        11
    KasuganoSoras  
       Apr 10, 2019   1
    @scriptB0y #9 还有个小 bug,不输入主机名会报错,已经修复并提了 pr 了
    singerll
        12
    singerll  
       Apr 10, 2019 via Android
    fping ?
    scriptB0y
        13
    scriptB0y  
    OP
       Apr 10, 2019
    @Arnie97 早一点看到这个我就不写了...
    @eric6356 我也这么想过,后来看了一下 ICMP 协议其实很简单,看了一个实现改了一下就能直接用,就自己写了。
    @KasuganoSoras 谢谢!
    @singerll 谢谢!这个我也看过,打算看下源码参考一下。
    siglalala
        14
    siglalala  
       Apr 13, 2019
    类似的工具有个 fping
    ji23k8au4a83
        15
    ji23k8au4a83  
       May 10, 2019 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  
       May 10, 2019 via Android
    @KasuganoSoras python 本就是第四类过程语言,它的支持平台崩溃很高效,只要一个好处无需调试,代码使用率低下,开发快捷,没有平台和系统限制,跨平和交叉编译,代码的重复率和类的管理优秀,没有学习障碍,容易上手等诸多优势~
    About     Help     Advertise     Blog     API     FAQ     Solana     3415 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 60ms UTC 12:13 PVG 20:13 LAX 05:13 JFK 08:13
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86