I need the advice of a unix guru. I've been trying to create a man in the middle situation using NC and piped output. I tried nc -l -p 81 | nc x.x.x.1 80 | nc -l -p 81 but that isnt able to bind to the same port as the first one. I can't seem to get the connection to go both ways. Here is an example of what I have tried against my routers administration page to test bash-2.02# tail -f /var/hack/io | nc -l -p 82 &  574 bash-2.02# nc x.x.x.1 80 > /var/hack/io Code: GET / HTTP/1.1 Host: 172.18.19.51:82 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1. 070725 Firefox/18.104.22.168 Accept: text/xml,application/xml,application/xhtml+xml,text/html; n;q=0.8,image/png,*/*;q=0.5 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive [b]At which point I get an error page in the browser I break out of the command and the error page is exactly what is in my IO file[/b] bash-2.02# cat /var/hack/io HTTP/1.0 400 Bad Request Server: httpd Date: Tue, 14 Aug 2007 23:42:22 GMT Content-Type: text/html Connection: close <HTML><HEAD><TITLE>400 Bad Request</TITLE></HEAD> <BODY BGCOLOR="#cc9999"><H4>400 Bad Request</H4> No request found. </BODY></HTML> Does this mean my "tunnel" is working but tail is saying "file truncated" when the connection is established which is confusing everything?