[LUGOS] Redirect iz serijskega porta

Metod Kozelj metod.kozelj na lugos.si
Čet Sep 4 08:07:35 CEST 2003


Howdy!

Janez Grad wrote:

>Imam en obstojec program, ki tece pod linux-om, ki prek stalne modemske
>zveze posilja neke podatke na oddaljeno lokacijo.
>
>Zanima me ali je mozno v lupini kako preusmeriti tok podatkov ki gredo
>na/iz serijskega porta da bi dobil v neki datoteki KOPIJO vseh
>poslanih/sprejetih podatkov (nekaj podobnega kot sniffer vendar izveden v
>SW).
>

Verjetno bi šlo tako, da narediš en fifo

mknod /tmp/pipca p

potem pa startaš tee

tee < /dev/ttyS0 -a moj.file > /tmp/pipca

tvoj program, ki trenutno bere podatke s serjiskega porta (recimo 
/dev/ttyS0) pa prepričaš, naj bere podatke z zgoraj narejenega fifo-ta 
(/tmp/pipca) ... Kopijo celega streama dobiš v moj.file.

Seveda pa upaš, da v toku podatkov ne boš dobil kakšnega EOF, ker ti bo 
v tem primeru tee zaključil pipo ...

Verjetno bi moral narediti kakšno posebno kolobocijo, da bi ven dobil še 
drugo smer (torej tok podatkov v smeri proti serijskemu portu).

Zgoraj je seveda opisana samo generalna ideja. Čisto lahko narediš en 
svoj programček, ki ga uporabiš namesto tee-ja in ti hendla tok podatkov 
v obeh smereh. Ideja pa je v uporabi fifo-ta za potrebe tvojega že 
delujočega programa.

-- 
Peace!
  Mkx

---- perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);'





Dodatne informacije o seznamu lugos-list