使用netcat(nc)作为HTTP代理服务器和监视器

Lan*_*uhn 16 unix linux bash tcp http

是否可以使用Unix netcat(nc)程序来创建TCP代理服务器和监视器?我希望所有TCP流量都通过管道传递,并发送到stdout进行监控.请注意,这将用于监视硬件设备和HTTP服务器之间的HTTP流量.

Ant*_*tin 16

刚才有需要.你可以在这里找到答案(法语):http://www.linux-france.org/~mdecore/linux/doc/memo2/node168.html

mknod backpipe p
nc -l -p 80 < backpipe | tee -a in | nc localhost 8080 | tee -a out.html > backpipe
Run Code Online (Sandbox Code Playgroud)

这将侦听端口80并在端口8080上重定向.传入的流量将出现在in文件中,传出的流量将存在于文件中.out.html连接需要命名管道才能进行双向连接.

  • 是的,所以你被迫给出一个主机名,以便为第一个nc指定一个端口.我刚刚使用命令`nc -l localhost 8080 <backpipe |进行了测试 tee -a in | nc stackoverflow.com 80 | tee -a out.html> backpipe`然后在http:// localhost:8080 /打开一个标签工作正常,除了处理stackexchange部分的虚拟主机困惑并且不知道该怎么做. (3认同)

Jé *_*eue 0

当然,您可以使用它或一faucet|hose对,但是当您可以使用最小的 Apache 实例执行完全相同的操作并提供功能更齐全的分析集时,为什么还要这样做呢?