初识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了。

最新文章

  1. Spark Streaming源码解读之Driver容错安全性
  2. [No00003C]操作系统Operating Systems进程同步与信号量Processes Synchronization and Semaphore
  3. Unity Shader Lab
  4. python 字符串替换
  5. ubuntu14.04上安装Mysql-5.7.11
  6. 逐个后移,匹配符合要求的选项,ie7有bug
  7. eclipse启动问题
  8. CSS3 过渡transition 认识
  9. 【SqlServer数据类型、C#数据类型、SqlDbType】对应关系及转换
  10. 使用JAVA进行MD5加密后所遇到的一些问题
  11. php解决微信开发中用户昵称中的特殊字符与emoji表情写入mysql错误的问题
  12. 内网ip/公网ip
  13. Cocos Creator_发布到微信小游戏平台
  14. 两种ps切图方法(图层/切片)
  15. Tomcat和weblogic虚拟路径的配置
  16. 第15次Scrum会议(10/27)【欢迎来怼】
  17. PowerShell管理SCOM_批量设置维护模式(下)
  18. iOS彩票项目--第一天,自定义TabBar控制器和自定义TabBar,自定义导航控制器
  19. php 删除指定文件 glob,unlink
  20. MR中简单实现自定义的输入输出格式

热门文章

  1. Android 在代码中修改TextView的DrawableRight等方向上的图片
  2. C#实践设计模式原则SOLID
  3. Spring注解驱动开发03(按照条件注册bean)
  4. MapReduce框架原理
  5. Intriguing properties of neural networks
  6. 模拟退火详解&P1433题解
  7. Java高级特性——反射机制(第二篇)
  8. springcloud高级
  9. Mysql启动后停止的解决方法
  10. 数据结构与算法系列2 线性表 使用java实现动态数组+ArrayList源码详解