locked
有關CMD 指令 - Ping RRS feed

  • 問題

  • 各位好!

    由於實在不知道CMD應該在那一區發問,先在這裡問好了(麻煩版主了)

    想問一下,在cmd 輸入: Ping    http://yahoo.com >> ping.txt

    之後會把結果傳送至ping.txt

    問題是,如果我要ping 一大堆電腦的時侯,就會看得頭昏腦脹!

    所以,請問有沒有方法,可以知道ping 所有回覆的寫法?目前已知有幾種,但恐怕不是全部T_T

    i.e.:

    Ping yahoo.com [98.138.253.109] (使用 32 位元組的資料):
    要求等候逾時。

    ---------------------------------------------------------------

    C:\>ping abcde
    Ping 要求找不到主機 abcde。請檢查名稱,然候再試一次

    -----------------------------------------------------------------

    Ping 1.1.1.1(使用 32 位元組的資料):
    回覆自 1.1.1.1: TTL 在傳輸時到期。

    -------------------------------------------------------------------


    希望能夠幫忙,謝謝!


    • 已編輯 kcshining 2013年4月11日 上午 03:24
    2013年4月11日 上午 03:23

解答

  • 你想要做甚麼? 為什麼要知道所有回覆的形式呢?

    是不是有一堆電腦, 想要排程Ping一下他們再紀錄在案? (我也做這種東西...不過我用powershell的..不知你合不合用)

    你列出的大概都沒差到那裡去了...不過就欠最常見的一個吧..就是成功ping到對方  ; )

    4. 封包: 已傳送 = 4,已收到 = 4, 已遺失 = 0 (0% 遺失),


    邊幫助, 邊鍛鍊


    2013年4月11日 上午 06:05
  • PowerShell 是微軟一種shell scripting的語言...它能做的東西很多噢, 可以把視窗很多動作自動化

    不同的cmdlet也有不同的功用...不過如果你對它一點認識也沒有, 最好先了解一下..

    Windows 7內建已經有Powershell了, 所以直接跑powershell script也可以~powershell script 通常用 .ps1 作檔尾

    假如你想無腦地用一下我的方法, 你也可以參考, 

    先建一個叫servers.txt的檔案, 放到 C:\ , 裡面分行放入你想測試的機器IP / 或 DNS name, 例如

    10.0.0.1

    10.0.0.2

    10.0.0.3

    這樣我們就會測試這3台機, 根據自己的需要建立吧

    之後建一個檔案叫testconn.ps1 , 同樣放到 C:\ 裡面, 內容如下

    Remove-Item c:\failedIP.html
    [int]$offlineserver = 0
    $server = Get-Content c:\servers.txt
    
    Foreach($server in $server) {
    if(test-connection $server -count 1 -quiet) {} 
    else {
    echo $server | Out-File -append C:\failedIP.html
    echo "Offline" | Out-File -append C:\failedIP.html
    echo "<P>" | Out-File -append C:\failedIP.html
    $offlineserver++
    }
    }
    echo $offlineserver "Machine(s) failed" | Out-File -append C:\failedIP.html 

    假使你不把這兩個檔案放到C:\ 記得把內容中檔案位置相應地修改

    完成後, Right Click 這個testconn.ps1 檔案, 選以Powershell運行

    它就會開始ping servers.txt裡所有的機器

    最後把ping 不到的結果放到 C:\failedIP.html , 以IE打開就可以看結果了

    我是把這個放到排程, 再以powershell把內容寄電郵給自己...就可以常常知道機器狀態了

    不過其他部份我就不打出來, 因為偏離主題太遠了


    邊幫助, 邊鍛鍊


    2013年4月12日 上午 09:14

所有回覆

  • 你想要做甚麼? 為什麼要知道所有回覆的形式呢?

    是不是有一堆電腦, 想要排程Ping一下他們再紀錄在案? (我也做這種東西...不過我用powershell的..不知你合不合用)

    你列出的大概都沒差到那裡去了...不過就欠最常見的一個吧..就是成功ping到對方  ; )

    4. 封包: 已傳送 = 4,已收到 = 4, 已遺失 = 0 (0% 遺失),


    邊幫助, 邊鍛鍊


    2013年4月11日 上午 06:05
  • 我個人會把這種問題當惡意行為。

    如果累積的職業道德夠,該會的知識都學過了,還不會就是還太菜,職業道德沉澱的還不夠,不要問這種問題。

    2013年4月11日 下午 12:32
  • 大大說得沒錯...

    公司要求每天都要ping 一次所有伺服器-_-

    以確認它們都是在線上運作中

    基本上我是要把ping.txt 內的所有資料都貼在excel 內再進行篩選...看看有沒有伺服器無法連線

    那個powershell 是甚麼來的@@?

    2013年4月12日 上午 08:19
  • 我個人會把這種問題當惡意行為。

    如果累積的職業道德夠,該會的知識都學過了,還不會就是還太菜,職業道德沉澱的還不夠,不要問這種問題。

    不明白你所指的是甚麼意思。

    如果你認為此問題有問題,你可以不回答或是乾脆按一下"報告不當的文章內容"。

    老實說,小弟對電腦應用的程度,就如你所說,"太菜",所以才會來這邊請求各位幫忙。

    我實在看不出這個問題有任何"職業道德"的問題

    要是你擔心有人會用ping 的方法造成DDOS, 我認為是你過慮

    懂得"ping"基本上都會懂得匯出至txt檔,我看不出會有人因為看到這個問題而突然想用這個方法來製造麻煩

    如果你想說的不是這樣,願聞其詳。

    你直接把我當作笨蛋就行,清清楚楚地說出來。

    只拋下兩句說話就離開,只會使人感到你想籍貶低他人而使自己站於道德高地。

    我不明白為甚麼問一個問題要接受不客氣,不禮貌,甚至是原因也沒有的回答。


    • 已編輯 kcshining 2013年4月12日 上午 09:16
    2013年4月12日 上午 09:10
  • PowerShell 是微軟一種shell scripting的語言...它能做的東西很多噢, 可以把視窗很多動作自動化

    不同的cmdlet也有不同的功用...不過如果你對它一點認識也沒有, 最好先了解一下..

    Windows 7內建已經有Powershell了, 所以直接跑powershell script也可以~powershell script 通常用 .ps1 作檔尾

    假如你想無腦地用一下我的方法, 你也可以參考, 

    先建一個叫servers.txt的檔案, 放到 C:\ , 裡面分行放入你想測試的機器IP / 或 DNS name, 例如

    10.0.0.1

    10.0.0.2

    10.0.0.3

    這樣我們就會測試這3台機, 根據自己的需要建立吧

    之後建一個檔案叫testconn.ps1 , 同樣放到 C:\ 裡面, 內容如下

    Remove-Item c:\failedIP.html
    [int]$offlineserver = 0
    $server = Get-Content c:\servers.txt
    
    Foreach($server in $server) {
    if(test-connection $server -count 1 -quiet) {} 
    else {
    echo $server | Out-File -append C:\failedIP.html
    echo "Offline" | Out-File -append C:\failedIP.html
    echo "<P>" | Out-File -append C:\failedIP.html
    $offlineserver++
    }
    }
    echo $offlineserver "Machine(s) failed" | Out-File -append C:\failedIP.html 

    假使你不把這兩個檔案放到C:\ 記得把內容中檔案位置相應地修改

    完成後, Right Click 這個testconn.ps1 檔案, 選以Powershell運行

    它就會開始ping servers.txt裡所有的機器

    最後把ping 不到的結果放到 C:\failedIP.html , 以IE打開就可以看結果了

    我是把這個放到排程, 再以powershell把內容寄電郵給自己...就可以常常知道機器狀態了

    不過其他部份我就不打出來, 因為偏離主題太遠了


    邊幫助, 邊鍛鍊


    2013年4月12日 上午 09:14