Wednesday, July 27, 2022

[SOLVED] Example of using named pipes in Linux shell (Bash)

Issue

Can someone post a simple example of using named pipes in Bash on Linux?


Solution

One of the best examples of a practical use of a named pipe...

From http://en.wikipedia.org/wiki/Netcat:

Another useful behavior is using netcat as a proxy. Both ports and hosts can be redirected. Look at this example:

nc -l 12345 | nc www.google.com 80

Port 12345 represents the request.

This starts a nc server on port 12345 and all the connections get redirected to google.com:80. If a web browser makes a request to nc, the request will be sent to google but the response will not be sent to the web browser. That is because pipes are unidirectional. This can be worked around with a named pipe to redirect the input and output.

mkfifo backpipe
nc -l 12345  0<backpipe | nc www.google.com 80 1>backpipe


Answered By - Brian Clements
Answer Checked By - Katrina (WPSolving Volunteer)