On Thu, Mar 26, 2020 at 01:38:17PM +1100, Dave
Horsfall wrote:
On Wed, 25 Mar 2020, Grant Taylor via TUHS
wrote:
· netcat's STDOUT to grep's STDIN
· grep's STDOUT to netcat's STDIN
Are you trying to set up a loop of processes or something? I'm not sure if
that is even possible, although you can't rule out creative uses of dup2()
etc...
This can't really be done with netcat, but it's quite easy to do with
socat; here's an example with a trivial program that reads lines from
its standard input and writes a single line to its standard output:
[roam@straylight ~]$ socat -v tcp4:nimbus.fccf.net:25 exec:./heysmtp.py
2020/03/28 13:09:04.005497 length=48 from=0
to=47
220
nimbus.fccf.net ESMTP Postfix (Debian/GNU)\r
< 2020/03/28 13:09:04.018931 length=6 from=0 to=5
QUIT\r
2020/03/28 13:09:04.035387 length=15 from=48
to=62
221 2.0.0 Bye\r
[roam@straylight ~]$
All the output was actually from socat because of the "-v" option
specified.
...but, of course, this is still not what Derek was talking about
earlier - there is no separation of the file descriptors connected to
the socket: closing the stdout one would not result in a FIN being sent
along the line.
G'luck,
Peter
--
Peter Pentchev roam(a){ringlet.net,debian.org,FreeBSD.org} pp(a)storpool.com
PGP key: