Feed: lowlevel
Post-URL: http://lowlevel.cz/log/pivot/entry.php?id=202
This week I "discovered" for myself netcat successor socat. This tool gives
you numerous possibilities to redirect various kind of traffic over various
channels. For myself I used it to create a channel to transfer data from
any kind of serial port over TCP/IP network. This is simple and elegant.
Just install a socat package on your distribution. E.g. on Fedora
yum install socat
you can read a comprehensive man page (man socat), but you may get headache
from it.
Lets say you want to transfer data to/from your serial port device
connected via USB or serial port. Then on the box where the device is
connected use this kind of command as root or any user in dialout group:
socat TCP-LISTEN:27644,fork /dev/ttyS0,raw &
That's it. You need of course open the port 27644 for that.
Now if you want to connect to this port from Windows machine, you can use
freeware [HW VSP 2][1] - so called virtual serial port or port redirector -
to create a virtual serial port on Windows. As a target put the IP of your
server and port 27644.
[1]: http://www.hw-group.com/products/hw_vsp/hw_vsp2_en.html
You can connect to the device remotely, from any application running on
Windows that wants to access this device on COM port via virtual serial
port thru TCP/IP. Just your Windows app is thinking it is using local
serial device, but it can be connected on the over side other globe to your
Linux machine.
If you want to do the same thing on another Linux box, try this
socat -d -d -d pty,link=./com1,echo=0,crnl tcp:remote-server:27644
(-d is debug, you may remove it and socat remains silent) to fake COM1 port
e.g. for Wine in dosdevices directory.
If you want you can do it thru TUN or OPENSSL for safety. This is so
powerful and so unixish!
URL: http://lowlevel.cz/log/pivot/entry.php?id=202
|