1. 程式人生 > 實用技巧 >學習使用PSTools工具中的psping

學習使用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了。