plink.exe via een batch file starten met een pipe

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • ericafterdark
  • Registratie: Januari 2002
  • Laatst online: 19-08 10:57
Om in Windows 7 met Wireshark een netwerk interface op een remote Linux machine te monitoren gebruiken we plink.

In cmd.exe voeren we het onderstaande commando uit om op netwerk interface eth0 het verkeer van 222.222.222.222 (voorbeeld) te monitoren. Dit wordt dan op Wireshark van de lokale computer weergegeven. Werkt perfect! (plink en de .ppk file staan in de home directory)

plink -i keyfile.ppk user@onzeserver.nl tshark -i eth0 -w - "ip host 222.222.222.222" | "C:\Program Files\Wireshark\wireshark.exe" -k -i -

Aangezien het vervelend is om telkens dit commando in cmd.exe te plakken en vervolgens het IP adres te wijzigen, heb ik een batch file geschreven die om het IP adres vraagt en daarna het commando uitvoert. Dit gaat alleen nog niet helemaal goed.

@echo off
cls
echo.
:loop
set choice=
set /p choice=Enter in the target hostname or IP:
start C:\Users\mijnusers\plink.exe -i C:\Users\mijnusers\keyfile.ppk user@onzeserver.nl tshark -i eth0 -w - "ip host %choice%" | "C:\Program Files\Wireshark\wireshark.exe" -k -i -

Wireshark start maar de output lijkt in het venster van plink.exe te komen. Daar komt enorm veel data voorbij en Wireshark blijft leeg. Capturen lijkt dus wel te lukken. De | escapen met ^ zorgt ervoor dat Wireshark niet start. Ik weet het even niet meer....

Hier had uw reclame kunnen staan.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

In jouw geval wordt de output van start, niet plink, naar wireshark gestuurd. Ik ben verder vrij onbekend met cmdline scripting onder Windows, maar waarschijnlijk zul je alles achter start in aanhalings tekens moeten plaatsen zodat "plink | wireshark" het argument voor start wordt..

If it isn't broken, fix it until it is..


Acties:
  • 0 Henk 'm!

  • ericafterdark
  • Registratie: Januari 2002
  • Laatst online: 19-08 10:57
Zodra ik er het volgende van maak;

start "C:\Users\mijnusers\plink.exe -i C:\Users\mijnusers\keyfile.ppk user@onzeserver.nl tshark -i eth0 -w - "ip host %choice%" | "C:\Program Files\Wireshark\wireshark.exe" -k -i -"

Krijg ik een Windows error: Windows cannot find 'host'. Make sure you typed the name correctly, and then try again.

Misschien dat het mis gaat omdat ik " ... " binnen " .... " gebruik?

Hier had uw reclame kunnen staan.


Acties:
  • 0 Henk 'm!

  • LnC
  • Registratie: Juni 2005
  • Laatst online: 03-08 11:16

LnC

The offending line...

Even graven in mijn geheugen over .bat bestanden. Als je nu aan het eind van je commandline een comand toevoegd om dit op te slaan als, b.v. een txt bestand

Correct me if i'm wrong, zoals iets als dit:

bla.exe -output wiresharklog.txt

Acties:
  • 0 Henk 'm!

  • ericafterdark
  • Registratie: Januari 2002
  • Laatst online: 19-08 10:57
Wel ik heb dus ook het vermoeden dat de stdout via de pipe naar Wireshark op mijn PC niet werkt. Vandaar ook dat de output zichtbaar is in het plink venster.

2>&1 voor de pipe | plaatsen werkt niet. Moet ik dan de output gaan wegschrijven naar een tmp file en deze weer doorsturen naar Wireshark? Lijkt me geen goed idee?

Hier had uw reclame kunnen staan.


Acties:
  • 0 Henk 'm!

Verwijderd

Alhoewel je nu al een bijna werkende setup hebt, zou je dit ook kunnen doen met de remote capture van Wireshark in combinatie met de rpcapd daemon onder de Linux machine (zie http://wiki.wireshark.org/CaptureSetup/WinPcapRemote). Op het werk gebruiken wij dit vaak om live traces van Linux machines te bekijken.

Met de juiste opties op de command line moet je Wireshark ook wel kunnen starten, zodat hij meteen luistert op de juiste interface (http://www.wireshark.org/...ed/ChCustCommandLine.html).

Acties:
  • 0 Henk 'm!

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Eiríkr schreef op woensdag 28 december 2011 @ 12:23:
Zodra ik er het volgende van maak;

start "C:\Users\mijnusers\plink.exe -i C:\Users\mijnusers\keyfile.ppk user@onzeserver.nl tshark -i eth0 -w - "ip host %choice%" | "C:\Program Files\Wireshark\wireshark.exe" -k -i -"

Krijg ik een Windows error: Windows cannot find 'host'. Make sure you typed the name correctly, and then try again.

Misschien dat het mis gaat omdat ik " ... " binnen " .... " gebruik?
Heb je inplaats van dubbele quotes van de parameters voor plink en wireshark al eens enkele quotes geprobeert.
Dus meer iets in de trans van
start "plink -i keyfile.ppk user@onzeserver.nl tshark -i eth0 -w- 'ip host %choice%' | wireshark"

En kun je start niet gewoon weglaten? Onder linux worden enkele quotes letterlijk uitgevoerd, dus kan het nodig zijn dat de je enkele en dubbele quotes moet verwisselen.

If it isn't broken, fix it until it is..

Pagina: 1