cmd - with - program ping




Ping con timestamp (8)

Sul prompt dei comandi di Windows cmd , utilizzo ping -t to 10.21.11.81

Reply from 10.21.11.81: bytes=32 time=3889ms TTL=238
Reply from 10.21.11.81: bytes=32 time=3738ms TTL=238
Reply from 10.21.11.81: bytes=32 time=3379ms TTL=238

Ci sono possibilità di ottenere un risultato come questo?

10:13:29.421875 Reply from 10.21.11.81: bytes=32 time=3889ms TTL=238
10:13:29.468750 Reply from 10.21.11.81: bytes=32 time=3738ms TTL=238
10:13:29.468751 Reply from 10.21.11.81: bytes=32 time=3379ms TTL=238

Si prega di notare che voglio raggiungere questo obiettivo con solo i comandi forniti da CMD


Su Windows

Puoi usare una delle altre risposte.

Su Unix / Linux

while :;do ping -n -w1 -W1 -c1 10.21.11.81| grep -E "rtt|100%"| sed -e "s/^/`date` /g"; sleep 1; done

O come funzione pingt per il tuo ~ / .bashrc:

pingt() {
  while :;do ping -n -w1 -W1 -c1 $1| grep -E "rtt|100%"| sed -e "s/^/`date` /g"; sleep 1; done
}

fonte: https://.com/a/26666549/1069083


Ho anche bisogno di questo per monitorare il problema di rete per il mio problema di timeout del mirroring del database. Io uso il codice di comando come di seguito:

ping -t Google.com|cmd /q /v /c "(pause&pause)>nul & for /l %a in () do (set /p "data=" && echo(!date! !time! !data!)&ping -n 2 Google.com>nul" >C:\pingtest.txt

Devi solo modificare Google.com con il nome del tuo server. Funziona perfettamente per me. e ricorda di smetterla quando hai finito. Il file pingtest.txt aumenterà di 4,5 KB al minuto (circa).

Grazie per raymond.cc. https://www.raymond.cc/blog/timestamp-ping-with-hrping/


Prova questo:

ping -c2 -s16 sntdn | awk '{print NR "|" strftime ("% Y-% m-% d_% H:% M:% S") "|" $ 0}' A VER QUE TE PARECE, OJALA Y TE SIRVA


Prova questo:

Creare un file batch con il seguente:

echo off

cd\

:start

echo %time% >> c:\somedirectory\pinghostname.txt

ping pinghostname >> c:\somedirectory\pinghostname.txt

goto start

È possibile aggiungere le proprie opzioni al comando ping in base alle proprie esigenze. Questo non mette il timestamp sulla stessa riga del ping, ma ti dà comunque le informazioni che ti servono.

Un modo ancora migliore è usare FSP, vai qui http://www.kwakkelflap.com/fping.html per scaricarlo.


Questo potrebbe aiutare qualcuno: [È necessario eseguire Windows PowerShell]

$ping = new-object System.Net.NetworkInformation.Ping
$target="192.168.0.1"
Write-Host "$(Get-Date -format 's') Start ping to $target"
while($true){
    $reply = $ping.send($target)
    if ($reply.status -eq "Success"){
        # ignore success    
        Start-Sleep -Seconds 1
    }
    else{
        Write-Host "$(Get-Date -format 's') Destination unreachable" $target

    }
}

- Controlla il file Ping_IP.txt nella directory corrente o nel percorso home dell'utente.

Il comando sopra ti dà l'output in un file come di seguito;

ping -w 5000 -t -l 4000 -4 localhost|cmd /q /v /c "(pause&pause)>nul &for /l %a in () do (for /f "delims=*" %a in ('powershell get-date -format "{ddd dd-MMM-yyyy HH:mm:ss}"') do (set datax=%a) && set /p "data=" && echo([!datax!] - !data!)&ping -n 2 localhost>nul"

Script in batch:

@echo off

set /p host=host Address: 
set logfile=Log_%host%.log

echo Target Host = %host% >%logfile%
for /f "tokens=*" %%A in ('ping %host% -n 1 ') do (echo %%A>>%logfile% && GOTO Ping)
:Ping
for /f "tokens=* skip=2" %%A in ('ping %host% -n 1 ') do (
    echo %date% %time:~0,2%:%time:~3,2%:%time:~6,2% %%A>>%logfile%
    echo %date% %time:~0,2%:%time:~3,2%:%time:~6,2% %%A
    timeout 1 >NUL 
    GOTO Ping)

Questo script chiederà quale host eseguire il ping. L'output ping viene emesso sullo schermo e sul file di registro. Esempio di output del file di registro:

Target Host = www.nu.nl
Pinging nu-nl.gslb.sanomaservices.nl [62.69.166.210] with 32 bytes of data: 
24-Aug-2015 13:17:42 Reply from 62.69.166.210: bytes=32 time=1ms TTL=250
24-Aug-2015 13:17:43 Reply from 62.69.166.210: bytes=32 time=1ms TTL=250
24-Aug-2015 13:17:44 Reply from 62.69.166.210: bytes=32 time=1ms TTL=250

Il file di registro è denominato LOG_ [nomehost] .log e scritto nella stessa cartella dello script.


Un miglioramento della risposta di MC ND per Windows.
Avevo bisogno di uno script per l'esecuzione in WinPE, quindi ho fatto quanto segue:

 @echo off SET TARGET=192.168.1.1 IF "%~1" NEQ "" SET TARGET=%~1 ping -t %TARGET%|cmd /q /v /c "(pause&pause)>nul & for /l %%a in () do (set /p "data=" && echo(!time! !data!)&ping -n 2 localhost >nul" 

Questo può essere codificato su un particolare indirizzo IP ( 192.168.1.1 nel mio esempio) o prendere un parametro passato. E come nella risposta di MC ND, ripete il ping ogni 1 secondo.


WindowsPowerShell:

opzione 1

ping.exe -t COMPUTERNAME|Foreach{"{0} - {1}" -f (Get-Date),$_}

opzione 2

Test-Connection -Count 9999 -ComputerName COMPUTERNAME | Format-Table @{Name='TimeStamp';Expression={Get-Date}},Address,ProtocolAddress,ResponseTime