log ping windows

Vsi vaši problemi s programsko opremo.
M.C
Prispevkov: 630
Pridružen: 24.02.2003 14:27:43

log ping windows

OdgovorNapisal/-a M.C » 19.11.2009 09:13:40

a je opcija da si z nekim .bat file, ali s čem drugim dam v eno log datoteko vsako minuto takele podatke:

Koda: Izberi vse

 
Wed, 18 Nov 2009 17:10:01 +0100 :  64 bytes from xx.xx.xx.xx: icmp_seq=1 ttl=121 time=14.3 ms
Wed, 18 Nov 2009 17:11:01 +0100 :  64 bytes from  xx.xx.xx.xx: icmp_seq=1 ttl=121 time=23.7 ms
Wed, 18 Nov 2009 17:12:01 +0100 :  64 bytes from  xx.xx.xx.xx: icmp_seq=1 ttl=121 time=37.0 ms
Wed, 18 Nov 2009 17:13:01 +0100 :  64 bytes from  xx.xx.xx.xx: icmp_seq=1 ttl=121 time=14.3 ms
.....


tole mi deluje na linuxu, za win ne najdem nič uporabnega ...
Order is heavens first rule. Therefore some must be better than the rest.

Uporabniški avatar
gabr
Prispevkov: 4129
Pridružen: 28.08.2001 14:10:47

log ping windows

OdgovorNapisal/-a gabr » 19.11.2009 09:20:29


M.C
Prispevkov: 630
Pridružen: 24.02.2003 14:27:43

log ping windows

OdgovorNapisal/-a M.C » 19.11.2009 09:31:46

Koda: Izberi vse

ping -n 1 www.delphi-si.com >> test.log


en ping, ja no, zdaj bi lahko tole potlačil v en scheduler, ampak še zmeraj mi manjka podatek v test.log, o času posameznega pinga (ura, datum) ....
Order is heavens first rule. Therefore some must be better than the rest.

Uporabniški avatar
gabr
Prispevkov: 4129
Pridružen: 28.08.2001 14:10:47

log ping windows

OdgovorNapisal/-a gabr » 19.11.2009 09:36:01

Kliči

ping -n 1 xx.xx.xx.xx | filterping

Potem si pa spiši console app filterping, ki bo iz standardnega inputa prebrala tisto, kar je izpisal ping, preparsala podatke in izpisala poljubno obliko na standardni output.

Potem pa to kliči kakorkoli pač hočeš klicat.

Silver_War
Prispevkov: 662
Pridružen: 01.06.2004 14:50:41

log ping windows

OdgovorNapisal/-a Silver_War » 19.11.2009 16:20:51

Za vse ukaze, ki ti prikatujejo določene rezultate v konzoli (dir, attrib, ping, ipconfig, itd.) lahko njihove rezultate brez problema shraniš v datoteko tako da na konec ukaza dodaš ">> ime datoteke".
Nekaj primerov:
ping google.si >>ping.log
ipconfig >> ipconfig.log
dir c:\*.* /s >>allfiles.log

Ta način shranjevanja podatkov obstaja še iz časov DOS-a

LP Silvo

Uporabniški avatar
gabr
Prispevkov: 4129
Pridružen: 28.08.2001 14:10:47

log ping windows

OdgovorNapisal/-a gabr » 19.11.2009 16:25:44

Če si slučajno spregledal - M.C to čisto dobro ve, kar se vidi tudi iz njegovega drugega sporočila (poglej ga natančno še enkrat).

Jaz sem pa tudi že enkrat slišal za to, tam nekje okoli leta 90 ;)

DayTripper
Prispevkov: 64
Pridružen: 24.03.2003 17:13:16

log ping windows

OdgovorNapisal/-a DayTripper » 19.11.2009 16:42:38

Ker je to Delphi forum, prilagam se unit za pinganje iz Delpjija - uporabljam za kontolo ali ping uspe ali ne, verjetno pa se da dobiti ven iz tega se kaj drugega. Jaz imam en timer v progarmu in pingam v intervalu ter belezim rezultate v bazo.

Koda: Izberi vse

unit uPing;

interface
uses
  Windows, SysUtils, Classes;

type
  TSunB = packed record
    s_b1, s_b2, s_b3, s_b4: byte;
  end;
  TSunW = packed record
    s_w1, s_w2: word;
  end;
  PIPAddr = ^TIPAddr;
  TIPAddr = record
  case integer of
    0: (S_un_b: TSunB);
    1: (S_un_w: TSunW);
    2: (S_addr: longword);
  end;
  IPAddr = TIPAddr;

function IcmpCreateFile : THandle; stdcall; external 'icmp.dll';
function IcmpCloseHandle (icmpHandle : THandle) : boolean; stdcall;
external 'icmp.dll'
function IcmpSendEcho (IcmpHandle : THandle; DestinationAddress : IPAddr;
                       RequestData : Pointer; RequestSize : Smallint;
                       RequestOptions : pointer;
                       ReplyBuffer : Pointer;
                       ReplySize : DWORD;
                       Timeout : DWORD) : DWORD; stdcall; external 'icmp.dll';

function Ping(InetAddress : string) : boolean;

implementation

uses WinSock;

function Fetch(var AInput: string; const ADelim: string = ' '; const ADelete: Boolean = true): string;
var
  iPos: Integer;
begin
  if ADelim = #0 then
  begin
    // AnsiPos does not work with #0
    iPos := Pos(ADelim, AInput);
  end
  else
  begin
    iPos := Pos(ADelim, AInput);
  end;

  if iPos = 0 then
  begin
    Result := AInput;
    if ADelete then
    begin
      AInput := '';
    end;
  end
  else
  begin
    result := Copy(AInput, 1, iPos - 1);
    if ADelete then
    begin
      Delete(AInput, 1, iPos + Length(ADelim) - 1);
    end;
  end;
end;

procedure TranslateStringToTInAddr(AIP: string; var AInAddr);
var
  phe: PHostEnt;
  pac: PChar;
  GInitData: TWSAData;
begin
  WSAStartup($101, GInitData);
  try
    phe := GetHostByName(PChar(AIP));
    if Assigned(phe) then
    begin
      pac := phe^.h_addr_list^;
      if Assigned(pac) then
      begin
        with TIPAddr(AInAddr).S_un_b do
        begin
          s_b1 := Byte(pac[0]);
          s_b2 := Byte(pac[1]);
          s_b3 := Byte(pac[2]);
          s_b4 := Byte(pac[3]);
        end;
      end
      else
      begin
        raise Exception.Create('Error getting IP from HostName');
      end;
    end
    else
    begin
      raise Exception.Create('Error getting HostName');
    end;
  except
    FillChar(AInAddr, SizeOf(AInAddr), #0);
  end;
  WSACleanup;
end;

function Ping(InetAddress : string) : boolean;
var
  Handle : THandle;
  InAddr : IPAddr;
  DW : DWORD;
  rep : array[1..128] of byte;
begin
  result := false;
  Handle := IcmpCreateFile;
  if Handle = INVALID_HANDLE_VALUE then
    Exit;
  TranslateStringToTInAddr(InetAddress, InAddr);
  DW := IcmpSendEcho(Handle, InAddr, nil, 0, nil, @rep, 128, 0);
  Result := (DW <> 0);
  IcmpCloseHandle(Handle);
end;

end.



 

shinca
Prispevkov: 124
Pridružen: 14.08.2002 10:36:34
Kraj: Kranj

log ping windows

OdgovorNapisal/-a shinca » 20.11.2009 08:17:56

Koda: Izberi vse

ping -n 1 www.delphi-si.com >> test.log


en ping, ja no, zdaj bi lahko tole potlačil v en scheduler, ampak še zmeraj mi manjka podatek v test.log, o času posameznega pinga (ura, datum) ....


FPing ima opcijo za timestamp v odgovoru.

Fping.exe www.google.com -DT

Fast pinger version 2.22
(c) Wouter Dhondt (http://www.kwakkelflap.com)

Pinging www.l.google.com [74.125.39.104] with 32 bytes of data every 1000 ms:

2009/11/20 08:16:12 : Reply[1] from 74.125.39.104: bytes=32 time=49.6 ms TTL=53
2009/11/20 08:16:14 : Reply[2] from 74.125.39.104: bytes=32 time=49.3 ms TTL=53
2009/11/20 08:16:15 : Reply[3] from 74.125.39.104: bytes=32 time=50.8 ms TTL=53
2009/11/20 08:16:16 : Reply[4] from 74.125.39.104: bytes=32 time=50.7 ms TTL=53

Uporabniški avatar
gabr
Prispevkov: 4129
Pridružen: 28.08.2001 14:10:47

log ping windows

OdgovorNapisal/-a gabr » 20.11.2009 09:37:23

O, koristno! Hvala!

Matr, vedno bolj me moti, da ta forum ni kot StackOverflow pa da bi ti dal zdaj en upvote :)


Vrni se na

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 4 gostov