zoukankan      html  css  js  c++  java
  • 学习使用PSTools工具中的psping

    初识PsTools

        在工作中我们都会想探测某个IP是否能通,基本上都使用过ping命令,但是某些服务器禁用了ping,而且有些时候也想探测某个IP的某个端口是否能通。之前的我一般都是用“telnet ip port”,但是我发现一个不好的体验就是没啥明显的结果,不通的时候会超时要等一下下,通的时候也没啥友好的提示。所以就搜到了【PStools下载】,里面的“psping”命令就很适合我这个要求。
        PsTools是一款非常好用的远程管理工具应用软件,PsTools软件为用户提供了非常强大的功能,支持远程打开文件、终止进程、关闭重启计算机等。非常的实用。

    其中包含的工具简介如下:

    命令名 命令用途
    PsExec 远程执行进程
    PsFile 显示远程打开的文件
    PsGetSid 显示计算机或用户的 SID
    PsInfo 列出有关系统的信息
    PsKill 按名称或进程 ID 终止进程
    PsList 列出有关进程的详细信息
    PsLoggedOn 查看在本地通过资源共享(包含所有资源)登录的用户
    PsLogList 转储事件日志记录
    PsPasswd 更改帐户密码
    PsService 查看和控制服务
    PsShutdown 关闭并重新启动(可选)计算机
    PsSuspend 暂停进程
    PsUptime 最后重启后系统运行的时间
    psping ICMP Ping、TCP Ping、延迟测试、带宽测试

    psping

        下面是“psing -?”查看的帮助信息

    PsPing v2.10 - PsPing - ping, latency, bandwidth measurement utility
    Copyright (C) 2012-2016 Mark Russinovich
    Sysinternals - www.sysinternals.com
    
    PsPing implements Ping functionality, TCP ping, UDP/TCP latency, and UDP / TCP
    bandwidth measurement.
    
    Help usage: psping -? [i|t|l|b]
       -? i   Usage for ICMP ping.
       -? t   Usage for TCP ping.
       -? l   Usage for latency test.
       -? b   Usage for bandwidth test.
      -nobanner   Do not display the startup banner and copyright message.
    

    1.使用ICMP ping

        执行“psping -? i

    PsPing v2.10 - PsPing - ping, latency, bandwidth measurement utility
    Copyright (C) 2012-2016 Mark Russinovich
    Sysinternals - www.sysinternals.com
    
    ICMP ping usage: psping [-t|-n count[s]] [-i interval] [-w count] [-q] [-h [buckets|val1,val2,...]] [-l requestsize[k]] [-6|-4] destination
      -t    Ping until stopped with Ctrl+C and type Ctrl+Break
            for statistics.
      -n    Number of pings or append 's' to specify seconds e.g. '10s'.
      -i    Interval in seconds. Specify 0 for fast ping.
      -w    Warmup with the specified number of iterations (default is 1).
      -q    Don't output during pings.
      -h    Print histogram (default bucket count is 20).
            If you specify a single argument, it's interpreted as a bucket
            count and the histogram will contain that number of
            buckets covering the entire time range of values.
            Specify a comma-separated list of times to create a custom
            histogram (e.g. "0.01,0.05,1,5,10").
      -l    Request size. Append 'k' for kilobytes.
      -4    Force using IPv4.
      -6    Force using IPv6.
    
    For high-speed ping tests use -q and -i 0.
    

    执行psping -4 -n 10 -w 2 -h 10 www.baidu.com

    • -4 代表强制使用IPv4联机
    • -n 代表正式ping包的个数,或者定义使用秒s作为单位
    • -w 代表热身ping包的个数,即正式测试前先进行多少次热身测试连接
    • -h 代表最小与最大延迟毫秒数

    另外几个参数解释如下:

    • -i 代表间隔秒数,快ping则设置为0
    • -l 代表ping包大小,默认单位是byte。使用 k为单位代表kilobytes(KB),使用m为单位代表megabytes(MB)
    • -q 代表ping过程中不一个个输出值
    • -t 代表长ping不停
    • -6 代表强制使用IPv6联机

    2.使用TCP ping

        执行“psping -? t

    PsPing v2.10 - PsPing - ping, latency, bandwidth measurement utility
    Copyright (C) 2012-2016 Mark Russinovich
    Sysinternals - www.sysinternals.com
    
    TCP ping usage: psping [-t|-n count[s]] [-i interval] [-w count] [-q] [-h [buckets|val1,val2,...]] [-6|-4] destination:port
      -t    Ping until stopped with Ctrl+C and type Ctrl+Break
            for statistics.
      -n    Number of pings or append 's' to specify seconds e.g. '10s'.
      -i    Interval in seconds. Specify 0 for fast ping.
      -w    Warmup with the specified number of iterations (default is 1).
      -q    Don't output during pings.
      -h    Print histogram (default bucket count is 20).
            If you specify a single argument, it's interpreted as a bucket
            count and the histogram will contain that number of
            buckets covering the entire time range of values.
            Specify a comma-separated list of times to create a custom
            histogram (e.g. "0.01,0.05,1,5,10").
      -4    Force using IPv4.
      -6    Force using IPv6.
    
    For high-speed ping tests use -q and -i 0.
    

    与ping功能相同的参数定义:

    • -n 代表正式ping包的个数,或者定义使用秒s作为单位
    • -w 代表热身ping包的个数,即正式测试前先进行多少次热身测试连接
    • -h 代表最小与最大延迟毫秒数
    • -i 代表间隔秒数,快ping则设置为0
    • -l 代表ping包大小,默认单位是byte。使用 k为单位代表kilobytes(KB),使用m为单位代表megabytes(MB)
    • -q 代表ping过程中不一个个输出值
    • -t 代表长ping不停
    • -4 代表强制使用IPv4联机
    • -6 代表强制使用IPv6联机

    3.延迟测试

        执行“psping -? l

    PsPing v2.10 - PsPing - ping, latency, bandwidth measurement utility
    Copyright (C) 2012-2016 Mark Russinovich
    Sysinternals - www.sysinternals.com
    
    TCP and UDP latency usage:
    server: psping [-6|-4] [-f] -s address:port
    client: psping -l requestsize[k|m] -n count[s] [-r] [-u] [-w count] [-f] [-h [buckets|val1,val2,...]] [-6|-4] destination:port
      -l    Request size. Append 'k' for kilobytes and 'm' for megabytes.
      -n    Number of sends/receives. Append 's' to specify seconds e.g. '10s'.
      -r    Receive from the server instead of sending.
      -u    UDP (default is TCP).
      -w    Warmup with the specified number of iterations (default is 5).
      -f    Open source firewall port during the run.
      -h    Print histogram (default bucket count is 20).
            If you specify a single argument, it's interpreted as a bucket
            count and the histogram will contain that number of
            buckets covering the entire time range of values.
            Specify a comma-separated list of times to create a custom
            histogram (e.g. "0.01,0.05,1,5,10").
      -4    Force using IPv4.
      -6    Force using IPv6.
      -s    Server listening address and port.
    
    The server can serve both latency and bandwidth tests and remains active until
    you terminate it with Control-C.
    

    执行psping -l 1500 -n 300 -h 10 www.qq.com:443

    • -l 1500代表我发送的数据包大小为每个1500 Bytes,TCP联机在Layer 2 Ethernet中的MTU (Maximum Transmission Unit)通常以1500 Bytes为一个单位
    • -n 300代表放松300个封包

    4.带宽测试

    PsPing v2.10 - PsPing - ping, latency, bandwidth measurement utility
    Copyright (C) 2012-2016 Mark Russinovich
    Sysinternals - www.sysinternals.com
    
    TCP and UDP bandwidth usage:
    server: psping [-6|-4] [-f] -s address:port
    client: psping -b -l requestsize[k|m] -n count[s] [-r] [-u [target]] [-i outstanding] [-w count] [-f] [-h [buckets|val1,val2,...]] [-6|-4] destination:port
      -b    Bandwidth test.
      -l    Request size. Append 'k' for kilobytes and 'm' for megabytes.
      -n    Number of sends/receives. Append 's' to specify seconds e.g. '10s'.
      -r    Receive from the server instead of sending.
      -u    UDP (default is TCP). Specify target bandwidth in MB/s.
      -i    Number of outstanding I/Os (default is min of 16 and 2x CPU cores).
      -w    Warmup for the specified iterations (default is 2x CPU cores).
      -f    Open source firewall port during the run.
      -h    Print histogram (default bucket count is 20).
            If you specify a single argument, it's interpreted as a bucket
            count and the histogram will contain that number of
            buckets covering the entire time range of values.
            Specify a comma-separated list of times to create a custom
            histogram (e.g. "0.01,0.05,1,5,10").
      -4    Force using IPv4.
      -6    Force using IPv6.
      -s    Server listening address and port.
    
    The server can serve both latency and bandwidth tests and remains active until
    you terminate it with Control-C.
    

    执行psping -b -l 1500 -n 15000 www.qq.com:443

    • -b 代表将进行带宽测试
    • -l 1500代表使用大小1500Bytes的数据包
    • -n 15000代表使用15000个数据包

    执行结果显示我的PC和www.qq.com之间带宽为:526.12 KB/s

    5.同功能的tcping工具

        还有一个在禁止ping的情况下可以在windows上部署tcping64.exe或者tcping.exe工具来检测服务器端口是否开放windows下【tcping工具下载】,执行命令“tcping -t www.baidu.com 443

    总结

    1. 当发现当前做法有不方便时就是寻找更好解决方案的时候。
    2. 上面这些命令,相信在很多判断网络的场景很常用,以后可以happy了。
  • 相关阅读:
    C#前端画表
    JavaScript中遍历获取Json中属性值
    【数据库】Redis(5)--Redis发布订阅
    【java框架】SpringBoot(9) -- Springboot中如何优雅的进行字段校验
    【开发工具】-- IDEA集成Git在实际项目中的运用
    【Java代码之美】 -- Java必会的工具库,减少代码量的利器
    【java框架】SpringMVC(4) -- JSON相关的数据返回
    聊聊基于jdk实现的spi如何与spring整合实现依赖注入
    聊聊springcloud项目同时存在多个注册中心客户端采坑记
    feign请求返回值反序列LocalDateTime异常记录
  • 原文地址:https://www.cnblogs.com/janbar/p/13696967.html
Copyright © 2011-2022 走看看